Hi! I have a problem running wine on one of my machines. It's the same binary copy which I've compiled and which successfully runs on another ones. The problem is that many apps, which run on other machines, cause wine to segfault here. The first one doing so is "rundll.exe setupapi.dll...", invoked during wineprefixcreate process, so there is even a problem creating a fresh .wine directory. Simple apps, like winecfg and notepad, run well. Other ones don't. For some of them, wine dumps a lot of warnings before the segfault, but exactly the same warnings are emitted on another machines, where the app runs well. When the app fails, it even doesn't start to render its window. However, when a virtual desktop is to be used, it appears but it's still empty in the moment of the fault. I was trying to get a backtrace by generating a core file and then examining it with gdb. However, it always complains about the fact that the core was created by another binary being run, and reports the name of the windows executable, not anything like wine-*thread, which run the app. An attempt of dumping the bt ends up with many hundreds of illegal entries, mostly zeroes, some 0xFFFFFFFFs and other junk, and the bt is ended by an inaccessible memory somewhere at 0x7FFExxxx. Basic software (kernel, glibc, X11...) is very similar on all of the machines, and of recent dates. I've also used strace and examined it. It looks that the segfault comes to 2 threads simultaneously. Immediately before there are some mprotect() calls and mmap2(), which is successfull. The fault appears somewhere at 61k'th line, so the app did a bunch of things before the crash: Now I'm lost. Can anybody help me, what to try next to find the cause and solve the problem ? Many thanks in advance! With regards, Pavel Troller
[pid 4583] <... gettimeofday resumed> {1160539521, 267044}, NULL) = 0 [pid 4583] read(21, "\221\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\1\0\0\0\0\0\0\0\0"..., 64) = 64 [pid 4583] write(22, "\0\0\0\0\0\0\0\0\0\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64 <unfinished ...> [pid 4580] <... read resumed> "\0\0\0\0\0\0\0\0\0\0\0\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64 [pid 4583] <... write resumed> ) = 64 [pid 4580] rt_sigprocmask(SIG_SETMASK, [], <unfinished ...> [pid 4583] epoll_wait(0x6, 0xbfb1b5dc, 0x80, 0x6c8f <unfinished ...> [pid 4580] <... rt_sigprocmask resumed> NULL, 8) = 0 [pid 4580] write(6, ";\3\5\0\205\0@\2\0\0\0\0\0\0\0\0\1\0\1\0<\0\2\0\205\0@"..., 80) = 80 [pid 4580] mmap2(0x390000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x390000 [pid 4580] shmget(IPC_PRIVATE, 3152, IPC_CREAT|0700) = 7143430 [pid 4580] shmat(7143430, 0, 0) = 0xb7f45000 [pid 4580] write(6, ";\3\5\0\206\0@\2\0\0\0\0\0\0\0\0\1\0\1\0005\30\4\0\207"..., 56) = 56 [pid 4580] read(6, "\1\1\10\3\0\0\0\0\5\0\240\1\0\0\0\0\0\0\0\0\0\0\0\0\10"..., 32) = 32 [pid 4580] shmctl(7143430, IPC_64|IPC_RMID, 0) = 0 [pid 4580] mprotect(0x390000, 4096, PROT_READ|PROT_WRITE) = 0 [pid 4580] write(6, "<\3\2\0\206\0@\0027\0\4\0\211\0@\2\207\0@\2\0\0\0\0", 24) = 24 [pid 4580] mprotect(0x390000, 4096, PROT_READ) = 0 [pid 4580] write(6, ";\3\5\0\211\0@\2\0\0\0\0\0\0\0\0\212\1\2\0\224\3\n\0\207"..., 64) = 64 [pid 4580] read(6, "\1\1\r\3\0\0\0\0\5\0\240\1\0\0\0\0\0\0\0\0\0\0\0\0\10L"..., 32) = 32 [pid 4580] mprotect(0x390000, 4096, PROT_NONE) = 0 [pid 4580] write(6, "8\3\6\0\211\0@\2\1\200\1\0\17\0\0\0\1\0\0\0\0\0\0\0F\0"..., 60) = 60 [pid 4580] write(6, ";\3\5\0\212\0@\2\0\0\0\0\0\0\0\0\1\0\1\0<\0\2\0\212\0@"..., 44) = 44 [pid 4580] write(6, ";\3\5\0\213\0@\2\0\0\0\0\0\0\0\0\212\1\1\0008\0\4\0\211"..., 88) = 88 [pid 4580] write(6, ";\3\5\0\214\0@\2\0\0\0\0\0\0\0\0\1\0\1\0<\0\2\0\214\0@"..., 52) = 52 [pid 4580] shmdt(0xb7f43000) = 0 [pid 4580] mmap2(0x3a0000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x3a0000 [pid 4580] --- SIGSEGV (Segmentation fault) @ 0 (0) --- [pid 4580] --- SIGSEGV (Segmentation fault) @ 0 (0) --- [pid 4587] <... read resumed> 0x6cd9c6a4, 8) = ? ERESTARTSYS (To be restarted) [pid 4588] <... read resumed> 0x6151d4c4, 8) = ? ERESTARTSYS (To be restarted) [pid 4583] <... epoll_wait resumed> ) = 1 [pid 4587] +++ killed by SIGSEGV +++ PANIC: handle_group_exit: 4587 leader 4580 Process 4588 attached (waiting for parent) [pid 4580] +++ killed by SIGSEGV +++ [pid 4583] gettimeofday({1160539521, 270820}, NULL) = 0 [pid 4583] epoll_ctl(0x6, 0x2, 0x15, 0xbfb1b53c) = 0 [pid 4583] close(21) = 0 [pid 4583] close(22) = 0 [pid 4583] close(23) = 0 [pid 4583] epoll_wait(0x6, 0xbfb1b5dc, 0x80, 0x6c8b) = 3 [pid 4583] gettimeofday({1160539521, 271022}, NULL) = 0 [pid 4583] write(38, "\0\0\0\0\3\1\0\0", 8) = -1 EPIPE (Broken pipe) [pid 4583] --- SIGPIPE (Broken pipe) @ 0 (0) --- [pid 4583] epoll_ctl(0x6, 0x2, 0x24, 0xbfb1b53c) = 0 [pid 4583] close(36) = 0 [pid 4583] close(37) = 0 [pid 4583] close(38) = 0 [pid 4583] write(35, "\0\0\0\0\3\1\0\0", 8) = -1 EPIPE (Broken pipe) [pid 4583] --- SIGPIPE (Broken pipe) @ 0 (0) ---