https://bugs.winehq.org/show_bug.cgi?id=52790
Bug ID: 52790 Summary: winedbg 'bt all' filled with dbghelp_dwarf fixmes Product: Wine Version: 6.6 Hardware: x86-64 OS: Linux Status: NEW Keywords: download, regression, source Severity: normal Priority: P2 Component: winedbg Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com Distribution: Debian
First, run any wine app $ wine notepad
Then, try to run `bt all`: austin@hyrule:~$ echo "bt all" | winedbg Wine-dbg>02d4:fixme:dbghelp_dwarf:dwarf2_read_range no entry found RtlDefaultNpAcl () at Z:\home\austin\wine-git\dlls\ntdll\sec.c:1731 0x7bc53821 ntdll+0x53821 [Z:\home\austin\wine-git\dlls\ntdll\sec.c:1731]: ret 1731 }
Backtracing for thread 0024 in process 0020 (C:\windows\system32\start.exe): Backtrace: =>0 0x7bc0be6c CsrAllocateCaptureBuffer+0xae6c() in ntdll (0x0031fd58) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 1 0x7b073b7e WaitForSingleObject+0x39(handle=<internal error>, timeout=<internal error>) [Z:\home\austin\wine-git\dlls\kernelbase\sync.c:334] in kernelbase (0x0031fd98) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 02d4:fixme:dbghelp_dwarf:compute_call_frame_cfa Too complex expression for frame_CFA resolution (RULE_VAL_EXPRESSION) 2 0x00402804 wmain+0xa14(argc=<internal error>, argv=<internal error>) [Z:\home\austin\wine-git\programs\start\start.c:701] in start (0x0031fef8) 3 0x004038d8 wmainCRTStartup+0x68() [Z:\home\austin\wine-git\dlls\msvcrt\crt_wmain.c:60] in start (0x0031ff30) 4 0x7b62d310 WriteTapemark+0x100(device=7FFD1000, type=<is not available>, count=<is not available>, immediate=<is not available>) [Z:\home\austin\wine-git\dlls\kernel32\tape.c:317] in ker nel32 (0x0031ff48) 5 0x7bc58ca7 RtlWakeConditionVariable+0x57(variable=7B62D300) [Z:\home\austin\wine-git\dlls\ntdll\sync.c:757] in ntdll (0x0031ff5c) 6 0x7bc59360 RtlCreateUserThread(entry=00403870, arg=7FFD1000) [Z:\home\austin\wine-git\dlls\ntdll\thread.c:261] in ntdll (0x0031ffec) 02d4:fixme:dbghelp_dwarf:dwarf2_read_range no entry found 0x7bc53821 ntdll+0x53821 [Z:\home\austin\wine-git\dlls\ntdll\sec.c:1731]: ret 1731 }
with WINEDEBUG=-all, it's much more readable: Backtracing for thread 0024 in process 0020 (C:\windows\system32\start.exe): Backtrace: =>0 0x7bc0be6c CsrAllocateCaptureBuffer+0xae6c() in ntdll (0x0031fd58) 1 0x7b073b7e WaitForSingleObject+0x39(handle=<internal error>, timeout=<internal error>) [Z:\home\austin\wine-git\dlls\kernelbase\sync.c:334] in kernelbase (0x0031fd98) 2 0x00402804 wmain+0xa14(argc=<internal error>, argv=<internal error>) [Z:\home\austin\wine-git\programs\start\start.c:701] in start (0x0031fef8) 3 0x004038d8 wmainCRTStartup+0x68() [Z:\home\austin\wine-git\dlls\msvcrt\crt_wmain.c:60] in start (0x0031ff30) 4 0x7b62d310 WriteTapemark+0x100(device=7FFD1000, type=<is not available>, count=<is not available>, immediate=<is not available>) [Z:\home\austin\wine-git\dlls\kernel32\tape.c:317] in ker nel32 (0x0031ff48) 5 0x7bc58ca7 RtlWakeConditionVariable+0x57(variable=7B62D300) [Z:\home\austin\wine-git\dlls\ntdll\sync.c:757] in ntdll (0x0031ff5c) 6 0x7bc59360 RtlCreateUserThread(entry=00403870, arg=7FFD1000) [Z:\home\austin\wine-git\dlls\ntdll\thread.c:261] in ntdll (0x0031ffec) 0x7bc53821 ntdll+0x53821 [Z:\home\austin\wine-git\dlls\ntdll\sec.c:1731]: ret 1731 }
https://bugs.winehq.org/show_bug.cgi?id=52790
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |9768ea5637ea70befab5d61330d | |106a62a5a9c33 CC| |austinenglish@gmail.com, | |eric.pouech@orange.fr
--- Comment #1 from Austin English austinenglish@gmail.com --- 9768ea5637ea70befab5d61330d106a62a5a9c33 is the first bad commit commit 9768ea5637ea70befab5d61330d106a62a5a9c33 Author: Eric Pouech eric.pouech@gmail.com Date: Tue Sep 28 17:21:37 2021 +0200
dbghelp/dwarf: Bump max supported version (by default) up to 4.
Signed-off-by: Eric Pouech eric.pouech@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #2 from Austin English austinenglish@gmail.com --- Created attachment 72189 --> https://bugs.winehq.org/attachment.cgi?id=72189 downgrade a couple FIXMEs
This makes backtraces readable for my default usecase.
What do you think Eric?
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #3 from Eric Pouech eric.pouech@orange.fr --- (In reply to Austin English from comment #2)
Created attachment 72189 [details] downgrade a couple FIXMEs
This makes backtraces readable for my default usecase.
What do you think Eric?
for the first one (about low/hi adress for a function), there's not much more we can do about it, to fixme=>warn sounds ok to me for the second one, it seems (after a cursory look) that we should be able to support better this dwarf construct, so I'd rather really fix the fixme rather than hide it
https://bugs.winehq.org/show_bug.cgi?id=52790
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor Summary|winedbg 'bt all' filled |winedbg 'bt all' filled |with dbghelp_dwarf fixmes |with dbghelp_dwarf | |RULE_VAL_EXPRESSION fixmes
--- Comment #4 from Austin English austinenglish@gmail.com --- (In reply to Eric Pouech from comment #3)
(In reply to Austin English from comment #2)
Created attachment 72189 [details] downgrade a couple FIXMEs
This makes backtraces readable for my default usecase.
What do you think Eric?
for the first one (about low/hi adress for a function), there's not much more we can do about it, to fixme=>warn sounds ok to me
Done: https://source.winehq.org/git/wine.git/commitdiff/8d3ca2130af3175c8f705b66c4...
for the second one, it seems (after a cursory look) that we should be able to support better this dwarf construct, so I'd rather really fix the fixme rather than hide it
I'll leave that to you :).
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #5 from Eric Pouech eric.pouech@orange.fr --- Getting back to this one...
perhaps I've been a bit too optimistic :-(
when I get these messages: - it's always on a 32bit debuggee - and the info we can't grok is always the very same pattern
Unfortunately, I don't see a way to integrate that computing into the dbghelp API structure
Not that the computation is not doable - all the required code is already in place - but we need the actual CPU context which isn't passed as input parameter in these offending dbghelp requests
Anyway, I want to be sure that I didn't miss some other situations: - can you confirm it's only 32bit for the time being? - if possible can you retry with the attached patch: + it should silence output (changing error in backtrace from internal to can't compute; it doesn't make a difference for the user, but it's a bit clearer) + but generate output if it doesn't match the only pattern I've encountered; just to check what could be done
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #6 from Eric Pouech eric.pouech@orange.fr --- Created attachment 73241 --> https://bugs.winehq.org/attachment.cgi?id=73241 patch to support investigation
for testing only
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #7 from Austin English austinenglish@gmail.com --- (In reply to Eric Pouech from comment #5)
Anyway, I want to be sure that I didn't miss some other situations:
- can you confirm it's only 32bit for the time being?
Yes, that seems to be the case here as well.
- if possible can you retry with the attached patch:
- it should silence output (changing error in backtrace from internal to
can't compute; it doesn't make a difference for the user, but it's a bit clearer)
- but generate output if it doesn't match the only pattern I've
encountered; just to check what could be done
Yep, seems to work here, 'bt all' looks like it did before the regression.
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #8 from Eric Pouech eric.pouech@orange.fr --- thanks, I push the patch for silencing the fixme (strange, I didn't get any mail notification from #6)
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #9 from Eric Pouech eric.pouech@orange.fr --- and from #1, you can also use:
winedbg --command 'bt all'
to pass commands to winedbg from shell
https://bugs.winehq.org/show_bug.cgi?id=52790
Eric Pouech eric.pouech@orange.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |0c3d78269f9a463bf43bebdf08d | |b368aef484cca
--- Comment #10 from Eric Pouech eric.pouech@orange.fr --- should be silenced by commit 0c3d78269f9a463bf43bebdf08db368aef484cca
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #11 from Austin English austinenglish@gmail.com --- (In reply to Eric Pouech from comment #10)
should be silenced by commit 0c3d78269f9a463bf43bebdf08db368aef484cca
Confirmed, thanks Eric!
https://bugs.winehq.org/show_bug.cgi?id=52790
--- Comment #12 from Austin English austinenglish@gmail.com --- (In reply to Eric Pouech from comment #8)
thanks, I push the patch for silencing the fixme (strange, I didn't get any mail notification from #6)
Yeah, there were a bunch of queued up emails that got released a couple days ago..
https://bugs.winehq.org/show_bug.cgi?id=52790
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.20.