[Bug 10318] Hellgate London freezes

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jan 18 06:57:59 CST 2008


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


Fábio Capela <fabio.capela at yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fabio.capela at yahoo.com




--- Comment #19 from Fábio Capela <fabio.capela at yahoo.com>  2008-01-18 06:57:58 ---
This seems to be the same problem I'm having running Aliens vs Predator. A
trace with +keyboard is almost identical to the ones you are getting; a trace
with +key show that each ToUnicodeEx invocation try a different keycode:

trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0000
trace:key:X11DRV_ToUnicodeEx (00E2, 0029) : faked state = 0x0000
trace:key:EVENT_event_to_vkey e->keycode = 5e
trace:keyboard:X11DRV_ToUnicodeEx Found keycode 94 (0x5E)
trace:key:X11DRV_ToUnicodeEx type 2, window 5800002, state 0x0000, keycode
0x005e
trace:key:X11DRV_ToUnicodeEx nbyte = 1, status 0x4
trace:key:X11DRV_ToUnicodeEx KeyPress : keysym=3C (less), # of chars=1 / "<"
trace:key:X11DRV_ToUnicodeEx Translating char 0x3c to unicode
trace:key:X11DRV_ToUnicodeEx ToUnicode about to return 1 with char 3c
trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0000
trace:key:X11DRV_ToUnicodeEx (00E2, 002A) : faked state = 0x0000
trace:key:EVENT_event_to_vkey e->keycode = 5e
trace:keyboard:X11DRV_ToUnicodeEx Found keycode 94 (0x5E)
trace:key:X11DRV_ToUnicodeEx type 2, window 5800002, state 0x0000, keycode
0x005e
trace:key:X11DRV_ToUnicodeEx nbyte = 1, status 0x4
trace:key:X11DRV_ToUnicodeEx KeyPress : keysym=3C (less), # of chars=1 / "<"
trace:key:X11DRV_ToUnicodeEx Translating char 0x3c to unicode
trace:key:X11DRV_ToUnicodeEx ToUnicode about to return 1 with char 3c

The game seems to test every possible combination of virtual key and scan code
with ToUnicodeEx (possibly a brute force approach to get the keyboard map).
This can easily be some tens of thousands of calls to this function.
Every call to ToUnicodeEx will result in a call to either XmbLookupString or
XLookupString - and I believe either X is not prepared to handle such a swarm
of requests or the game is getting tens of thousands of seemingly valid virtual
key to keycode combinations, which seems to be a good reason for the lockup.


-- 
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