Closed Bug 406998 Opened 17 years ago Closed 16 years ago

Incorrect line number in Linux stack - inlined methods not handled properly

Categories

(Toolkit :: Crash Reporting, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: bzbarsky, Unassigned)

References

()

Details

(Whiteboard: fixed upstream)

See URL in URL field.  In frame 0, the line number listed is not inside the function listed when looking at the relevant file version.
This looks very similar to the issues in bug 394031 (which was on mac):
FUNC 25dba0 1f0 0 nsXULPopupManager::HandleKeyboardNavigation(unsigned int)
25dba0 14 1421 341
25dbb4 b 1426 341
25dbbf 2 1428 341
25dbc1 3 1426 341
25dbc4 6 1428 341
25dbca 6 207 341
25dbd0 4 1432 341
25dbd4 6 1434 341
25dbda 2 199 341
25dbdc f 1440 341
25dbeb 8 697 341

The third field there is line number, note how it starts at 1421 and then randomly hits 697 down below.  There are other similarly wrong numbers in the rest of the output.  Unfortunately the symbol dumping code is a real pain to debug, being all deep in stabs as it is.
Ted, is there a line in the dump that's pointing to line number 584?  If so, what are the lines near it?  At least I could get this crash narrowed to a few lines...
The context around the line that mentions 584 is:

25dcf9 3 1488 341
25dcfc 5 1476 341
25dd01 7 1488 341
25dd08 3 584 341
25dd0b 2 626 341
25dd0d 3 495 341
25dd10 2 626 341
25dd12 8 627 341
25dd1a 22 1482 341

I don't know if that's actually helpful or not.
Yeah, that's not that helpful.  :(  1488 is the end of the function.
This is being tracked upstream:
http://code.google.com/p/google-breakpad/issues/detail?id=235

Liu Li looked into this for me:
"I've looked into this, the line 584 is from file:
/builds/tinderbox/SeaMonkey-Trunk/Linux_2.6.18-8.el5_Depend/mozilla/layout/xul/base/src/../../../generic/nsIFrame.h

This is a typical inline case.
The problem here is the symbol file format we are using in breakpad don't have the capacity to represents inlined sources,
although stabs has it. When writing into our symbol file, the inline information is discarded.
We can propose a fix to this."

I bet we're seeing the same thing in bug 394031.
Excellent!  Just knowing where that was inlined from let me track down bug 404237.  Thanks a ton!
This is fixed upstream, we'll get it the next time we sync up.
Summary: Incorrect line number in Linux stack → Incorrect line number in Linux stack - inlined methods not handled properly
Whiteboard: fixed upstream
Should be fixed in the next nightly, I updated our Breakpad code in bug 419346.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.