https://bugs.winehq.org/show_bug.cgi?id=43486
Bug ID: 43486 Summary: Winamp file dialog crashes in shell32 SHGetFileInfoW Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: shell32 Assignee: wine-bugs@winehq.org Reporter: averageradical@gmail.com Distribution: ---
Winamp used to work (wine 1.7.53-1) and upgrading to wine v2 caused crashes in the add file dialog, so I just kept excluding it from Fedora updates. However, now I upgraded to Fedora 26, and wine 1.7 is no longer available, so I'm trying to figure out the cause of the crashes. I uninstalled Fedora's wine and built wine from git and attached winedbg and here's the crash info:
$ WINEPREFIX="/home/kevin/.wine" wine winedbg "/home/kevin/.wine/dosdevices/c:/Program Files/Winamp/winamp.exe" Wine-dbg>set $BreakOnFirstChance=0 Wine-dbg>cont [...] Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00000000). fixme:dbghelp_dwarf:dwarf2_parse_const_type Unsupported children Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:00000000 ESP:0096698c EBP:009669d8 EFLAGS:00010212( R- -- I -A- - ) EAX:00000000 EBX:7e6e4000 ECX:00966990 EDX:021219e0 ESI:009669f0 EDI:0000001c Stack dump: 0x0096698c: 7e656b5f 021219e0 7e6b79ac 00966c2c 0x0096699c: 7e656ac9 0211ae60 0211ae60 00000002 0x009669ac: 021219e0 021222a0 021219e0 0211ae78 0x009669bc: 00000002 02120f58 00000000 00800000 0x009669cc: 009669f0 7e6e4000 00967180 00967168 0x009669dc: 7e6391d5 00d4d0c8 00808080 00ff0000 Backtrace: =>0 0x00000000 (0x009669d8) 1 0x7e6391d5 SHGetFileInfoW+0x9cf(path=<couldn't compute location>, dwFileAttributes=<couldn't compute location>, psfi=<couldn't compute location>, sizeofpsfi=<couldn't compute location>, flags=<couldn't compute location>) [/work/wine/src/dlls/shell32/shell32_main.c:662] in shell32 (0x00967168) 2 0x7e6398c1 SHGetFileInfoA+0xfb(path=<couldn't compute location>, dwFileAttributes=<couldn't compute location>, psfi=<couldn't compute location>, sizeofpsfi=<couldn't compute location>, flags=<couldn't compute location>) [/work/wine/src/dlls/shell32/shell32_main.c:797] in shell32 (0x00967488) 3 0xf6450590 FILEDLG95_InitControls+0x4b5(hwnd=0x802dc) [/work/wine/src/dlls/comdlg32/filedlg.c:1468] in comdlg32 (0x00967c88) 4 0xf644fb63 FileOpenDlgProc95+0xf0(hwnd=<couldn't compute location>, uMsg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/comdlg32/filedlg.c:1200] in comdlg32 (0x00967d38) 5 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x00967d78) 6 0x7e993d6a call_dialog_proc+0xb1(hwnd=0x802dc, msg=0x110, wp=0x102e4, lp=0x968510, result=0x967de4, arg=0xf644fa72) [/work/wine/src/dlls/user32/winproc.c:266] in user32 (0x00967db8) 7 0x7e995f6e WINPROC_CallDlgProcW+0x108(func=0xffff0055, hwnd=0x802dc, msg=0x110, wParam=0x102e4, lParam=0x968510) [/work/wine/src/dlls/user32/winproc.c:1055] in user32 (0x00967df8) 8 0x7e91a33a DefDlgProcW+0x85(hwnd=<couldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/user32/defdlg.c:430] in user32 (0x00967e48) 9 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x00967e88) 10 0x7e993c33 call_window_proc+0xb1(hwnd=0x802dc, msg=0x110, wp=0x102e4, lp=0x968510, result=0x967f6c, arg=0x7e91a2b4) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x00967ec8) 11 0x7e9959f4 WINPROC_call_window+0x148(hwnd=0x802dc, msg=0x110, wParam=0x102e4, lParam=0x968510, result=0x967f6c, unicode=0x1, mapping=WMCHAR_MAP_POSTMESSAGE) [/work/wine/src/dlls/user32/winproc.c:901] in user32 (0x00967f18) 12 0x7e95784c call_window_proc+0x9a(hwnd=0x802dc, msg=0x110, wparam=0x102e4, lparam=0x968510, unicode=0x1, same_thread=0x1, mapping=WMCHAR_MAP_POSTMESSAGE) [/work/wine/src/dlls/user32/message.c:2223] in user32 (0x00967f78) 13 0x7e95a22b send_message+0x12c(info=0x967ff0, res_ptr=0x96801c, unicode=0x1) [/work/wine/src/dlls/user32/message.c:3268] in user32 (0x00967fd8) 14 0x7e95a823 SendMessageW+0x61(hwnd=<couldn't compute location>, msg=<couldn't compute location>, wparam=<couldn't compute location>, lparam=<couldn't compute location>) [/work/wine/src/dlls/user32/message.c:3468] in user32 (0x00968028) 15 0x7e91efbc DIALOG_CreateIndirect+0xa64(hInst=0xf6440000, dlgTemplate=0xf64fe998, owner=0x30044, dlgProc=0xf644fa72, param=0x968510, unicode=0x1, modal_owner=0x9683a8) [/work/wine/src/dlls/user32/dialog.c:679] in user32 (0x00968348) 16 0x7e91f644 DialogBoxIndirectParamAorW+0x43(hInstance=<couldn't compute location>, template=<couldn't compute location>, owner=<couldn't compute location>, dlgProc=<couldn't compute location>, param=<couldn't compute location>, flags=<couldn't compute location>) [/work/wine/src/dlls/user32/dialog.c:871] in user32 (0x00968388) 17 0x7e91f6f0 DialogBoxIndirectParamW+0x35(hInstance=<couldn't compute location>, template=<couldn't compute location>, owner=<couldn't compute location>, dlgProc=<couldn't compute location>, param=<couldn't compute location>) [/work/wine/src/dlls/user32/dialog.c:892] in user32 (0x009683c8) 18 0xf644dde0 GetFileName95+0x480(fodInfos=0x968510) [/work/wine/src/dlls/comdlg32/filedlg.c:306] in comdlg32 (0x009684c8) 19 0xf644e2c6 GetFileDialog95+0x63(info=0x968510, dlg_type=0x2) [/work/wine/src/dlls/comdlg32/filedlg.c:464] in comdlg32 (0x009684f8) 20 0xf64566d6 GetOpenFileNameW+0xfb(ofn=<couldn't compute location>) [/work/wine/src/dlls/comdlg32/filedlg.c:4066] in comdlg32 (0x009685b8) 21 0x0041532b in winamp (+0x1532a) (0x00968b70) 22 0x0044bd1d in winamp (+0x4bd1c) (0x0096c6b8) 23 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x0096c6e8) 24 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x111, wp=0x408, lp=0, result=0x96c758, arg=0x44b77f) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x0096c728) 25 0x7e995bcb CallWindowProcA+0x5b(func=<couldn't compute location>, hwnd=<couldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/user32/winproc.c:964] in user32 (0x0096c778) 26 0x1000154c in unicodetaskbarfix.w5s (+0x154b) (0x0096c79c) 27 0x07bde60b in ml_local (+0x2e60a) (0x00972a28) 28 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x00972a58) 29 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x111, wp=0x408, lp=0, result=0x972ac8, arg=0x7bde3e8) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x00972a98) 30 0x7e995cb8 CallWindowProcW+0x5b(func=<couldn't compute location>, hwnd=<couldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/user32/winproc.c:990] in user32 (0x00972ae8) 31 0x07c618e0 in ml_playlists (+0x118df) (0x00972bd8) 32 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x00972c08) 33 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x111, wp=0x408, lp=0, result=0x972c78, arg=0x7c6171b) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x00972c48) 34 0x7e995cb8 CallWindowProcW+0x5b(func=<couldn't compute location>, hwnd=<couldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/user32/winproc.c:990] in user32 (0x00972c98) 35 0x01c8ae3c in gen_jumpex (+0xae3b) (0x00972d38) 36 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x00972d68) 37 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x111, wp=0x408, lp=0, result=0x97337c, arg=0x1c8a71f) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x00972da8) 38 0x7e994c2d WINPROC_CallProcAtoW+0xca5(callback=0x7e993b81, hwnd=0x10110, msg=0x111, wParam=0x408, lParam=0, result=0x97337c, arg=0x1c8a71f, mapping=WMCHAR_MAP_SENDMESSAGE) [/work/wine/src/dlls/user32/winproc.c:604] in user32 (0x009732d8) 39 0x7e995b06 WINPROC_call_window+0x25a(hwnd=0x10110, msg=0x111, wParam=0x408, lParam=0, result=0x97337c, unicode=0, mapping=WMCHAR_MAP_SENDMESSAGE) [/work/wine/src/dlls/user32/winproc.c:916] in user32 (0x00973328) 40 0x7e95784c call_window_proc+0x9a(hwnd=0x10110, msg=0x111, wparam=0x408, lparam=0, unicode=0, same_thread=0x1, mapping=WMCHAR_MAP_SENDMESSAGE) [/work/wine/src/dlls/user32/message.c:2223] in user32 (0x00973388) 41 0x7e95a22b send_message+0x12c(info=0x973400, res_ptr=0x97342c, unicode=0) [/work/wine/src/dlls/user32/message.c:3268] in user32 (0x009733e8) 42 0x7e95a89c SendMessageA+0x68(hwnd=<couldn't compute location>, msg=<couldn't compute location>, wparam=<couldn't compute location>, lparam=<couldn't compute location>) [/work/wine/src/dlls/user32/message.c:3490] in user32 (0x00973438) 43 0x00446828 in winamp (+0x46827) (0x0097347c) 44 0x00445e47 in winamp (+0x45e46) (0x00976fd8) 45 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x00977008) 46 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x201, wp=0x1, lp=0x5e001d, result=0x977078, arg=0x44b77f) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x00977048) 47 0x7e995bcb CallWindowProcA+0x5b(func=<couldn't compute location>, hwnd=<couldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/user32/winproc.c:964] in user32 (0x00977098) 48 0x1000154c in unicodetaskbarfix.w5s (+0x154b) (0x009770bc) 49 0x07bde60b in ml_local (+0x2e60a) (0x0097d348) 50 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x0097d378) 51 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x201, wp=0x1, lp=0x5e001d, result=0x97d3e8, arg=0x7bde3e8) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x0097d3b8) 52 0x7e995cb8 CallWindowProcW+0x5b(func=<couldn't compute location>, hwnd=<couldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/user32/winproc.c:990] in user32 (0x0097d408) 53 0x07c618e0 in ml_playlists (+0x118df) (0x0097d4f8) 54 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x0097d528) 55 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x201, wp=0x1, lp=0x5e001d, result=0x97d598, arg=0x7c6171b) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x0097d568) 56 0x7e995cb8 CallWindowProcW+0x5b(func=<couldn't compute location>, hwnd=<couldn't compute location>, msg=<couldn't compute location>, wParam=<couldn't compute location>, lParam=<couldn't compute location>) [/work/wine/src/dlls/user32/winproc.c:990] in user32 (0x0097d5b8) 57 0x01c8ae3c in gen_jumpex (+0xae3b) (0x0097d658) 58 0x7e993af6 WINPROC_wrapper+0x19() in user32 (0x0097d688) 59 0x7e993c33 call_window_proc+0xb1(hwnd=0x10110, msg=0x201, wp=0x1, lp=0x5e001d, result=0x97d808, arg=0x1c8a71f) [/work/wine/src/dlls/user32/winproc.c:245] in user32 (0x0097d6c8) 60 0x7e9959f4 WINPROC_call_window+0x148(hwnd=0x10110, msg=0x201, wParam=0x1, lParam=0x5e001d, result=0x97d808, unicode=0x1, mapping=WMCHAR_MAP_DISPATCHMESSAGE) [/work/wine/src/dlls/user32/winproc.c:901] in user32 (0x0097d718) 61 0x7e95bbd3 DispatchMessageW+0x18f(msg=<couldn't compute location>) [/work/wine/src/dlls/user32/message.c:4034] in user32 (0x0097d838) 62 0x0046ef21 in winamp (+0x6ef20) (0x0097d878) 63 0x00465980 in winamp (+0x6597f) (0x0097e9f8) 64 0x7bc8677c call_thread_func_wrapper+0xb() in ntdll (0x0097ea08) 65 0x7bc867cf call_thread_func+0x48(entry=0x465286, arg=0x1, frame=0x97eb18) [/work/wine/src/dlls/ntdll/signal_i386.c:2912] in ntdll (0x0097eaf8) 66 0x7bc8675a call_thread_entry_point+0x11() in ntdll (0x0097eb18) 67 0x7bc8eeb1 start_thread+0x111(info=0x81ffcfb8) [/work/wine/src/dlls/ntdll/thread.c:487] in ntdll (0x0097f358) 68 0xf756d2d9 start_thread+0xf8() in libpthread.so.0 (0x0097f428) 69 0xf748b296 __clone+0x65() in libc.so.6 (0x00000000) [...]
I compiled with:
$ ./configure CFLAGS="-g -gdwarf-2 -O0 -fno-optimize-sibling-calls -fno-omit-frame-pointer -fno-inline"
I installed Winamp with:
$ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetrick... $ chmod +x winetricks $ WINEARCH='win32' sh winetricks comctl32 wininet ie6 allfonts allfonts wmp9 d3dx9_36 $ wget http://winampplugins.co.uk/Winamp/winamp5666_full_en-us_redux.exe $ wine winamp5666_full_en-us_redux.exe
Choose the Winamp classic skin and then in the playlist window, click Add File.
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #1 from averageradical@gmail.com --- It seems the link to the Winamp installer no longer works, so here is my downloaded version: https://averageradical.github.io/winamp5666_full_en-us_redux.exe
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com --- Please attach +shell,+tid log (use attachment, don't paste into comment).
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #3 from averageradical@gmail.com --- Created attachment 58867 --> https://bugs.winehq.org/attachment.cgi?id=58867 Reproduction with WINEDEBUG=+shell,+relay
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #4 from averageradical@gmail.com --- Created attachment 58868 --> https://bugs.winehq.org/attachment.cgi?id=58868 Reproduction with WINEDEBUG=+shell,+tid
Sorry, I had just found the page on WineHQ about debugging and repro'd with WINEDEBUG=+shell,+relay, and right after I uploaded that, I saw your comment about only using WINEDEBUG=+shell,+tid, so I just uploaded a new zip with just that. Thanks!
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- Are you using native comctl32 by any chance?
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #6 from averageradical@gmail.com --- I'm not sure. How do I check that? Before installing Winamp, I used the following command which includes comctl32, but I'm not sure about the details of it:
WINEARCH='win32' sh winetricks comctl32 wininet ie6 allfonts allfonts wmp9 d3dx9_36
https://bugs.winehq.org/show_bug.cgi?id=43486
averageradical@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED
--- Comment #7 from averageradical@gmail.com --- I removed ~/.wine/ and reinstalled Winamp without the comctl32 winetricks installation and now everything works fine. Thanks for the hint!
https://bugs.winehq.org/show_bug.cgi?id=43486
averageradical@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|INVALID |---
--- Comment #8 from averageradical@gmail.com --- Now I remember why I wanted comctl32. Without it, there is no "Send to" menu on the playlist to be able to add an item to an existing playlist. This is one of the few Winamp features that I actually use often. Would you be willing to consider making comctl32 compatible with the latest wine? (It used to work before). By the way, everything else that I want in Winamp works great and I've happily got it running with milkdrop! Thanks so much for Wine.
https://bugs.winehq.org/show_bug.cgi?id=43486
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #9 from Nikolay Sivov bunglehead@gmail.com --- In current wine shell32 depends on comctl32 v6 exports/imagelist behavior. Winetricks install v5 module, and that breaks shell32. Best solution would be to report this "Send To" bug.
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #10 from averageradical@gmail.com --- So if I found comctl32 v6 it might work? Alternatively, when you say report the "send to" behavior do you mean to Winamp? Thanks.
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #11 from Nikolay Sivov bunglehead@gmail.com --- (In reply to averageradical from comment #10)
So if I found comctl32 v6 it might work?
It might, but I haven't tried.
Alternatively, when you say report the "send to" behavior do you mean to Winamp? Thanks.
No, as a Wine bug of course. It's not Winamp fault it does not work on Wine.
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #12 from averageradical@gmail.com --- Ok, I thought this bug represented a report to Wine? Is there a different system, or should I open the bug under a different component?
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #13 from Rosanne DiMesio dimesio@earthlink.net --- (In reply to averageradical from comment #12)
Ok, I thought this bug represented a report to Wine? Is there a different system, or should I open the bug under a different component?
The rule is one problem per bug report. File a new bug here for the problem with builtin comctl32. This bug is about a crash with native comctl32, and it is invalid.
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #14 from averageradical@gmail.com --- Oh I see, I didn't know there was a built-in comctl32. Thanks, I'll do that.
https://bugs.winehq.org/show_bug.cgi?id=43486
--- Comment #15 from averageradical@gmail.com --- Opened https://bugs.winehq.org/show_bug.cgi?id=43498
https://bugs.winehq.org/show_bug.cgi?id=43486
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #16 from Austin English austinenglish@gmail.com --- Closing.