https://bugs.winehq.org/show_bug.cgi?id=50408
Bug ID: 50408 Summary: wineboot crash to due getaddrinfo() returning NULL ai_canonname Product: Wine Version: 6.0-rc4 Hardware: x86-64 OS: FreeBSD Status: NEW Severity: normal Priority: P2 Component: winsock Assignee: wine-bugs@winehq.org Reporter: damjan.jov@gmail.com
After the WINEPREFIX is created, wineserver exits, and any Wine application is run, wineboot crashes with this error and incorrect stack trace:
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x70bab1d7). Register dump: CS:0033 SS:003b DS:003b ES:003b FS:0013 GS:001b EIP:70bab1d7 ESP:0075f008 EBP:0075f008 EFLAGS:00010246( R- -- I Z- -P- ) EAX:00000000 EBX:0075f6e0 ECX:0000002e EDX:003e2034 ESI:00000000 EDI:0075f4d8 Stack dump: 0x0075f008: 0075fef8 0040633d 00000000 0000002e 0x0075f018: 0075f4d8 0075f094 00000000 00020006 0x0075f028: 00000000 0075f6e0 00000000 00000000 0x0075f038: 00000000 00000000 00000000 00000000 0x0075f048: 00000000 004508e0 0075f094 7bc0c0b0 0x0075f058: 7b632328 7bc2a280 00000034 0075f4d8 Backtrace: =>0 0x70bab1d7 memcmp+0x107(ptr2=<is not available>, n=<is not available>) [Z:\home\user\Wine\wine\dlls\msvcrt\string.c:2602] in ucrtbase (0x0075f008) 1 0x0040633d main+0x151c(argv=<is not available>) [Z:\home\user\Wine\wine\programs\wineboot\wineboot.c:829] in wineboot (0x0075fef8) 2 0x004042d8 mainCRTStartup+0x67() [Z:\home\user\Wine\wine\dlls\msvcrt\crt_main.c:58] in wineboot (0x0075ff30) 3 0x7b62ddf0 WriteTapemark+0xff(type=<is not available>, count=<is not available>, immediate=<is not available>) [Z:\home\user\Wine\wine\dlls\kernel32\tape.c:317] in kernel32 (0x0075ff48) 4 0x7bc56b97 RtlSleepConditionVariableSRW+0x226(lock=<is not available>, timeout=<is not available>, flags=<is not available>) [Z:\home\user\Wine\wine\dlls\ntdll\sync.c:557] in ntdll (0x0075ff5c) 5 0x7bc56e40 call_thread_func+0xaf(arg=0x3fe000) [Z:\home\user\Wine\wine\dlls\ntdll\thread.c:134] in ntdll (0x0075ffec) 0x70bab1d7 memcmp+0x107 [Z:\home\user\Wine\wine\dlls\msvcrt\string.c:2602] in ucrtbase: movzbl 0x0(%eax),%edx 2602 if (*str == (char)c) return (char*)str; Modules: Module Address Debug info Name (8 modules) PE 400000- 450000 Dwarf wineboot PE 61740000-61802000 Deferred advapi32 PE 62790000-62794000 Deferred ws2_32 PE 6bc00000-6bc79000 Deferred sechost PE 70b40000-70d77000 Dwarf ucrtbase PE 7b000000-7b2a2000 Deferred kernelbase PE 7b600000-7b8f6000 Dwarf kernel32 PE 7bc00000-7be33000 Dwarf ntdll Threads: process tid prio (all id:s are in hex) 00000020 00000024 0 00000028 (D) C:\windows\system32\wineboot.exe 0000002c 0 <== 00000038 0 0000003c explorer.exe 00000040 0 00000044 0 00000048 0 System information: Wine build: wine-6.0-rc2-43-gef876fc54e2 Platform: i386 Version: Windows 7 Host system: FreeBSD Host version: 12.2-RELEASE
https://bugs.winehq.org/show_bug.cgi?id=50408
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |5ac2f4b55338a27c5d8c7e891bc | |29198dee7ea50 Keywords| |regression
--- Comment #1 from Damjan Jovanovic damjan.jov@gmail.com --- A Git bisect reveals:
5ac2f4b55338a27c5d8c7e891bc29198dee7ea50 is the first bad commit commit 5ac2f4b55338a27c5d8c7e891bc29198dee7ea50 Author: Alexandre Julliard julliard@winehq.org Date: Tue Nov 10 12:22:19 2020 +0100
wineboot: Fall back to initial hostname if the name lookup fails.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50084 Signed-off-by: Alexandre Julliard julliard@winehq.org
programs/wineboot/wineboot.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=50408
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #2 from Damjan Jovanovic damjan.jov@gmail.com --- Patch sent: https://source.winehq.org/patches/data/197744
https://bugs.winehq.org/show_bug.cgi?id=50408
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gerald@pfeifer.com, | |iwtcex@gmail.com Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |47d50bbbc23aeb10adf9f442157 | |84c3f6c204b28
--- Comment #3 from Damjan Jovanovic damjan.jov@gmail.com --- Patch committed, resolving fixed.
I should note, for this bug to occur, the hostname from gethostname() must be unresolvable by getaddrinfo().
https://bugs.winehq.org/show_bug.cgi?id=50408
--- Comment #4 from Alex S iwtcex@gmail.com --- I can't help but notice, the patch doesn't touch the code changed by that supposedly bad commit. Either this is a botched bisection or there might be more than one issue.
https://bugs.winehq.org/show_bug.cgi?id=50408
--- Comment #5 from Damjan Jovanovic damjan.jov@gmail.com --- I can't explain it either, but the commit before the regression definitely doesn't crash, and backporting the fix to the regression definitely fixes it.
https://bugs.winehq.org/show_bug.cgi?id=50408
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.0-rc5.