Open Bug 637665 Opened 9 years ago Updated 9 years ago

STACK CFI entries repeated in symbols files


(Toolkit :: Crash Reporting, defect)

Not set




(Reporter: glandium, Unassigned)


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
$ grep ^STACK  | 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.
You need to log in before you can comment on or make changes to this bug.