Git Product home page Git Product logo

Comments (10)

matthew-olson-intel avatar matthew-olson-intel commented on September 24, 2024 1

No problem: I'll just mail you my laptop, and then it'll work for both of us!

from blazesym.

matthew-olson-intel avatar matthew-olson-intel commented on September 24, 2024 1

Realized that I was going by the line numbers in your original diff, which at the present moment is in symbolize_gsym, so wasn't testing symbolize_dwarf at all. Same result as you now.

Is this worth focusing on, if we'll use gimli soon?

from blazesym.

matthew-olson-intel avatar matthew-olson-intel commented on September 24, 2024

Is this issue solved? I tried reproducing, and the assertion succeeds-- it finds that factorial was defined on line 8 of test-stable-addresses.c.

from blazesym.

d-e-s-o avatar d-e-s-o commented on September 24, 2024

Is this issue solved? I tried reproducing, and the assertion succeeds-- it finds that factorial was defined on line 8 of test-stable-addresses.c.

Interesting. It still does not work for me. I haven't looked into it more than that, though.

Edit: CI seems to concur that it's not working: https://github.com/d-e-s-o/blazesym/actions/runs/5046482841/jobs/9052058258#step:6:165

from blazesym.

d-e-s-o avatar d-e-s-o commented on September 24, 2024

No problem: I'll just mail you my laptop, and then it'll work for both of us!

;-) Could you attach your system's data/test-dwarf.bin, then I could compare binaries? I suspect this will all get addressed once we switch to gimli, which hopefully is not so far out anymore at this point.

from blazesym.

danielocfb avatar danielocfb commented on September 24, 2024

Ah, that explains it. Thanks!

Is this worth focusing on, if we'll use gimli soon?

I was just curious if there was some non-deterministic behavior causing it to work on your system but not mine that I'd have wanted to investigate. But given that as you state it's not working for you either it's probably best to just wait for the gimli conversion.

from blazesym.

matthew-olson-intel avatar matthew-olson-intel commented on September 24, 2024

The root of the problem is that ElfCacheEntry::new calls DwarfResolver::from_parser_for_addresses with an empty addresses argument:

That function never gets called again, so DwarfResolver::addr_to_dlcu, and thus DwarfResolver::debug_line_cus, is always empty.

from blazesym.

d-e-s-o avatar d-e-s-o commented on September 24, 2024

Oh nice, thanks for digging into it! Feel free to open a PR if you have a fix in mind. Otherwise I'll look into it soon.

from blazesym.

d-e-s-o avatar d-e-s-o commented on September 24, 2024

So it seem the empty addresses stuff is actually fine: the semantics are that if no addresses are provided, all line information is gathered. The problem is more that we see an invalid extended op code, can't handle it, and then swallow the error (!!!).

invalid extended opcode (ip=0x23, insn_size=0x0)

So yes, this will need to wait until we transition to gimli...

from blazesym.

matthew-olson-intel avatar matthew-olson-intel commented on September 24, 2024

Ach, you're right. I briefly looked into debugging it, but I've no experience with the DWARF FSM: definitely worth waiting for gimli.

from blazesym.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.