[Bug 6086] Master of Orion 2 hangs as soon as mouse is moved

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jan 6 19:24:24 CST 2009


http://bugs.winehq.org/show_bug.cgi?id=6086





--- Comment #57 from Janosch Machowinski <jmachowinski at gmx.de>  2009-01-06 19:24:23 ---
after writing the last report, a friend and me got interested in how to 
debug this issue. After a short while we found something interesting.
If you start wine with :
WINEDEBUG=+ddraw wine Orion95.exe
Everything works like a charm, even on slow (Pentium M at 600 mhz) machines.
After digging a bit through the code, we found, that the TRACE calls in 
IDirectDrawSurfaceImpl_Lock and
IDirectDrawSurfaceImpl_Unlock
are the source of this behaviour. 
Adding a litte usleep in the lock funktion also works as a quickhack.

We digged further and found the source of this whole thing in the process_event
function, which is called, but as long as the drawing thread never waits/blocks
never gets events from XCheckIfEvent (count 0).

So there seems to be some strange race condition here. We also noticed,
that this effect is not as devastating on multi core machines, as on single
cores. So as long as you have an multiprocess system you will only notive 
a halting and not a freezing mouse pointer. 
During debug we missed timestamps on the debug messages, is there
a way to add them ? 

Any further ideas ?


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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