Please help me debug wineserver

Misha Koshelev mk144210 at
Mon Jan 29 17:04:23 CST 2007


I am new to wine programming but have a fair amount of experience with
C/C++ programming in general. I have recently decided to make the Vector
NTI application work on Wine, and after overcoming quite a few
installation difficulties by making an install shell script, I have run
in to a problem that I have traced down to wineserver. This problem
occurs after repeatedly changing folders in the Vector NTI "Open
Molecule File" dialog, which does not use the standard open file Windows
dialog (e.g., the "Open Shortcut" dialog in the same program works
fine). Wineserver crashes with the following error message:

wineserver: object.c:274: release_object: Assertion `obj->refcount'

On looking at the output of WINEDEBUG=+server, it seems that the "Vector
NTI" thread is woken up, and then receives a USER_APC, at which time
this crash occurs. I am including at the end of this message a
wineserver gdb backtrace and the last few lines of the WINEDEBUG=+server
output. If anyone sees anything that jumps out, I would appreciate your

Thank you very much.




#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7d56770 in raise () from /lib/tls/i686/cmov/
#2  0xb7d57ef3 in abort () from /lib/tls/i686/cmov/
#3  0xb7d4fdbb in __assert_fail () from /lib/tls/i686/cmov/
#4  0x0805ad0a in release_object (ptr=0x83ad0a0) at object.c:274
#5  0x0806c196 in end_wait (thread=0x83ad100) at thread.c:451
#6  0x0806c9b7 in wake_thread (thread=0x83ad100) at thread.c:578
#7  0x0806cddd in queue_apc (process=<value optimized out>, thread=0x83ad100, 
    apc=0x83ad888) at thread.c:751
#8  0x0806cebb in thread_queue_apc (thread=0x83ad100, owner=0x0, 
    call_data=0xbffe77b8) at thread.c:764
#9  0x08052dc2 in async_terminate (async=0x82e7780, status=6) at fd.c:1294
#10 0x0804bf70 in dir_destroy (obj=0x83ad0a0) at file.h:131
#11 0x0805ac9a in release_object (ptr=0x83ad0a0) at object.c:279
#12 0x0806c196 in end_wait (thread=0x83ad100) at thread.c:451
#13 0x0806cf30 in thread_timeout (ptr=0x83aa1c0) at thread.c:598
#14 0x08051e3a in get_next_timeout () at fd.c:688
#15 0x08052ea0 in main_loop () at fd.c:456
#16 0x08057c4a in main (argc=2, argv=0xbffe8034) at main.c:136

Last few lines of WINEDEBUG=+server output:

0009: create_key() = 0 { hkey=0x168, created=0 }
0009: get_key_value( hkey=0x168, name=L"Desktop" )
0009: get_key_value() = 0 { type=2, total=44,
0009: create_key( parent=0x6c, access=000f003f, attributes=00000000,
options=00000000, modif=0, namelen=112, name=L"Software\\Microsoft\\Windows
NT\\CurrentVersion\\ProfileList", class=L"" )
0009: create_key() = 0 { hkey=0x16c, created=0 }
0009: get_key_value( hkey=0x16c, name=L"ProfilesDirectory" )
0009: get_key_value() = 0 { type=2, total=40,
0011: *wakeup* signaled=258 STATUS_TIMEOUT cookie=0x7bbfe880
0011: *wakeup* signaled=192 STATUS_USER_APC cookie=0x7bbfe880
wineserver: object.c:274: release_object: Assertion `obj->refcount' failed.

More information about the wine-devel mailing list