On Sunday 12 December 2004 10:59 am, Jonathan Gevaryahu wrote:
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+ser ver" 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@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
Ditto. This kills warcraft3 and diablo2 on my FreeBSD system too. Same errors.