问题
I'm using TornadoFX and I've recently upgraded to macOS 10.14. The problem is that I get this error whenever I open a dialog and focus another application window:
2019-01-23 13:32:31.270 java[9369:78410] *** Assertion failure in -[NSEvent _initWithCGEvent:eventRef:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1671.20.108/AppKit.subproj/NSEvent.m:1969
2019-01-23 13:32:46.218 java[9369:78410] unrecognized type is 4294967295
2019-01-23 13:32:46.218 java[9369:78410] *** Assertion failure in -[NSEvent _initWithCGEvent:eventRef:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1671.20.108/AppKit.subproj/NSEvent.m:1969
2019-01-23 13:32:46.222 java[9369:78410] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: _type > 0 && _type <= kCGSLastEventType'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff2c2abecd __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff58363720 objc_exception_throw + 48
2 CoreFoundation 0x00007fff2c2c6b2a +[NSException raise:format:arguments:] + 98
3 Foundation 0x00007fff2e66ae0d -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 194
4 AppKit 0x00007fff2974f4d5 -[NSEvent _initWithCGEvent:eventRef:] + 3272
5 AppKit 0x00007fff29aa2b50 +[NSEvent eventWithCGEvent:] + 120
6 libglass.dylib 0x000000012ca2295b listenTouchEvents + 59
7 SkyLight 0x00007fff5240dbc2 _ZL19processEventTapDataPvjjjPhj + 148
8 SkyLight 0x00007fff5230bb44 _XPostEventTapData + 278
9 SkyLight 0x00007fff5240dad0 _ZL22eventTapMessageHandlerP12__CFMachPortPvlS1_ + 132
10 CoreFoundation 0x00007fff2c20caef __CFMachPortPerform + 282
11 CoreFoundation 0x00007fff2c20c9c9 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
12 CoreFoundation 0x00007fff2c20c927 __CFRunLoopDoSource1 + 527
13 CoreFoundation 0x00007fff2c1f49a9 __CFRunLoopRun + 2574
14 CoreFoundation 0x00007fff2c1f3d48 CFRunLoopRunSpecific + 463
15 Foundation 0x00007fff2e55a4aa -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
16 libglass.dylib 0x000000012ca0f7a8 +[GlassApplication enterNestedEventLoopWithEnv:] + 136
17 libglass.dylib 0x000000012ca1024a Java_com_sun_glass_ui_mac_MacApplication__1enterNestedEventLoopImpl + 74
18 ??? 0x0000000118544db5 0x0 + 4703145397
)
libc++abi.dylib: terminating with uncaught exception of type NSException
There is a solution for this detailed in this question but my problem is that I'm using TornadoFX and I can't really tamper with its dependencies. What can I do to fix this?
This ticked suggests that this is fixed in u202
but I tried it and I can still reproduce this problem with u202
.
回答1:
There is no relevant dependencies introduced by TornadoFX here, all you need is a version of Java 8 with the fix in place. As the release notes of u202 doesn't mention the fix for this issue, you should contact Oracle and ask them to clarify, and if there is a patch version available with the fix in place.
来源:https://stackoverflow.com/questions/54327733/how-to-fix-nsinternalinconsistencyexception-in-tornadofx-when-running-on-macos-1