我们有一位客户,他在OS X上的Java SWT应用程序中遇到本机崩溃。他能够在应用程序中使用高级操作重现问题,我们不是。
我们有一些来自客户的崩溃日志,这似乎表明崩溃发生在SWT调用的操作系统代码中。而且,它们似乎让我感到困惑,因为它们有不同的崩溃线程痕迹。下面粘贴了崩溃线程的样本痕迹。
现在的问题是:我应该在崩溃日志中寻找什么,或者尝试什么(让客户做)来收集更多信息以“解决”问题。通过'解决',我的意思是找到一种方法来摆脱它,或者以一种可以报告为SWT或Apple枯萎的方式隔离/复制它。
OS Version: Mac OS X 10.9.5 (13F34)
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGILL)
Exception Codes: KERN_PROTECTION_FAILURE at 0x000000010dbfb000
跟踪样本1:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff8cebfa1a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8cebed18 mach_msg + 64
2 com.apple.CoreGraphics 0x00007fff8d2ba99b _CGSSynchronizeWindowBackingStore + 97
3 com.apple.CoreGraphics 0x00007fff8d23c0cc _CGSLockWindow + 3765
4 com.apple.CoreGraphics 0x00007fff8d23afdf CGSDeviceLock + 240
5 libRIP.A.dylib 0x00007fff90616487 ripd_Lock + 43
6 libRIP.A.dylib 0x00007fff90616027 RIPLayerBltShape + 463
7 libRIP.A.dylib 0x00007fff90614468 ripc_Render + 304
8 libRIP.A.dylib 0x00007fff906102e1 ripc_DrawRects + 399
9 com.apple.CoreGraphics 0x00007fff8d23797a CGContextFillRects + 96
10 com.apple.AppKit 0x00007fff95a74c7f NSRectFill + 271
11 com.apple.AppKit 0x00007fff95b28ed8 -[NSScrollView drawRect:] + 473
12 libswt-pi-cocoa-4427.jnilib 0x0000000129f474ad Java_org_eclipse_swt_internal_cocoa_OS_objc_1msgSendSuper__Lorg_eclipse_swt_internal_cocoa_objc_1super_2JLorg_eclipse_swt_internal_cocoa_NSRect_2 + 186
跟踪样本2:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff8baf6a1a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8baf5d18 mach_msg + 64
2 com.apple.CoreGraphics 0x00007fff8bee9dd0 _CGSCopyWindowsWithOptionsAndTags + 144
3 com.apple.CoreGraphics 0x00007fff8bee9cfe __CGSCopyWindowsWithOptionsAndTags_block_invoke + 84
4 com.apple.CoreGraphics 0x00007fff8bee94cb array_call_as_integer_list + 267
5 com.apple.CoreGraphics 0x00007fff8bee9c60 CGSCopyWindowsWithOptionsAndTags + 253
6 com.apple.AppKit 0x00007fff94747f05 +[NSWindow _windowNumbersWithOptions:onSpace:] + 394
7 com.apple.AppKit 0x00007fff94747c03 -[NSApplication encodeRestorableStateWithCoder:] + 126
8 com.apple.AppKit 0x00007fff94744f23 -[NSPersistentUIRecord generateArchive:] + 170
9 com.apple.AppKit 0x00007fff9474580a recursivelyEncodeInvalidPersistentState + 421
10 com.apple.AppKit 0x00007fff94744115 -[NSPersistentUIManager flushAllChangesOptionallyWaitingUntilDone:updatingSnapshots:] + 1158
11 com.apple.AppKit 0x00007fff94743c58 -[NSPersistentUIManager flushPersistentStateAndClose:waitingUntilDone:] + 181
12 com.apple.AppKit 0x00007fff944fea66 run_cocoa_block + 41
13 com.apple.AppKit 0x00007fff948654d7 __29-[NSPersistentUIManager init]_block_invoke_2 + 77
14 libdispatch.dylib 0x00007fff944bc1bb _dispatch_call_block_and_release + 12
15 libdispatch.dylib 0x00007fff944b928d _dispatch_client_callout + 8
16 libdispatch.dylib 0x00007fff944c1433 _dispatch_after_timer_callback + 77
17 libdispatch.dylib 0x00007fff944b928d _dispatch_client_callout + 8
18 libdispatch.dylib 0x00007fff944bb885 _dispatch_source_invoke + 413
19 libdispatch.dylib 0x00007fff944c0e97 _dispatch_main_queue_callback_4CF + 244
20 com.apple.CoreFoundation 0x00007fff8bc144f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
21 com.apple.CoreFoundation 0x00007fff8bbcf714 __CFRunLoopRun + 1636
22 com.apple.CoreFoundation 0x00007fff8bbcee75 CFRunLoopRunSpecific + 309
23 com.apple.HIToolbox 0x00007fff95520a0d RunCurrentEventLoopInMode + 226
24 com.apple.HIToolbox 0x00007fff955207b7 ReceiveNextEventCommon + 479
25 com.apple.HIToolbox 0x00007fff955205bc _BlockUntilNextEventMatchingListInModeWithFilter + 65
26 com.apple.AppKit 0x00007fff9451e24e _DPSNextEvent + 1434
27 com.apple.AppKit 0x00007fff9451d89b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
28 libswt-pi-cocoa-4427.jnilib 0x0000000120a4ed6a Java_org_eclipse_swt_internal_cocoa_OS_objc_1msgSendSuper__Lorg_eclipse_swt_internal_cocoa_objc_1super_2JJJJZ + 122