https://bugs.winehq.org/show_bug.cgi?id=55560 Eric Pouech <eric.pouech(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech(a)gmail.com See Also| |https://sourceware.org/bugz | |illa/show_bug.cgi?id=30853 --- Comment #1 from Eric Pouech <eric.pouech(a)gmail.com> --- got a look at it... it times out because the dwarf unwinder in dbghelp returns success but doesn't get an update of RIP in context... so it keeps on calling the unwinder, staying at same address the offending function (in ntdll) is one of the syscall thunk generated by winebuild very strangely, it uses this CIE (from dwarfdump) 00000000 0000000000000014 ffffffff CIE Version: 1 Augmentation: "" Code alignment factor: 1 Data alignment factor: -8 Return address column: 32 DW_CFA_def_cfa: r7 (rsp) ofs 8 DW_CFA_offset: r32 (xmm15) at cfa-8 DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop so, xmm15 instead of rip gets updated by the dwarf unwinder. Note its cross-assembler that generates that buggy information (local as gives the expected one). I filled a bug report to binutils (and perhaps its already fixed) I see two workarounds: - check in stack unwinding that Rip has been changed (if not). that works (could be a good idea anyway to prevent infinite loops for any reasons). - force in winebuild the correct register information for each .cfi_startproc directive. that works too (even we pile up register info in CIE) 00000000 0000000000000018 00000000 CIE Version: 1 Augmentation: "zR" Code alignment factor: 1 Data alignment factor: -8 Return address column: 32 Augmentation data: 1b DW_CFA_def_cfa: r7 (rsp) ofs 8 DW_CFA_offset: r32 (xmm15) at cfa-8 DW_CFA_def_cfa: r7 (rsp) ofs 8 DW_CFA_offset: r16 (rip) at cfa-8 DW_CFA_nop -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.