https://bugs.winehq.org/show_bug.cgi?id=49253
Bug ID: 49253 Summary: 2048 freeze before showing anything Product: Wine Version: 5.9 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: mikrutrafal54@gmail.com Distribution: ---
Created attachment 67259 --> https://bugs.winehq.org/attachment.cgi?id=67259 2048 Log
When I try to open 2048, then nothing happens.
App seems to try use network, but it is unable to do it.
File to download - https://portableapps.com/downloading/?a=2048Portable&n=2048%20Portable&a...
https://bugs.winehq.org/show_bug.cgi?id=49253
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://web.archive.org/web | |/20200203235831/https://dow | |nload3.portableapps.com/por | |tableapps/2048Portable/2048 | |Portable_2.2_English.paf.ex | |e?20190321 CC| |focht@gmx.net Summary|2048 freeze before showing |2048 Portable v2.2 (number |anything |tile puzzle game) freezes | |before showing anything
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello Rafał,
I can't reproduce the hang. The game works fine here with Wine 5.9 and current Git (wine-5.9-23-gba920246e5).
--- quote --- App seems to try use network, but it is unable to do it. --- quote ---
No, just because there are some network related FIXME/error messages in the console doesn't mean the game requires network to work. The game is based on NW.js framework/technology.
The game still runs fine for me when using 'unshare -n' which prevents all network access:
--- snip --- $ unshare -n -r wine ./2048Portable.exe --- snip ---
Please create a "lightweight" trace log using following command and attach it to the ticket:
--- snip --- $ WINEDEBUG=+seh,+timestamps,+loaddll,+process wine ./2048Portable.exe
log.txt 2>&1
--- snip ---
$ sha1sum 2048Portable_2.2_English.paf.exe acd8c7a49988c153114314b297cd15e9dea516af 2048Portable_2.2_English.paf.exe
$ du -sh 2048Portable_2.2_English.paf.exe 37M 2048Portable_2.2_English.paf.exe
$ wine --version wine-5.9
Regards
https://bugs.winehq.org/show_bug.cgi?id=49253
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello again,
there was a typo in the command. The debug channel is called 'timestamp' (without 's'):
--- snip --- $ WINEDEBUG=+seh,+timestamp,+loaddll,+process wine ./2048Portable.exe >>log.txt 2>&1 --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=49253
--- Comment #3 from Rafał Mikrut mikrutrafal54@gmail.com --- Created attachment 67263 --> https://bugs.winehq.org/attachment.cgi?id=67263 Log from WINEDEBUG
I uploaded log.
It is normal that WINEDEBUG=+heap always crash?
``` 0024:err:heap:HEAP_GetPtr Invalid heap (nil)! ... 002c:err:heap:HEAP_GetPtr Invalid heap (nil)! ... ... heap.c:465: HEAP_GetPtr: Assertion `FALSE' failed.
```
https://bugs.winehq.org/show_bug.cgi?id=49253
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello Rafał,
from your trace log:
--- snip --- ... 1340.303:015c:trace:process:CreateProcessInternalW app (null) cmdline L""Z:\home\rafal\Pobrane\2048Portable\App\2048\2048-portable-nw.exe" --type=renderer --no-sandbox --field-trial-handle=988 --primordial-pipe-token=27D32A78DC24013F9175C3EFB4F44EDC --lang=pl --user-data-dir="C:\users\rafal\Local Settings\Application Data\2048 Portable\User Da"... 1340.303:015c:trace:process:find_exe_file looking for L"Z:\home\rafal\Pobrane\2048Portable\App\2048\2048-portable-nw.exe" in L"Z:\home\rafal\Pobrane\2048Portable\App\2048;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem;C:\windows\system32\WindowsPowershell\v1.0"
1340.303:015c:fixme:process:CreateProcessInternalW Unsupported attribute 0x20002. ... 0.000:01cc:trace:loaddll:load_native_dll Loaded L"C:\windows\system32\kernelbase.dll" at 0x7b000000: PE builtin 0.000:01cc:trace:loaddll:load_so_dll Loaded L"C:\windows\system32\kernel32.dll" at 0x7b420000: builtin 0.000:01cc:trace:loaddll:load_native_dll Loaded L"Z:\home\rafal\Pobrane\2048Portable\App\2048\2048-portable-nw.exe" at 0x400000: native ... 1340.319:015c:trace:process:RtlCreateUserProcess L"\??\Z:\home\rafal\Pobrane\2048Portable\App\2048\2048-portable-nw.exe" pid 01c8 tid 01cc handles 0x3f4/0x3f8 1340.319:015c:trace:process:CreateProcessInternalW started process pid 01c8 tid 01cc ... 1340.723:01cc:trace:process:GetEnvironmentVariableW (L"WINEDLLDIR0" 00C026B8 30) 1340.723:01cc:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7bc726ec ip=7bc726ec tid=01cc 1340.723:01cc:trace:seh:raise_exception info[0]=00000000 1340.723:01cc:trace:seh:raise_exception info[1]=00db2710 1340.723:01cc:trace:seh:raise_exception eax=00ba0000 ebx=00db2710 ecx=001aff50 edx=00c027c0 esi=00dc0000 edi=00c027d0 1340.723:01cc:trace:seh:raise_exception ebp=0031ef88 esp=0031ef70 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 1340.723:01cc:trace:seh:call_stack_handlers calling handler at 0x45d200 code=c0000005 flags=0 1340.723:01cc:trace:seh:call_stack_handlers handler at 0x45d200 returned 1 1340.723:01cc:trace:seh:call_stack_handlers calling handler at 0x7b45aad0 code=c0000005 flags=0 Backtrace: (No symbol) [0x7BC726EC] (No symbol) [0x7BC7286B] (No symbol) [0x7BC734F1] (No symbol) [0x7BC95E1D] (No symbol) [0x7BC963C3] ... --- snip ---
There is a crash in 'kernel32.dll' module. The app restarts the process and fails again in same place.
Could yopu attach 'WINEDEBUG=+seh,+relay,+process' log. It will be large hence filter for traces only from the crashing child process until/including the first exception like above. Use the child process main thread id to filter only those lines. With the help of 'process' debug channel you'll find it in a line like this:
--- snip --- 1340.319:015c:trace:process:CreateProcessInternalW started process pid 01c8 tid 01cc --- snip ---
01cc = child process main thread id
Create filtered log from full log:
--- snip --- $ grep 01cc: log.txt > 01cc.txt --- snip ---
---
--- quote --- It is normal that WINEDEBUG=+heap always crash? --- quote ---
No, that's actually another bug (regression). I've created bug 49262 to track this.
Regards
https://bugs.winehq.org/show_bug.cgi?id=49253
--- Comment #5 from Rafał Mikrut mikrutrafal54@gmail.com --- Created attachment 67267 --> https://bugs.winehq.org/attachment.cgi?id=67267 Crash log
I'm not sure if I choose correct process, but it seems to crash.
https://bugs.winehq.org/show_bug.cgi?id=49253
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello Rafał,
thanks for the log. Unfortunately it doesn't show a crash.
--- snip --- ... 00c0:Call user32.GetMessageW(0031efe0,00000000,00000000,00000000) ret=0040a478 00c0:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,0031ec18,ffffffff,000004ff,00000000) ret=7f6d24fcceef 00c0:Call ntdll.NtWaitForMultipleObjects(00000001,0031e6b0,00000001,00000000,00000000) ret=7b065107 00c0:Ret ntdll.NtWaitForMultipleObjects() retval=00000000 ret=7b065107 00c0:Ret winex11.drv.MsgWaitForMultipleObjectsEx() retval=00000000 ret=7f6d24fcceef 00c0:Ret user32.GetMessageW() retval=00000001 ret=0040a478 00c0:Call user32.DispatchMessageW(0031efe0) ret=0040a468 00c0:Call window proc 0x404bc0 (hwnd=0x20030,msg=WM_PARENTNOTIFY,wp=00000001,lp=00010062) 00c0:Call user32.GetForegroundWindow() ret=0040dd43 00c0:Ret user32.GetForegroundWindow() retval=00000000 ret=0040dd43 00c0:Call user32.GetAncestor(00000000,00000003) ret=0040dd50 00c0:Ret user32.GetAncestor() retval=00000000 ret=0040dd50 00c0:Call user32.IsWindowVisible(00020032) ret=0040dd5f 00c0:Ret user32.IsWindowVisible() retval=00000000 ret=0040dd5f 00c0:Ret window proc 0x404bc0 (hwnd=0x20030,msg=WM_PARENTNOTIFY,wp=00000001,lp=00010062) retval=00000000 00c0:Ret user32.DispatchMessageW() retval=00000000 ret=0040a468 00c0:Call user32.GetMessageW(0031efe0,00000000,00000000,00000000) ret=0040a478 00c0:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,0031ec18,ffffffff,000004ff,00000000) ret=7f6d24fcceef 00c0:Call ntdll.NtWaitForMultipleObjects(00000001,0031e6b0,00000001,00000000,00000000) ret=7b065107 00c0:trace:seh:raise_exception code=c000013a flags=0 addr=0x7f6d26bcd36a ip=7f6d26bcd36a tid=00c0 00c0:trace:seh:raise_exception rax=0000000000000000 rbx=000000000031db90 rcx=00007f6d26bcd36c rdx=0000000000000010 00c0:trace:seh:raise_exception rsi=000000000031db90 rdi=0000000000000006 rbp=00007fffffea8000 rsp=000000000031db60 00c0:trace:seh:raise_exception r8=0000000000000000 r9=0000000000000000 r10=0000000000000008 r11=0000000000000246 00c0:trace:seh:raise_exception r12=000000000031dc0c r13=0000000000000000 r14=000000000031dc40 r15=000000000031dcf0 00c0:trace:seh:dwarf_virtual_unwind function 7f6d26bcd36a base 0x7f6d26bcd320 cie 0x7f6d26bd2b78 len 14 id 0 version 1 aug 'zR' code_align 1 data_align -8 retaddr %rip 00c0:trace:seh:execute_cfa_instructions 7f6d26bcd320: DW_CFA_def_cfa %rsp, 8 00c0:trace:seh:execute_cfa_instructions 7f6d26bcd320: DW_CFA_offset %rip, -8 --- snip ---
The exception 0xc000013a is result of pressing CTRL+C (by design). Please find/grep the first thread which throws 0xc0000005 (page fault) with addr=0x7bc726ec
--- snip --- ... raise_exception code=c0000005 flags=0 addr=0x7bc726ec --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=49253
--- Comment #7 from Rafał Mikrut mikrutrafal54@gmail.com --- Created attachment 67268 --> https://bugs.winehq.org/attachment.cgi?id=67268 Better log
This file probably contains correct log
https://bugs.winehq.org/show_bug.cgi?id=49253
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello Rafał,
the crash looks like bug 49211
--- snip --- ... 0310:Call user32.RegisterDeviceNotificationW(000200a8,0031f818,00000000) ret=114b3cbc 0310:Call sechost.I_ScRegisterDeviceNotification(0031f788,0031f818,00000000) ret=7db7a52b ... 0310:fixme:service:I_ScRegisterDeviceNotification Call ... 0310:Ret sechost.I_ScRegisterDeviceNotification() retval=02aa4790 ret=7db7a52b 0310:Ret user32.RegisterDeviceNotificationW() retval=02aa4790 ret=114b3cbc 0310:Call user32.RegisterDeviceNotificationW(000200a8,0031f818,00000000) ret=114b3cbc 0310:Call sechost.I_ScRegisterDeviceNotification(0031f788,0031f818,00000000) ret=7db7a52b 0310:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented. ... 0310:Ret sechost.I_ScRegisterDeviceNotification() retval=02aa4e18 ret=7db7a52b 0310:Ret user32.RegisterDeviceNotificationW() retval=02aa4e18 ret=114b3cbc ... 0310:Call user32.UnregisterDeviceNotification(00000000) ret=11a6396a 0310:Call sechost.I_ScUnregisterDeviceNotification(00000000) ret=7db7a653 0310:Call ntdll.RtlEnterCriticalSection(61b19080) ret=61b0d4cd 0310:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=61b0d4cd 0310:trace:seh:raise_exception code=c0000005 flags=0 addr=0x61b0d4cd ip=61b0d4cd tid=0310 0310:trace:seh:raise_exception info[0]=00000000 0310:trace:seh:raise_exception info[1]=00000000 0310:trace:seh:raise_exception eax=00000000 ebx=00000000 ecx=00000000 edx=00000004 esi=0031f7e4 edi=0031f7b4 0310:trace:seh:raise_exception ebp=0031f7cc esp=0031f784 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010202 0310:trace:seh:call_stack_handlers calling handler at 0x45d200 code=c0000005 flags=0 0310:Call KERNEL32.GetLastError() ret=0046e3ae 0310:Call kernelbase.GetLastError() ret=7bca0cd4 0310:Ret kernelbase.GetLastError() retval=00000000 ret=7bca0cd4 0310:Ret KERNEL32.GetLastError() retval=00000000 ret=0046e3ae 0310:Call KERNEL32.FlsGetValue(00000004) ret=004706be 0310:Call kernelbase.FlsGetValue(00000004) ret=7bca0cd4 0310:Ret kernelbase.FlsGetValue() retval=00ed02a8 ret=7bca0cd4 0310:Ret KERNEL32.FlsGetValue() retval=00ed02a8 ret=004706be 0310:Call KERNEL32.SetLastError(00000000) ret=0046e454 0310:Call ntdll.RtlSetLastWin32Error(00000000) ret=7bca0cd4 0310:Ret ntdll.RtlSetLastWin32Error() retval=7ffd8000 ret=7bca0cd4 0310:Ret KERNEL32.SetLastError() retval=7ffd8000 ret=0046e454 0310:trace:seh:call_stack_handlers handler at 0x45d200 returned 1 0310:trace:seh:call_stack_handlers calling handler at 0x7b45aad0 code=c0000005 flags=0 0310:Call kernelbase.UnhandledExceptionFilter(0031f358) ret=7b45ab04 --- snip ---
Even if Wine doesn't handle NULL device notification handle, the code path should not be hit. I don't see 'user32.UnregisterDeviceNotification(NULL)' called in my case. Maybe I'll debug it later.
Regards