dbghelp: Workaround for crash in debugger while parsing dwarf2

Paul Chitescu pchitescu at voip.null.ro
Tue Sep 12 18:07:51 CDT 2006


Changelog: Workaround for a crash that occurs in debugger while parsing dwarf2 
information.

This avoids the debugger crashing forever in a loop but it's not a clean 
solution.

The (fixed) crash looks like this:
fixme:dbghelp_dwarf:dwarf2_compute_location Unhandled attr op: 75
trace:dbghelp_dwarf:dwarf2_parse_variable found parameter uu/0 (reg=-1) at 
ctx(0x34f040,ntdll<elf>)
trace:dbghelp_dwarf:dwarf2_parse_variable ctx(0x34f040,ntdll<elf>), for 
debug_info(offset:0x53d,abbrev:0x7203c4,symt:(nil))
wine: Unhandled page fault on read access to 0x0000006e at address 0x60529a01 
(thread 000f), starting debugger...

With the patch there are lots of fixmes:
fixme:dbghelp_dwarf:dwarf2_compute_location Unhandled attr op: 75
fixme:dbghelp_dwarf:dwarf2_parse_variable Invalid block location 0x6e at 
ctx(0x34f040,ntdll<elf>)
fixme:dbghelp_dwarf:dwarf2_parse_variable Invalid block location 0x96 at 
ctx(0x34f040,ntdll<elf>)
...
fixme:dbghelp_dwarf:dwarf2_parse_variable Invalid block location 0x5b5 at 
ctx(0x34f040,ntdll<elf>)
fixme:dbghelp_dwarf:dwarf2_parse_variable Invalid block location 0x72f at 
ctx(0x34f040,ntdll<elf>)
...

But at least the debugger survives and displays useful information (I hope 
so ;-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dbghelp_dwarf2_invalid_block.patch
Type: text/x-diff
Size: 662 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060913/03a3cc9b/dbghelp_dwarf2_invalid_block-0003.bin


More information about the wine-patches mailing list