https://bugs.winehq.org/show_bug.cgi?id=47230
Bug ID: 47230 Summary: Provide hint in crash report module table to distinguish between Wine builtins cross-compiled to PE format and native overrides Product: Wine Version: 4.8 Hardware: x86-64 OS: Linux Status: NEW Severity: enhancement Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as it says. Future Wine releases/builds will provide builtin modules by default in PE format. It will be harder to diagnose crash logs if users put native overrides in place as the modules table no longer provides the obvious hints in case of non-core / overridable dlls (ELF-PE hybrid, DWARF, load address range, 'name-<elf>').
Take bug 47226 for example:
--- snip --- ... Modules: Module Address Debug info Name (160 modules) PE 130000- 13d000 Deferred ilmthread-2_2 PE 250000- 29b000 Deferred qt5winextras PE 2a0000- 6f7000 Deferred qt5gui PE 700000- 8f3000 Deferred libglesv2 PE 900000- e51000 Deferred qt5widgets PE e60000- e7e000 Deferred zlibwapi PE e80000- ef6000 Deferred lcms2 PE f00000- 11c2000 Deferred ilmimf-2_2 PE 11d0000- 1219000 Deferred half PE 1220000- 1236000 Deferred iex-2_2 PE 1240000- 1258000 Deferred imath-2_2 PE 1260000- 1389000 Deferred libraw PE 15f0000- 1721000 Deferred qwindows PE 1840000- 184d000 Deferred qico PE 1850000- 1890000 Deferred qjpeg PE 1890000- 18ec000 Deferred qtiff PE 61000000- 61034000 Deferred qt5xml PE 64000000- 640d3000 Deferred qt5network PE 65100000- 651a7000 Deferred msvcp110 PE 66500000- 66523000 Deferred vcomp110 PE 67000000- 67551000 Deferred qt5core ELF 7a800000- 7aa10000 Deferred opengl32<elf> -PE 7a850000- 7aa10000 \ opengl32 ELF 7b400000- 7b85b000 Dwarf kernel32<elf> -PE 7b420000- 7b85b000 \ kernel32 ELF 7bc00000- 7bd54000 Deferred ntdll<elf> -PE 7bc20000- 7bd54000 \ ntdll ELF 7c000000- 7c004000 Deferred <wine-loader> PE 140000000- 1403ee000 Deferred easyhdr3 PE 180000000- 18004a000 Deferred openjp2 ... ELF 7f86d5ec7000- 7f86d5ef3000 Deferred version<elf> -PE 7f86d5ed0000- 7f86d5ef3000 \ version ELF 7f86d5ef3000- 7f86d6298000 Dwarf libwine.so.1 ELF 7f86d629a000- 7f86d64c3000 Deferred ld-linux-x86-64.so.2 ELF 7ffc37f2a000- 7ffc37f2b000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) ... 00000058 (D) C:\Program Files\easyHDR 3 Demo\easyHDR3.exe ... 00000070 0 <== ... --- snip ---
Here, 'msvcp110.dll' and 'vcomp110.dll' are Wine builtins in PE format.
I propose to add a hint in the table for Wine builtin modules in PE format for easier diagnosis of crash reports.
$ wine --version wine-4.8-202-g61aea5a987
Regards
https://bugs.winehq.org/show_bug.cgi?id=47230
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
For Wine PE builtins it will display 'PDB' now if the module is part of the call chain in the current exception context and symbol files have been generated via llvm-mingw.
Another example, from bug 39463
--- snip --- $ wine ./HealthCoach.exe ... Unhandled exception: page fault on execute access to 0x00000a29 in 32-bit code (0x00000a29). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:00000a29 ESP:025bfd88 EBP:025bfe2c EFLAGS:00210206( R- -- I - -P- ) EAX:025bfda0 EBX:8007000e ECX:00000000 EDX:00000000 ESI:ffffffff EDI:01b6f338 ... Backtrace: =>0 0x00000a29 (0x025bfe2c) 1 0x02be7ff6 exec_global_code+0x205() [Z:\home\focht\projects\wine\mainline-src\dlls\vbscript\vbscript.c:2147483824] in vbscript (0x025bfe70) 2 0x0032ee18 (0x025bfe70) 3 0x02be75fe VBScript_SetScriptState+0x15d() [Z:\home\focht\projects\wine\mainline-src\dlls\vbscript\vbscript.c:2147484205] in vbscript (0x025bfea0) 4 0x7ad9c781 (0x025bfea0) 5 0x004a00f5 call_script+0x224() [Z:\home\focht\projects\wine\mainline-src\dlls\msi\script.c:2147484002] in msi (0x025bff0c) 6 0x7ad9c781 (0x025bff0c) 7 0x00463bac ScriptThread+0x19b() [Z:\home\focht\projects\wine\mainline-src\dlls\msi\custom.c:2147484721] in msi (0x025bff4c) 8 0x7ad9c781 (0x025bff4c) 9 0x7bcb01fc call_thread_func_wrapper+0xb() in ntdll (0x025bff5c) 10 0x7bcb37d7 call_thread_func+0x86() [Z:\home\focht\projects\wine\mainline-src\dlls\ntdll\signal_i386.c:2690] in ntdll (0x025bffdc) 11 0x7bcb01ee call_thread_entry+0x9() in ntdll (0x025bffec) 0x00000a29: -- no code accessible -- Modules: Module Address Debug info Name (134 modules) PE 330000- 343000 Deferred version PE 350000- 3e0000 Deferred shlwapi PE 3e0000- 400000 Deferred odbccp32 PE 400000- 434000 Deferred msiexec PE 440000- 75f000 PDB msi PE 760000- 8e9000 Deferred urlmon ... PE 1650000- 165c000 Deferred api-ms-win-crt-runtime-l1-1-0 ... PE 2930000- 297a000 Deferred propsys PE 2bc0000- 2cc7000 PDB vbscript PE 2cd0000- 2d1a000 Deferred wbemdisp PE 2d20000- 2d46000 Deferred wmiutils PE 2d50000- 2e10000 Deferred wbemprox PE 10000000-101c1000 Deferred kernelbase PE 603b0000-60416000 Deferred mscoreei PE 79000000-7904a000 Deferred mscoree ELF 7a800000-7a944000 Deferred opengl32<elf> -PE 7a840000-7a944000 \ opengl32 ELF 7b400000-7b670000 Deferred kernel32<elf> -PE 7b420000-7b670000 \ kernel32 ... ELF 7bc00000-7beb1000 Dwarf ntdll<elf> -PE 7bc30000-7beb1000 \ ntdll ... ELF 7c000000-7c004000 Deferred <wine-loader> ... ELF 7ccd8000-7cd5f000 Deferred dbghelp<elf> -PE 7ccf0000-7cd5f000 \ dbghelp ... ELF f7d47000-f7ef9000 Dwarf libwine.so.1 ELF f7efb000-f7f24000 Deferred ld-linux.so.2 ELF f7f27000-f7f28000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 00000008 HealthCoach.exe 00000009 0 ... 0000002b (D) C:\windows\system32\msiexec.exe 0000003d 0 0000003a 0 <== 00000034 0 00000033 0 00000032 0 0000002d 0 0000002c 0 ... --- snip ---
It still not easy to guess if a native override is present or not, especially if the module(s) are not part of the call chain in the current exception context.
$ wine --version wine-5.0-rc4
Regards
https://bugs.winehq.org/show_bug.cgi?id=47230
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=47230
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x@gmail.com
--- Comment #2 from Louis Lenders xerox.xerox2000x@gmail.com --- +1
Works better I guess than having to ask repeadetely "Do you have any native dlls installed" and hoping for an answer, see https://bugs.winehq.org/show_bug.cgi?id=52352, which I guess is caused by yet another example setting some collection of native dlls...
Are there any plans on adding this?
Or maybe we could just add the contents of the Dlloverrides registry key to the crash log ( or wouldn`t that suffice)?