Segmentation fault after new wine update and install

Juraj Hercek juraj at syncad.com
Tue Sep 9 11:34:05 CDT 2003


Hello,

I've updated today from wine and got into troubles after installing it - 
got Segmentation fault. I dig in it and figured the problem is my 
environment variable WINEDLLPATH which was set to "." (current 
directory). The back trace of stack during the crash was similar to this 
(just the frames 5,6,7,8 were repeating many times - until stack overflow):

#0  __pthread_rwlock_unlock (rwlock=0x4032b600)
    at ../../scheduler/pthread.c:669
#1  0x40220ea7 in gettext () from /lib/i686/libc.so.6
#2  0x40220885 in dcgettext () from /lib/i686/libc.so.6
#3  0x4021f667 in __assert_fail () from /lib/i686/libc.so.6
#4  0x400903d7 in __pthread_rwlock_unlock (rwlock=0x4032b600)
    at ../../scheduler/pthread.c:671
#5  0x40220ea7 in gettext () from /lib/i686/libc.so.6
#6  0x40220885 in dcgettext () from /lib/i686/libc.so.6
#7  0x4021f667 in __assert_fail () from /lib/i686/libc.so.6
#8  0x400903d7 in __pthread_rwlock_unlock (rwlock=0x4032b600)
    at ../../scheduler/pthread.c:671
#9  0x40220ea7 in gettext () from /lib/i686/libc.so.6
#10 0x40220885 in dcgettext () from /lib/i686/libc.so.6
#11 0x40278059 in strerror_r () from /lib/i686/libc.so.6
#12 0x40277ea5 in strerror () from /lib/i686/libc.so.6
#13 0x4035513a in dlerror () from /lib/libdl.so.2
#14 0x400f7c00 in wine_dlopen (filename=0x3c001862 "./ntdll.dll.so", 
flag=0x2,
    error=0xbffff244 "", errorsize=0x400) at loader.c:452
#15 0x400f745b in dlopen_dll (name=0x400f80cb "ntdll.dll",
    error=0xbffff244 "", errorsize=0x400, test_only=0x0, exists=0xbffff21c)
    at loader.c:151
#16 0x400f7b48 in wine_init (argc=0x1, argv=0xbffff694, error=0xbffff244 
"",
    error_size=0x400) at loader.c:424
#17 0x3c000550 in main (argc=0x1, argv=0xbffff694) at main.c:33
#18 0x402137f7 in __libc_start_main () from /lib/i686/libc.so.6

So, I guess wine pthread functions table should be initialized before 
any (system) library get's chance to throw error, otherwise we have SIGSEGV.

I've fixed the error on my side with 
WINEDLLPATH="/usr/local/lib/wine:.". Anyways I think it's a workaround 
not a solution... Since I don't know much about initialization, I would 
leave the real fix for someone more skillful.

Best Regards,
Juraj




More information about the wine-devel mailing list