Symbols NSEventIgnoringModifiers randomly throws the exception "TSMProcessRawKeyCode failed"

Our Mac cocos2d app (http://deepworldgame.com) accidentally removed the "TSMProcessRawKeyCode failed" exceptions for some time, and I wonder if anyone has experienced this error or knows how to prevent it.

This always happens by calling [NSEvent charactersIgnoringModifiers] in ccKeysDown or ccKeysUp (this also happens for [NSEvent characters] without modifiers). I do not think this is related to specific keys. Sometimes this happens only once, and the application continues to function after that (if an exception is caught), but in other cases it significantly blocks keyboard input indefinitely and continues to raise exceptions with all future keystrokes (again, when these exceptions are caught).

Unfortunately, I did not find much on the Internet regarding this problem. One place I discovered was in the Adium source code (https://bitbucket.org/adium/adium/adium/src/6d1f9b903525/Source/AIExceptionController.m) that gets this exception with comments:

//Ignore various known harmless or unavoidable exceptions (From the system or system hacks) 
...
// [TSMProcessRawKeyCode] May be raised by -[NSEvent charactersIgnoringModifiers]

, , , , - cmd-F !

, - - , . , .

!

(MacManager.m - , cocos2d):

Crashed Thread:  7  CVDisplayLink

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
objc[28871]: garbage collection is OFF
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'TSMProcessRawKeyCode failed (-192)'
*** Call stack at first throw:
(
0   CoreFoundation                      0x95b27d87 __raiseError + 231
1   libobjc.A.dylib                     0x9315a149 objc_exception_throw + 155
2   CoreFoundation                      0x95a8f619 +[NSException raise:format:arguments:] + 137
3   CoreFoundation                      0x95a8f589 +[NSException raise:format:] + 57
4   AppKit                              0x9ac01c1f _convertEventRefToString + 300
5   AppKit                              0x9ab23b5e -[NSEvent charactersIgnoringModifiers] + 880
6   Deepworld                           0x0001fd8a -[MacManager ccKeyDown:] + 65
7   CoreFoundation                      0x95a7d091 -[NSObject performSelector:withObject:] + 65
8   Deepworld                           0x0006bc95 -[CCEventDispatcher keyDown:] + 80
9   CoreFoundation                      0x95a7d091 -[NSObject performSelector:withObject:] + 65
10  Deepworld                           0x0006c014 -[CCEventDispatcher dispatchQueuedEvents] + 143
11  Deepworld                           0x0006a9a4 -[CCDirectorDisplayLink getFrameForTime:] + 155
12  Deepworld                           0x0006aaf1 MyDisplayLinkCallback + 40
13  CoreVideo                           0x9b44a5e1 _ZN13CVDisplayLink9performIOEP11CVTimeStamp + 489
14  CoreVideo                           0x9b4494e4 _ZN13CVDisplayLink11runIOThreadEv + 876
15  CoreVideo                           0x9b449161 _ZL13startIOThreadPv + 160
16  libsystem_c.dylib                   0x968a4ed9 _pthread_start + 335
17  libsystem_c.dylib                   0x968a86de thread_start + 34
)
+5
1

, , , + [NSThread detachNewThreadSelector: toTarget: withObject:] ( Objective-C run- __NSThread__main__ backtrace).

, Deepworld - , - [NSObject performSelectorOnMainThread: waitUntilDone:]. ,

+2

All Articles