10.7.2 下 WaitNextEvent 随机崩溃
我们的(旧版)应用多年来一直在一系列操作系统版本(10.4 - 10.7)上稳定运行,现在在 WaitNextEvent
内的一台客户计算机(不过是两台)上随机崩溃。
所有崩溃都发生在 Apple 代码深处的随机位置,但总是在调用堆栈中的某个位置发生 WaitNextEvent
。
例如:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 dyld 0x8fe8a33d _ZN4dyldL10loadPhase5EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 716
1 dyld 0x8fe8a501 _ZN4dyldL10loadPhase4EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 179
2 dyld 0x8fe8ae31 _ZN4dyldL10loadPhase3EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 1429
3 dyld 0x8fe8b1f1 _ZN4dyldL10loadPhase1EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 166
4 dyld 0x8fe8b340 _ZN4dyldL10loadPhase0EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 240
5 dyld 0x8fe8b3fd dyld::load(char const*, dyld::LoadContext const&) + 132
6 dyld 0x8fe8e036 dlopen + 428
7 libdyld.dylib 0x977b9a95 dlopen + 70
8 com.apple.CoreServices.CarbonCore 0x90d467cf GetDYLDEntryPointWithImage + 43
9 com.apple.CoreServices.CarbonCore 0x90d50aed GetDYLDEntryPoint + 45
10 com.apple.AppKit 0x9c62cf2c _IsCarbonFullScreenInstanceWorkspace + 57
11 com.apple.AppKit 0x9c03231c -[NSApplication _updateFullScreenPresentationOptions] + 75
12 com.apple.AppKit 0x9bdc97d5 -[NSApplication sendEvent:] + 906
13 com.apple.AppKit 0x9c4d81e1 _appActivationHandler + 547
14 com.apple.AppKit 0x9c4d79b8 carbonAppApplicationHandler + 108
15 com.apple.HIToolbox 0x9bb9f920 _InvokeEventHandlerUPP(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*, long (*)(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)) + 36
16 com.apple.HIToolbox 0x9ba1b803 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1602
17 com.apple.HIToolbox 0x9ba1ac80 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 482
18 com.apple.HIToolbox 0x9ba1aa98 SendEventToEventTargetWithOptions + 75
19 com.apple.HIToolbox 0x9ba306fe _ZL29ToolboxEventDispatcherHandlerP25OpaqueEventHandlerCallRefP14OpaqueEventRefPv + 3152
20 com.apple.HIToolbox 0x9ba1bcbe _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 2813
21 com.apple.HIToolbox 0x9ba1ac80 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 482
22 com.apple.HIToolbox 0x9ba2faa9 SendEventToEventTarget + 76
23 com.apple.HIToolbox 0x9bb9f76c ToolboxEventDispatcher + 82
24 com.apple.HIToolbox 0x9bbb1e0f GetOrPeekEvent + 482
25 com.apple.HIToolbox 0x9bbb217f GetNextEventMatchingMask + 539
26 com.apple.HIToolbox 0x9bbb24b7 WNEInternal + 434
27 com.apple.HIToolbox 0x9bbb1784 WaitNextEvent + 53
28 com.ourStuff 0x000bebe5 LApplication::ProcessNextEvent() + 69
或
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x9c2dec22 mach_msg_trap + 10
1 libsystem_kernel.dylib 0x9c2de1f6 mach_msg + 70
2 com.apple.CoreFoundation 0x98f370ea __CFRunLoopServiceMachPort + 170
3 com.apple.CoreFoundation 0x98f40214 __CFRunLoopRun + 1428
4 com.apple.CoreFoundation 0x98f3f8ec CFRunLoopRunSpecific + 332
5 com.apple.CoreFoundation 0x98f3f798 CFRunLoopRunInMode + 120
6 com.apple.HIToolbox 0x95b7fa7f RunCurrentEventLoopInMode + 318
7 com.apple.HIToolbox 0x95d1c151 GetNextEventMatchingMask + 493
8 com.apple.HIToolbox 0x95d1c4b7 WNEInternal + 434
9 com.apple.HIToolbox 0x95d1b784 WaitNextEvent + 53
10 com.apple.HIToolbox 0x95cfc136 ModalDialog + 1638
11 com.apple.HIToolbox 0x95d03ff5 RunStandardAlert + 741
12 com.apple.HIToolbox 0x95d028bf StandardAlert + 201
13 com.ourStuff 0x0007fbaa 0x1000 + 519082
任何提示都将受到高度赞赏!
截至目前,我们无法在本地重现该错误。
Our (legacy) app runs stable on a range of OS versions (10.4 - 10.7) since years and now randomly crashes at ONE customers computers (both of them, though) within WaitNextEvent
.
All crashes occur deep inside Apple's code with random locations but always with WaitNextEvent
somewhere in the call stack.
Examples are:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 dyld 0x8fe8a33d _ZN4dyldL10loadPhase5EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 716
1 dyld 0x8fe8a501 _ZN4dyldL10loadPhase4EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 179
2 dyld 0x8fe8ae31 _ZN4dyldL10loadPhase3EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 1429
3 dyld 0x8fe8b1f1 _ZN4dyldL10loadPhase1EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 166
4 dyld 0x8fe8b340 _ZN4dyldL10loadPhase0EPKcS1_RKNS_11LoadContextEPSt6vectorIS1_SaIS1_EE + 240
5 dyld 0x8fe8b3fd dyld::load(char const*, dyld::LoadContext const&) + 132
6 dyld 0x8fe8e036 dlopen + 428
7 libdyld.dylib 0x977b9a95 dlopen + 70
8 com.apple.CoreServices.CarbonCore 0x90d467cf GetDYLDEntryPointWithImage + 43
9 com.apple.CoreServices.CarbonCore 0x90d50aed GetDYLDEntryPoint + 45
10 com.apple.AppKit 0x9c62cf2c _IsCarbonFullScreenInstanceWorkspace + 57
11 com.apple.AppKit 0x9c03231c -[NSApplication _updateFullScreenPresentationOptions] + 75
12 com.apple.AppKit 0x9bdc97d5 -[NSApplication sendEvent:] + 906
13 com.apple.AppKit 0x9c4d81e1 _appActivationHandler + 547
14 com.apple.AppKit 0x9c4d79b8 carbonAppApplicationHandler + 108
15 com.apple.HIToolbox 0x9bb9f920 _InvokeEventHandlerUPP(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*, long (*)(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)) + 36
16 com.apple.HIToolbox 0x9ba1b803 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1602
17 com.apple.HIToolbox 0x9ba1ac80 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 482
18 com.apple.HIToolbox 0x9ba1aa98 SendEventToEventTargetWithOptions + 75
19 com.apple.HIToolbox 0x9ba306fe _ZL29ToolboxEventDispatcherHandlerP25OpaqueEventHandlerCallRefP14OpaqueEventRefPv + 3152
20 com.apple.HIToolbox 0x9ba1bcbe _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 2813
21 com.apple.HIToolbox 0x9ba1ac80 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 482
22 com.apple.HIToolbox 0x9ba2faa9 SendEventToEventTarget + 76
23 com.apple.HIToolbox 0x9bb9f76c ToolboxEventDispatcher + 82
24 com.apple.HIToolbox 0x9bbb1e0f GetOrPeekEvent + 482
25 com.apple.HIToolbox 0x9bbb217f GetNextEventMatchingMask + 539
26 com.apple.HIToolbox 0x9bbb24b7 WNEInternal + 434
27 com.apple.HIToolbox 0x9bbb1784 WaitNextEvent + 53
28 com.ourStuff 0x000bebe5 LApplication::ProcessNextEvent() + 69
or
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x9c2dec22 mach_msg_trap + 10
1 libsystem_kernel.dylib 0x9c2de1f6 mach_msg + 70
2 com.apple.CoreFoundation 0x98f370ea __CFRunLoopServiceMachPort + 170
3 com.apple.CoreFoundation 0x98f40214 __CFRunLoopRun + 1428
4 com.apple.CoreFoundation 0x98f3f8ec CFRunLoopRunSpecific + 332
5 com.apple.CoreFoundation 0x98f3f798 CFRunLoopRunInMode + 120
6 com.apple.HIToolbox 0x95b7fa7f RunCurrentEventLoopInMode + 318
7 com.apple.HIToolbox 0x95d1c151 GetNextEventMatchingMask + 493
8 com.apple.HIToolbox 0x95d1c4b7 WNEInternal + 434
9 com.apple.HIToolbox 0x95d1b784 WaitNextEvent + 53
10 com.apple.HIToolbox 0x95cfc136 ModalDialog + 1638
11 com.apple.HIToolbox 0x95d03ff5 RunStandardAlert + 741
12 com.apple.HIToolbox 0x95d028bf StandardAlert + 201
13 com.ourStuff 0x0007fbaa 0x1000 + 519082
Any hints are highly appreciated!
As of now we couldn't reproduce the bug locally.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
FWIW - 在该特定客户停用 DefaultFolderX 后,崩溃就消失了(它一直出现在客户系统上我们应用程序的每个崩溃转储中)。
FWIW - the crashes just disappeared after that particular customer deactivated DefaultFolderX (which kept showing up in every crash dump of our app on the customers system)..