Wine regression caused by 12/02 18:05:37 UTC commit: breaks Total
Annihilation
Jonathan Gevaryahu
lord_nightmare at users.sourceforge.net
Sun Dec 12 09:59:43 CST 2004
The CVS commit on 12/02 at 18:05:37 UTC causes the game "Total
Annihilation" to cease functioning. Previously the game worked (although
sounds don't work due to a seperate directsound issue), but since the
aformentioned commit, the game changes resolution but does not ever
display its titlescreen (it isn't invisible either, clicking where the
exit button would be has no effect), and cpu usage is maxed out,
suggesting an infinite loop.
I did a trace using
WINEDEBUG="err+all,warn+all,fixme+all,trace+ntdll,trace+kernel,trace+server"
and got the following, repeated over and over with some small variation:
...
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
000d: *wakeup* signaled=258 cookie=0x44f7f4a0
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
000d: select( flags=12, cookie=0x44f7f4a0, timeout=1102866572.849273
(+0.002667)
, handles={0x10c} )
000d: select() = PENDING
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
000d: *wakeup* signaled=258 cookie=0x44f7f4a0
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
000a: event_op( handle=0xc0, op=1 )
000a: event_op() = 0
000d: select( flags=12, cookie=0x44f7f4a0, timeout=1102866572.859131
(+0.005230)
, handles={0x10c} )
000d: select() = PENDING
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4087f794, timeout=0, handles={0x10} )
0009: select() = ACCESS_DENIED
000d: *wakeup* signaled=258 cookie=0x44f7f4a0
...
This was tested on both normal and modified (no-CD crack) versions of
total annihilation, and no difference in behavior was noted.
Here is the information about the commit in question:
CVS Commit 12/02 18:05:37 message:
Eric Pouech <pouech-eric at wanadoo.fr>
- moved event, semaphore, mutex implementation from kernel32 to ntdll
- added mutant implementation in ntdll, and use it for mutex
implementation in kernel32
- added access parameter on event, semaphore, timer creation in
wineserver (as ntdll interface requires it)
- added missing definitions in include/winternl.h
Files modified by commit:
dlls/kernel/sync.c
dlls/ntdll/ntdll.spec
dlls/ntdll/sync.c
include/winternl.h
include/wine/server_protocol.h
server/event.c
server/mutex.c
server/protocol.def
server/semaphore.c
server/timer.c
server/trace.c
Jonathan Gevaryahu
lord_nightmare at users.sf.net
More information about the wine-devel
mailing list