Subject: Re: bug#42342: Wine64 segfaults (5.12/staging)

From: Pierre Neidhardt <[email-masked]>
Date: Sun, 09 Aug 2020 15:38:58 +0200

Now that wine stable is 5.12, I can't use start 32-bit applications
anymore.  I tried from a clean wine prefix and I only get this error:

--8<---------------cut here---------------start------------->8---
Segmentation fault
--8<---------------cut here---------------end--------------->8---

Here is the end of the strace:

--8<---------------cut here---------------start------------->8---
openat(AT_FDCWD, "/gnu/store/fhxjkwnv9w8a283f5qaiqq8hcmfmdap9-wine64-5.12/bin/../lib/wine32/wine/ntdll.dll.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/gnu/store/ajyl64ycr9vv51q2np68agwz2ad9lxqs-wine-5.12/lib/wine32/wine/ntdll.dll.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\360\302{4\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0555, st_size=941360, ...}) = 0
mmap2(0x7bc00000, 864996, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7bc00000
mmap2(0x7bc1e000, 487424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e000) = 0x7bc1e000
mmap2(0x7bc95000, 200704, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x95000) = 0x7bc95000
mmap2(0x7bcc6000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc5000) = 0x7bcc6000
mmap2(0x7bcd2000, 4836, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7bcd2000
close(3)                                = 0
openat(AT_FDCWD, "/gnu/store/ajyl64ycr9vv51q2np68agwz2ad9lxqs-wine-5.12/lib/wine32/libm.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/gnu/store/z4li262il798hbl0l1h1k3a5g7r6bffa-glibc-2.31/lib/libm.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\241\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0555, st_size=1109456, ...}) = 0
mmap2(NULL, 1048680, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7eeff000
mmap2(0x7ef09000, 774144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7ef09000
mmap2(0x7efc6000, 229376, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc7000) = 0x7efc6000
mmap2(0x7effe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xfe000) = 0x7effe000
close(3)                                = 0
mprotect(0x7effe000, 4096, PROT_READ)   = 0
mprotect(0x7bc00000, 122880, PROT_READ|PROT_WRITE) = 0
mprotect(0x7bc1e000, 487424, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x7bc95000, 200704, PROT_READ|PROT_WRITE) = 0
mprotect(0x7bc95000, 200704, PROT_READ) = 0
mprotect(0x7bc1e000, 487424, PROT_READ|PROT_EXEC) = 0
mprotect(0x7bc00000, 122880, PROT_READ) = 0
mprotect(0x7bcc6000, 4096, PROT_READ)   = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x30} ---
+++ killed by SIGSEGV +++
Segmentation fault
--8<---------------cut here---------------end--------------->8---

Are 32-bit applications really working for some of you?

-- 
Pierre Neidhardt
https://ambrevar.xyz/