这个很奇怪。我最近在我的开发机器上升级到了 Mountain Lion,现在每次我打开我的应用程序的主项目窗口时它都会崩溃。奇怪的是,它只发生在 10.8.3 上,而且只有在我对应用程序进行沙箱处理时才会发生。我有另一台运行 10.8.2(也是 Mountain Lion)的测试机器并且没有发生崩溃。此外,如果我在没有沙盒的情况下重新创建应用程序,它不会崩溃。这个应用程序实际上是用一个 common lisp 实现创建的,它使用一个名为 CCL 的可可桥。
以下是我在应用程序崩溃时在控制台中收到的一些报告:
4/19/13 11:30:15.605 AM AgentCubes[56676]: kCGErrorIllegalArgument: _getWindowRegion: Invalid window
4/19/13 11:30:15.606 AM AgentCubes[56676]: CGSSetWindowLevel: Invalid window 0x137c
4/19/13 11:30:15.607 AM AgentCubes[56676]: PSsetwindowlevel, error setting window level (1000)
4/19/13 11:30:15.607 AM AgentCubes[56676]: CGSClearWindowTags: Invalid window 0x137c
4/19/13 11:30:15.607 AM AgentCubes[56676]: CGSSetIgnoresCycle: error 1000 setting or clearing window tags
4/19/13 11:30:15.623 AM AgentCubes[56676]: *** Assertion failure in -[NativeScrollView scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:], /SourceCache/AppKit/AppKit-1187.37/AppKit.subproj/NSScrollView.m:5402
4/19/13 11:30:15.623 AM AgentCubes[56676]: An uncaught exception was raised
4/19/13 11:30:15.624 AM AgentCubes[56676]: Invalid parameter not satisfying: scrollerImpPair == SCROLLER_IMP_PAIR
和大痕迹:
4/19/13 11:30:15.626 AM AgentCubes[56676]: (
0 CoreFoundation 0x99cbee9b __raiseError + 219
1 libobjc.A.dylib 0x90a6552e objc_exception_throw + 230
2 CoreFoundation 0x99c1e6a8 +[NSException raise:format:arguments:] + 136
3 Foundation 0x93dfb814 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
4 AppKit 0x977cd7ab -[NSScrollView(NSPrivate) scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 150
5 AppKit 0x977cd6a5 +[NSScrollerImpPair _updateAllScrollerImpPairsForNewRecommendedScrollerStyle:] + 406
6 AppKit 0x977cd4ff +[NSScrollerImpPair _scrollerStyleRecommendationChanged:] + 159
7 Foundation 0x93e52152 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 49
8 CoreFoundation 0x99c80861 ___CFXNotificationPost_block_invoke_0 + 257
9 CoreFoundation 0x99bcbe9a _CFXNotificationPost + 2794
10 Foundation 0x93e3ac88 -[NSNotificationCenter postNotificationName:object:userInfo:] + 92
11 AppKit 0x977cd3f5 -[_NSScrollerStyleRecommender setRecommendedScrollerStyleAndNotify:] + 248
12 AppKit 0x977cd2e3 __75-[_NSScrollerStyleRecommender scrollerStyleRecommendationUpdateTimerFired:]_block_invoke_0 + 43
13 AppKit 0x97eff42f __block_global_0 + 32
14 libdispatch.dylib 0x98f10f8f _dispatch_call_block_and_release + 15
15 libdispatch.dylib 0x98f0cc82 _dispatch_client_callout + 46
16 libdispatch.dylib 0x98f122e3 _dispatch_main_queue_callback_4CF + 223
17 CoreFoundation 0x99bbac39 __CFRunLoopRun + 1961
18 CoreFoundation 0x99bba02a CFRunLoopRunSpecific + 378
19 CoreFoundation 0x99bb9e9b CFRunLoopRunInMode + 123
20 HIToolbox 0x91e16f5a RunCurrentEventLoopInMode + 242
21 HIToolbox 0x91e16cc9 ReceiveNextEventCommon + 374
22 HIToolbox 0x91e16b44 BlockUntilNextEventMatchingListInMode + 88
23 AppKit 0x976e99aa _DPSNextEvent + 724
24 AppKit 0x976e91dc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 119
25 AppKit 0x976df63c -[NSApplication run] + 855
26 AgentCubes 0x0001991d ffcall_return + 0
27 ??? 0x003cbf9c 0x0 + 3981212
28 ??? 0x003cbf9c 0x0 + 3981212
29 AgentCubes 0x00019f79 func_start + 94
30 AgentCubes 0x0001c52e main + 1310
31 AgentCubes 0x00033fb4 _start + 207
32 AgentCubes 0x00033ee4 start + 40
)
最后:
4/19/13 11:30:15.627 AM AgentCubes[56676]: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: scrollerImpPair == SCROLLER_IMP_PAIR'
*** Call stack at first throw:
(
0 CoreFoundation 0x99cbee9b __raiseError + 219
1 libobjc.A.dylib 0x90a6552e objc_exception_throw + 230
2 CoreFoundation 0x99c1e6a8 +[NSException raise:format:arguments:] + 136
3 Foundation 0x93dfb814 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
4 AppKit 0x977cd7ab -[NSScrollView(NSPrivate) scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 150
5 AppKit 0x977cd6a5 +[NSScrollerImpPair _updateAllScrollerImpPairsForNewRecommendedScrollerStyle:] + 406
6 AppKit 0x977cd4ff +[NSScrollerImpPair _scrollerStyleRecommendationChanged:] + 159
7 Foundation 0x93e52152 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 49
8 CoreFoundation 0x99c80861 ___CFXNotificationPost_block_invoke_0 + 257
9 CoreFoundation 0x99bcbe9a _CFXNotificationPost + 2794
10 Foundation 0x93e3ac88 -[NSNotificationCenter postNotificationName:object:userInfo:] + 92
11 AppKit 0x977cd3f5 -[_NSScrollerStyleRecommender setRecommendedScrollerStyleAndNotify:] + 248
12 AppKit 0x977cd2e3 __75-[_NSScrollerStyleRecommender scrollerStyleRecommendationUpdateTimerFired:]_block_invoke_0 + 43
13 AppKit 0x97eff42f __block_global_0 + 32
14 libdispatch.dylib 0x98f10f8f _dispatch_call_block_and_release + 15
15 libdispatch.dylib 0x98f0cc82 _dispatch_client_callout + 46
16 libdispatch.dylib 0x98f122e3 _dispatch_main_queue_callback_4CF + 223
17 CoreFoundation 0x99bbac39 __CFRunLoopRun + 1961
18 CoreFoundation 0x99bba02a CFRunLoopRunSpecific + 378
19 CoreFoundation 0x99bb9e9b CFRunLoopRunInMode + 123
20 HIToolbox 0x91e16f5a RunCurrentEventLoopInMode + 242
21 HIToolbox 0x91e16cc9 ReceiveNextEventCommon + 374
22 HIToolbox 0x91e16b44 BlockUntilNextEventMatchingListInMode + 88
23 AppKit 0x976e99aa _DPSNextEvent + 724
24 AppKit 0x976e91dc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 119
25 AppKit 0x976df63c -[NSApplication run] + 855
26 AgentCubes 0x0001991d ffcall_return + 0
27 ??? 0x003cbf9c 0x0 + 3981212
28 ??? 0x003cbf9c 0x0 + 3981212
29 AgentCubes 0x00019f79 func_start + 94
30 AgentCubes 0x0001c52e main + 1310
31 AgentCubes 0x00033fb4 _start + 207
32 AgentCubes 0x00033ee4 start + 40
)
我对这一切感到非常困惑,我想知道 10.8.3 中与沙盒交互不好的地方会发生什么变化?