https://bugs.winehq.org/show_bug.cgi?id=47464
Bug ID: 47464 Summary: wineboot keep crash after build with msvcrt. Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: l12436@yahoo.com.tw Distribution: ---
Created attachment 64838 --> https://bugs.winehq.org/attachment.cgi?id=64838 crash stack
I have update to wine 4.12, and build with myself
I found one thing. wineboot keep crashing after build with msvcrt with crash stack trace.
I have try to remove it from build with msvcrt, and it back normal again.
the attachment is crash stacktrace.
https://bugs.winehq.org/show_bug.cgi?id=47464
--- Comment #1 from TOM l12436@yahoo.com.tw --- it seems not just wineboot.exe. my LINE is crashing too.
https://bugs.winehq.org/show_bug.cgi?id=47464
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Keywords| |regression Summary|wineboot keep crash after |wineboot crashes after |build with msvcrt. |building as PE file | |starting with Wine 4.12 Component|-unknown |programs Status|UNCONFIRMED |NEW Regression SHA1| |4a8483044ea346e09b4f2769fd1 | |f869a6e4533f6 Version|unspecified |4.12 Severity|normal |critical Hardware|x86 |x86-64 Ever confirmed|0 |1
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming. Wine 4.12 release is unfortunately broken due to this. New prefixes are left in corrupted state and existing prefix updates won't work.
--- snip --- $ WINEDEBUG=+seh,+relay wineboot >>log.txt 2>&1 ... 000b:Call KERNEL32.CreateEventW(0032ee20,00000001,00000000,0040b7e0 L"__wineboot_event") ret=00406871 000b:Call kernelbase.CreateEventW(0032ee20,00000001,00000000,0040b7e0 L"__wineboot_event") ret=7bc935ff 000b:Call ntdll.RtlInitUnicodeString(0032ebf0,0040b7e0 L"__wineboot_event") ret=7106f407 000b:Ret ntdll.RtlInitUnicodeString() retval=00000022 ret=7106f407 000b:Call ntdll._vsnwprintf(0032eb00,00000040,710800e0 L"\Sessions\%u\BaseNamedObjects",0032eaa8) ret=7106f2b4 000b:Ret ntdll._vsnwprintf() retval=0000001c ret=7106f2b4 000b:Call ntdll.RtlInitUnicodeString(0032eac0,0032eb00 L"\Sessions\1\BaseNamedObjects") ret=7106f32e 000b:Ret ntdll.RtlInitUnicodeString() retval=0000003a ret=7106f32e 000b:Call ntdll.NtOpenDirectoryObject(0032eab8,00000006,0032ead0) ret=7106f373 000b: open_directory( access=00000006, attributes=00000000, rootdir=0000, directory_name=L"\Sessions\1\BaseNamedObjects" ) 000b: open_directory() = 0 { handle=0014 } 000b:Ret ntdll.NtOpenDirectoryObject() retval=00000000 ret=7106f373 000b:Call ntdll.NtCreateEvent(0032ebe8,001f0003,0032ec00,00000000,00000000) ret=7106fa89 000b: create_event( access=001f0003, manual_reset=1, initial_state=0, objattr={rootdir=0014,attributes=00000082,sd={},name=L"__wineboot_event"} ) 000b: create_event() = OBJECT_NAME_EXISTS { handle=0018 } 000b:Ret ntdll.NtCreateEvent() retval=40000000 ret=7106fa89 000b:Ret kernelbase.CreateEventW() retval=00000018 ret=7bc935ff 000b:Ret KERNEL32.CreateEventW() retval=00000018 ret=00406871 000b:Call KERNEL32.ResetEvent(00000018) ret=00406881 000b:Call kernelbase.ResetEvent(00000018) ret=7bc935ff 000b:Call ntdll.NtResetEvent(00000018,00000000) ret=7106fed5 000b: event_op( handle=0018, op=2 ) 000b: event_op() = 0 { state=0 } 000b:Ret ntdll.NtResetEvent() retval=00000000 ret=7106fed5 000b:Ret kernelbase.ResetEvent() retval=00000001 ret=7bc935ff 000b:Ret KERNEL32.ResetEvent() retval=00000001 ret=00406881 000b:Call ntdll.NtQuerySystemInformation(00000001,0032ee10,0000000c,00000000) ret=0040697f 000b:Ret ntdll.NtQuerySystemInformation() retval=00000000 ret=0040697f 000b:Call ntdll.RtlAllocateHeap(00010000,00000000,000000c0) ret=0040699a 000b:Ret ntdll.RtlAllocateHeap() retval=0002db60 ret=0040699a 000b:Call ntdll.NtPowerInformation(0000000b,00000000,00000000,0002db60,000000c0) ret=004069c2 000b:Ret ntdll.NtPowerInformation() retval=00000000 ret=004069c2 000b:Call msvcrt.wcscmp(0032f050 L"",0040b700 L"AuthenticAMD") ret=004081a8 000b:Ret msvcrt.wcscmp() retval=ffffffbf ret=004081a8 000b:trace:seh:NtRaiseException code=c0000005 flags=0 addr=0x402555 ip=402555 tid=000b 000b:trace:seh:NtRaiseException info[0]=0000000000000001 000b:trace:seh:NtRaiseException info[1]=000000000040b6e0 000b:trace:seh:NtRaiseException rax=0000000000000001 rbx=0000000000000000 rcx=0000000000000000 rdx=0000000000000000 000b:trace:seh:NtRaiseException rsi=000000000040b6e0 rdi=00000000000000c0 rbp=0000000000000000 rsp=000000000032ecc0 000b:trace:seh:NtRaiseException r8=000000000007ffff r9=000000000032e542 r10=0000000000000000 r11=0000000000000246 000b:trace:seh:NtRaiseException r12=0000000000000000 r13=00000000000000c0 r14=0000000000000000 r15=000000000040a685 --- snip ---
Problem is the assembly wrapper for 'cpuid'
https://source.winehq.org/git/wine.git/blob/4a8483044ea346e09b4f2769fd1f869a...
--- snip --- 188 extern void do_cpuid( unsigned int ax, unsigned int *p ); 189 #if defined(_MSC_VER) 190 void do_cpuid( unsigned int ax, unsigned int *p ) 191 { 192 __cpuid( p, ax ); 193 } 194 #elif defined(__i386__) 195 __ASM_GLOBAL_FUNC( do_cpuid, 196 "pushl %esi\n\t" 197 "pushl %ebx\n\t" 198 "movl 12(%esp),%eax\n\t" 199 "movl 16(%esp),%esi\n\t" 200 "cpuid\n\t" 201 "movl %eax,(%esi)\n\t" 202 "movl %ebx,4(%esi)\n\t" 203 "movl %ecx,8(%esi)\n\t" 204 "movl %edx,12(%esi)\n\t" 205 "popl %ebx\n\t" 206 "popl %esi\n\t" 207 "ret" ) 208 #elif defined(__x86_64__) 209 __ASM_GLOBAL_FUNC( do_cpuid, 210 "pushq %rbx\n\t" 211 "movl %edi,%eax\n\t" 212 "cpuid\n\t" 213 "movl %eax,(%rsi)\n\t" 214 "movl %ebx,4(%rsi)\n\t" 215 "movl %ecx,8(%rsi)\n\t" 216 "movl %edx,12(%rsi)\n\t" 217 "popq %rbx\n\t" 218 "ret" ) 219 #else 220 void do_cpuid( unsigned int ax, unsigned int *p ) 221 { 222 FIXME("\n"); 223 } 224 #endif
... 249 static void get_identifier( WCHAR *buf, size_t size, const WCHAR *arch ) 250 { 251 static const WCHAR fmtW[] = {'%','s',' ','F','a','m','i','l','y',' ','%','u',' ','M','o','d','e','l', 252 ' ','%','u',' ','S','t','e','p','p','i','n','g',' ','%','u',0}; 253 unsigned int regs[4] = {0, 0, 0, 0}, family, model, stepping; 254 255 do_cpuid( 1, regs ); 256 model = get_model( regs[0], &stepping, &family ); 257 swprintf( buf, size, fmtW, arch, family, model, stepping ); 258 } --- snip ---
There are other crashes as well, they need to be treated separately.
I think the release procedure should be changed that last-day changes need to pass at least a basic test, i.e. creating/updating WINEPREFIX and maybe running some winetricks recipes.
$ wine --version wine-4.12
Regards
https://bugs.winehq.org/show_bug.cgi?id=47464
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello again,
forgot to include the debugger/disassembly from the crash site in my last comment.
--- snip --- 0000000000402550 | 53 | push rbx | 0000000000402551 | 89F8 | mov eax,edi | 0000000000402553 | 0FA2 | cpuid | 0000000000402555 | 8906 | mov dword ptr ds:[rsi],eax | rsi:L"Intel64" <-- 0000000000402557 | 895E 04 | mov dword ptr ds:[rsi+4],ebx | rsi+4:L"tel64" 000000000040255A | 894E 08 | mov dword ptr ds:[rsi+8],ecx | rsi+8:L"l64" 000000000040255D | 8956 0C | mov dword ptr ds:[rsi+C],edx | 0000000000402560 | 5B | pop rbx | 0000000000402561 | C3 | ret | --- snip ---
It matches the generated backtrace:
--- snip --- 000b:trace:seh:NtRaiseException code=c0000005 flags=0 addr=0x402555 ip=402555 tid=000b 000b:trace:seh:NtRaiseException info[0]=0000000000000001 000b:trace:seh:NtRaiseException info[1]=000000000040b6e0 000b:trace:seh:NtRaiseException rax=0000000000000001 rbx=0000000000000000 rcx=0000000000000000 rdx=0000000000000000 000b:trace:seh:NtRaiseException rsi=000000000040b6e0 rdi=00000000000000c0 rbp=0000000000000000 rsp=000000000032ecc0 000b:trace:seh:NtRaiseException r8=000000000007ffff r9=000000000032e542 r10=0000000000000000 r11=0000000000000246 000b:trace:seh:NtRaiseException r12=0000000000000000 r13=00000000000000c0 r14=0000000000000000 r15=000000000040a685 --- snip ---
Disassembly of caller, 'get_identifier' (although it should already be obvious):
--- snip --- 0000000000402C80 | 56 | push rsi ; rsi:L"Intel64" 0000000000402C81 | 53 | push rbx 0000000000402C82 | 48:83EC 58 | sub rsp,58 0000000000402C86 | 48:89D6 | mov rsi,rdx 0000000000402C89 | 48:8D5424 40 | lea rdx,qword ptr ss:[rsp+40] 0000000000402C8E | 48:89CB | mov rbx,rcx 0000000000402C91 | B9 01000000 | mov ecx,1 0000000000402C96 | 48:C74424 40 00 | mov qword ptr ss:[rsp+40],0 0000000000402C9F | 48:C74424 48 00 | mov qword ptr ss:[rsp+48],0 0000000000402CA8 | E8 A3F8FFFF | call <wineboot.sub_402550> --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=47464
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=47464
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
since there is some code duplication for cpuid in Wine you can take the fix from here:
https://source.winehq.org/git/wine.git/commitdiff/dba0dd41613a91f17142a9bd8e... ("wbemprox: Build with msvcrt.")
Specifically:
https://source.winehq.org/git/wine.git/blob/dba0dd41613a91f17142a9bd8ea12b5a...
Regards
https://bugs.winehq.org/show_bug.cgi?id=47464
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |47467
https://bugs.winehq.org/show_bug.cgi?id=47464
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |badflagello@hotmail.it
--- Comment #5 from Anastasius Focht focht@gmx.net --- *** Bug 47466 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
I suggest to hotfix Wine 4.12 asap and stop re-distributing the original release. Otherwise we will get tons of bug reports/complaints from end users about crashes. See bug 47466 from some minutes ago.
Regards
https://bugs.winehq.org/show_bug.cgi?id=47464
Robert Walker bob.mt.wya@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.mt.wya@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=47464
Gcenx gcenx83@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gcenx83@gmail.com
--- Comment #7 from Gcenx gcenx83@gmail.com --- Since you compiled wine from source yourself it’s worth checking was this compiled without mingw?
As the recent issues with 64Bit PE files have only happen when I was missing mingw as the fallback of compiling the PE files using GCC/Clang seems to be borked.
Please Note; I haven’t compiled Wine-4.12 myself yet but will later today to verify.
https://bugs.winehq.org/show_bug.cgi?id=47464
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rnowotny@rotek.at
--- Comment #8 from Anastasius Focht focht@gmx.net --- *** Bug 47469 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wineboot crashes after |64-bit WINEPREFIX |building as PE file |creation/update fails with |starting with Wine 4.12 |Wine 4.12 (wineboot crashes | |after building as PE file)
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello folks,
refining the summary a bit in attempt to reduce more dupes.
Although 64-bit 'wineboot' crash is the cause, it's not obvious to most users. They just see multiple crash dialogs popping up, 'The program (unidentified) has encountered serious problem' (existing prefix update), or nothing (new prefix), unless being on console.
@Gcenx
--- quote --- Since you compiled wine from source yourself it’s worth checking was this compiled without mingw? --- quote ---
No, I have mingw-w64 enabled builds on Linux since the support of cross-compiling Wine builtins as PE was added to the build system. I have a couple of bugs that are hopefully solved when the process is finished.
Proof:
--- snip --- $ WINEDEBUG=+loaddll wineboot 0009:trace:loaddll:load_native_dll Loaded L"C:\windows\system32\kernelbase.dll" at 0x71240000: PE builtin 0009:trace:loaddll:load_so_dll Loaded L"C:\windows\system32\kernel32.dll" at 0x7b420000: builtin 000b:trace:loaddll:load_native_dll Loaded L"C:\windows\system32\kernelbase.dll" at 0x71040000: PE builtin 000b:trace:loaddll:load_so_dll Loaded L"C:\windows\system32\kernel32.dll" at 0x7b420000: builtin 000b:trace:loaddll:load_native_dll Loaded L"C:\windows\system32\wineboot.exe" at 0x400000: PE builtin 000b:trace:loaddll:load_so_dll Loaded L"C:\windows\system32\advapi32.dll" at 0x7fa78b070000: builtin 000b:trace:loaddll:load_so_dll Loaded L"C:\windows\system32\msvcrt.dll" at 0x7fa78ae90000: builtin wine: Unhandled page fault on write access to 0x0040b6e0 at address 0x402555 (thread 000b), starting debugger... 000b:err:seh:start_debugger Couldn't start debugger ("winedbg --auto 10 24") (2) Read the Wine Developers Guide on how to set up winedbg or another debugger ... --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=47464
--- Comment #10 from Gcenx gcenx83@gmail.com --- @Anastasius Focht
I thought it was worth asking as you didn’t mention mingw being used as probably already know some of these recent bugs are specific with mingw and without mingw.
I did see a patch was already submitted to hopefully resolve this issue anyway, now hopefully the others also get resolved.
https://bugs.winehq.org/show_bug.cgi?id=47464
Kim Malmo berencamlost@msn.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |berencamlost@msn.com
https://bugs.winehq.org/show_bug.cgi?id=47464
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |e245df2a0c8d1270a4cc0129407 | |072c917a0c325 Status|NEW |RESOLVED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Fixed by e245df2a0c8d1270a4cc0129407072c917a0c325.
https://bugs.winehq.org/show_bug.cgi?id=47464
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dominik@kuropka.net
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- *** Bug 47474 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.12.1.
https://bugs.winehq.org/show_bug.cgi?id=47464
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gordon.lack@dsl.pipex.com
--- Comment #14 from Anastasius Focht focht@gmx.net --- *** Bug 47477 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rtgriggs@gmail.com
--- Comment #15 from Zebediah Figura z.figura12@gmail.com --- *** Bug 47462 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yujatenef@emailapps.in
--- Comment #16 from Zebediah Figura z.figura12@gmail.com --- *** Bug 47499 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |invisigoth@virgilio.it
--- Comment #17 from Zebediah Figura z.figura12@gmail.com --- *** Bug 47497 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
--- Comment #18 from Anastasius Focht focht@gmx.net --- *** Bug 48884 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=47464
Gordon Lack gordon.lack@dsl.pipex.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|gordon.lack@dsl.pipex.com |