[Bug 35694] Serena hits deadlock on exit
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Jun 29 17:53:50 CDT 2014
http://bugs.winehq.org/show_bug.cgi?id=35694
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |focht at gmx.net
Summary|serena hits deadlock on |Serena hits deadlock on
|exit |exit
--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
confirming.
The game is SDL based using OpenGL.
--- snip ---
Wine-dbg>info process
pid threads executable (all id:s are in hex)
00000028 4 'Dagon.exe'
00000025 2 'explorer.exe'
0000000e 5 'services.exe'
00000019 3 \_ 'plugplay.exe'
00000012 4 \_ 'winedevice.exe'
Wine-dbg>info thread
process tid prio (all id:s are in hex)
...
00000028 Dagon.exe
0000002d 0
0000002b 0
0000002a 0
00000029 0
--- snip ---
The relevant part of trace log:
--- snip ---
...
0029:Call opengl32.glTexCoordPointer(00000002,00001406,00000000,0033fbac)
ret=004198a1
0029:Ret opengl32.glTexCoordPointer() retval=00000000 ret=004198a1
0029:Call opengl32.glVertexPointer(00000002,00001406,00000000,0033fbe8)
ret=004198b1
0029:Ret opengl32.glVertexPointer() retval=00000000 ret=004198b1
0029:Call opengl32.glDrawArrays(00000006,00000000,00000004) ret=004198bd
0029:Ret opengl32.glDrawArrays() retval=7dacd008 ret=004198bd
0029:Call opengl32.glPopMatrix() ret=004198c3
0029:Ret opengl32.glPopMatrix() retval=7d91b27c ret=004198c3
0029:Call opengl32.glMatrixMode(00001701) ret=0040e58a
0029:Ret opengl32.glMatrixMode() retval=ffffffa8 ret=0040e58a
0029:Call opengl32.glPopMatrix() ret=0040e590
0029:Ret opengl32.glPopMatrix() retval=7d91b27c ret=0040e590
0029:Call opengl32.glMatrixMode(00001700) ret=0040e597
0029:Ret opengl32.glMatrixMode() retval=00000000 ret=0040e597
0029:Call openal32.alListenerfv(0000100f,0064f40c) ret=0040e5be
0029:Ret openal32.alListenerfv() retval=00000000 ret=0040e5be
0029:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
0029:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=004c971e
0029:Call KERNEL32.QueryPerformanceCounter(0033fbe4) ret=004c9dc9
0029:Call ntdll.NtQueryPerformanceCounter(0033fbe4,00000000) ret=7b836439
0029:Ret ntdll.NtQueryPerformanceCounter() retval=00000000 ret=7b836439
0029:Ret KERNEL32.QueryPerformanceCounter() retval=00000001 ret=004c9dc9
0029:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
0029:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=004c978e
0029:Call ntdll.RtlEnterCriticalSection(00188420) ret=004c971e
0029:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=004c971e
0029:Call ntdll.RtlLeaveCriticalSection(00188420) ret=004c978e
0029:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=004c978e
0029:Call ntdll.RtlEnterCriticalSection(00188420) ret=004c971e
0029:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=004c971e
0029:Call openal32.alSourcePlay(00000005) ret=00402854
0029:Ret openal32.alSourcePlay() retval=00000000 ret=00402854
0029:Call openal32.alGetError() ret=0040321c
0029:Ret openal32.alGetError() retval=00000000 ret=0040321c
0029:Call ntdll.RtlLeaveCriticalSection(00188420) ret=004c978e
0029:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=004c978e
0029:Call ntdll.RtlEnterCriticalSection(00188420) ret=004c971e
0029:Ret ntdll.RtlEnterCriticalSection() retval=00000000 ret=004c971e
0029:Call ntdll.RtlLeaveCriticalSection(00188420) ret=004c978e
0029:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=004c978e
0029:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
0029:Ret ntdll.RtlLeaveCriticalSection() retval=00000000 ret=004c978e
0029:Call KERNEL32.QueryPerformanceCounter(0033fb94) ret=004c9dc9
0029:Call ntdll.NtQueryPerformanceCounter(0033fb94,00000000) ret=7b836439
0029:Ret ntdll.NtQueryPerformanceCounter() retval=00000000 ret=7b836439
0029:Ret KERNEL32.QueryPerformanceCounter() retval=00000001 ret=004c9dc9
0029:Call KERNEL32.QueryPerformanceCounter(0033fb94) ret=004c9dc9
0029:Call ntdll.NtQueryPerformanceCounter(0033fb94,00000000) ret=7b836439
0029:Ret ntdll.NtQueryPerformanceCounter() retval=00000000 ret=7b836439
0029:Ret KERNEL32.QueryPerformanceCounter() retval=00000001 ret=004c9dc9
0029:Call KERNEL32.TlsGetValue(00000004) ret=004d23f4
0029:Ret KERNEL32.TlsGetValue() retval=0014c5a0 ret=004d23f4
0029:Call gdi32.SwapBuffers(001a0029) ret=004ec9c2
...
002a:err:ntdll:RtlpWaitForCriticalSection section 0x137988 "?" wait timed out
in thread 002a, blocked by 0000, retrying (60 sec)
--- snip ---
Looks more like a bug in the game itself lurking here.
Only filtering the log for the critical section 0x137988 in question shows it
clearer:
--- snip ---
...
0029:Call KERNEL32.InitializeCriticalSectionAndSpinCount(00137988,000007d0)
ret=004c96cd
0029:Call ntdll.RtlInitializeCriticalSectionEx(00137988,000007d0,00000000)
ret=7b876d5e
002a:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
002a:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
002a:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
002a:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
...
002a:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
0029:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
002a:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
0029:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
002a:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
002a:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
...
002a:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
002a:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
0029:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e ; enter #1
0029:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e ; leave #1
0029:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e ; leave #2 (!)
002a:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
0029:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
0029:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
...
0029:Call ntdll.RtlEnterCriticalSection(00137988) ret=004c971e
0029:Call ntdll.RtlLeaveCriticalSection(00137988) ret=004c978e
...
002a:err:ntdll:RtlpWaitForCriticalSection section 0x137988 "?" wait timed out
in thread 002a, blocked by 0000, retrying (60 sec)
--- snip ---
$ sha1sum Serena.1.zip
ade29b22f6e35095e5ebf8b60efae4b0db84aaa0 Serena.1.zip
$ du -sh Serena.1.zip
316M Serena.1.zip
$ wine --version
wine-1.7.21
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list