wine segfaulting

Pavel Troller patrol at sinus.cz
Wed Oct 11 00:20:19 CDT 2006


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) ---




More information about the wine-devel mailing list