Closed Bug 637665 Opened 14 years ago Closed 4 years ago

STACK CFI entries repeated in symbols files

Categories

(Toolkit :: Crash Reporting, defect)

All
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: glandium, Unassigned)

Details

When running minidump_stack, one can see a lot of log entries like: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x222440+0x2, existing 0x222440+0x2 Apparently, this is due to a lot of STACK CFI entries being repeated in the .sym files. For example, taking the last nightly libxul.so.sym: http://symbols.mozilla.org/firefox/libxul.so/65C7FFCA13C8DFD82F235C4BAA965EB30/libxul.so.sym $ grep ^STACK libxul.so.sym | sort | uniq -c | sort -n | awk '{print $1}' | uniq -c | tail -10 1 133 14 138 3 139 37 156 1 192 1 262 1 275 17 430 1 434 16 467 This awful command line displays the number (#1) of single lines that are repeated #2 times. e.g. the last line reads: 16 lines are repeated 467 times.
(Seems like a pretty great command line to me!) I'd like to know how this stuff gets in there in the first place, but the fix seems pretty clear: change stack_frame_entries_ from a vector to a set, with a comparison operator on StackFrameEntry that compares the initial_rules and rule_changes members as well as the addresses and sizes. If we have different entries for the same address range, that will still get complaints from range_map-inl.h, but it'll be a genuinely interesting problem.

This was fixed along the way, I checked with a few recent symbol files for libxul and there's no duplications anymore.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.