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.