wine notepad.exe: Segmentation fault

Molle Bestefich molle.bestefich at gmail.com
Sun Jul 30 22:55:57 CDT 2006


Been running 0.9.15 for a while without problems.
Since a week ago (or so) when I updated to HEAD, all I get from Wine is this:

wine-git # notepad
Segmentation fault

Nuking ~/.wine doesn't help:

wine-git # rm -rf ~/.wine
wine-git # notepad
wine: creating configuration directory '/root/.wine'...
/usr/local/bin/../lib/../bin/wineprefixcreate: line 171:  8574
Segmentation fault      "${WINELOADER:-$bindir/wine}" rundll32.exe
setupapi.dll,InstallHinfSection DefaultInstall 128 wine.inf
wine: wineprefixcreate failed while creating '/root/.wine'.

GDB tells me a lot I don't quite understand:

wine-git # gdb --quiet --args /usr/local/bin/wine-pthread
/usr/local/bin/notepad.exe
Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) r
Starting program: /usr/local/bin/wine-pthread /usr/local/bin/notepad.exe
[Thread debugging using libthread_db enabled]
[New Thread -1211160288 (LWP 9620)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211160288 (LWP 9620)]
0x00000000 in ?? ()

(gdb) bt
#0  0x00000000 in ?? ()
#1  0x7ffb0a40 in wine_server_call (req_ptr=0xbfe60d90) at server.c:321
#2  0x7ffb1bd4 in server_init_thread (unix_pid=9620, unix_tid=9620,
    entry_point=0x0) at server.c:937
#3  0x7ffb90b1 in thread_init () at thread.c:279
#4  0x7ff99cc6 in __wine_process_init () at loader.c:2365
#5  0xb7e417d6 in wine_init (argc=2, argv=0xbfe61464, error=0xbfe60fd0 "",
    error_size=1024) at loader.c:664
#6  0x7bf0117a in main (argc=2, argv=0xbfe61464) at main.c:58

(gdb) frame 1
#1  0x7ffb0a40 in wine_server_call (req_ptr=0xbfe34e10) at server.c:321
321         pthread_functions.sigprocmask( SIG_BLOCK, &block_set, &old_set );

(gdb) info locals
req_ptr = (void *) 0xbfe34e10
old_set = {__val = {0 <repeats 11 times>, 3219344856, 2147308640, 3219344768,
    3084813777, 2147158852, 9, 3219344800, 0, 0, 3219344792, 8, 0, 14, 0, 0,
    3219344784, 3084988334, 3219344832, 16, 3219344856, 1}}

(gdb) print block_set
$1 = {__val = {268511747, 0 <repeats 31 times>}}

(gdb) print /a block_set
$2 = {__val = {0x10012a03, 0x0 <repeats 31 times>}}

(gdb) print /a old_set
$3 = {__val = {0x0 <repeats 11 times>, 0xbfe34dd8,
    0x7ffd5460 <__wine_dbch___default+340>, 0xbfe34d80,
    0xb7de85d1 <sendmsg+33>, 0x7ffb0b44 <wine_server_send_fd+148>, 0x9,
    0xbfe34da0, 0x0, 0x0, 0xbfe34d98, 0x8, 0x0, 0xe, 0x0, 0x0, 0xbfe34d90,
    0xb7e12fae <__wine_dbg_get_channel_flags+14>, 0xbfe34dc0, 0x10,
    0xbfe34dd8, 0x1}}

The only thing I can come up with that might cause a segfault in
pthread_functions.sigprocmask() is a missing call to a pthread init
function.  I've grepped through the sources, but unfortunately I was
unable to find any place where that is called (except for kthread.c,
and I believe that modern systems all use pthread - right?), so I'm
without clues.

The only thing I can think of that might have happened (other than a
Wine bug) is GCC or GLIBC being upgraded by 'emerge world'.  GCC
--version says "gcc (GCC) 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0,
pie-8.7.8)", while ls /lib/libc* says "libc-2.3.6.so".

Any suggestions (please!)?



More information about the wine-devel mailing list