zhangfenglin / google-breakpad

Automatically exported from code.google.com/p/google-breakpad
0 stars 0 forks source link

Segmentation faul in dump_syms on Mac OS X #614

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
* Affected revisions: >= 1359 (also current 1400)

* How to reproduce: ./dump_syms /usr/lib/libsystem.dylib

dump_syms fails to dump symbols with segmentation fault on Mac OS X with back 
trace:

    frame #0: 0x9b41d0a4 libobjc.A.dylib`objc_msgSend + 20
    frame #1: 0x975f2c66 Foundation`-[NSFileManager fileExistsAtPath:] + 58
    frame #2: 0x001300df BreakpadDumpSymbols`google_breakpad::DumpSymbols::Read(this=0xbff59768, filename=0x0000000e) + 111 at dump_syms.mm:88
    frame #3: 0x001225c5 BreakpadDumpSymbols`Start(options=0xbff59be8) + 277 at dump_syms_tool.mm:119
    frame #4: 0x00122124 BreakpadDumpSymbols`main(argc=2, argv=0xbff59c3c) + 148 at dump_syms_tool.mm:251
    frame #5: 0x000a9ab5 BreakpadDumpSymbols`start + 53

* This problem seems to be introduced by commit 1359: constructor of "struct 
Option" in dump_syms_tool.mm is missing initialization of newly added 
"dsymPath" field which leads to usage of invalid memory in case dsymPath is not 
specified as command line parameter.

Original issue reported on code.google.com by kosorinsky@gmail.com on 5 Nov 2014 at 9:12

GoogleCodeExporter commented 9 years ago

Original comment by thestig@chromium.org on 5 Nov 2014 at 9:16

GoogleCodeExporter commented 9 years ago
Thanks. I can't repro the crash, but this is definitely a UMR. What toolchain 
are you using?

Original comment by rsesek@chromium.org on 5 Nov 2014 at 5:08

GoogleCodeExporter commented 9 years ago
https://code.google.com/p/google-breakpad/source/detail?r=1401

Original comment by rsesek@chromium.org on 5 Nov 2014 at 5:42

GoogleCodeExporter commented 9 years ago
It was crashing on 10.10 with currently newest clang++ and was not crashing 
when compiled with older clang available in 10.9.5 or 10.8.4.

Also it was not crashing when executed "inside" debugger -> so I was definitely 
very unlucky to experience this :)

Original comment by kosorinsky@gmail.com on 5 Nov 2014 at 6:08