Search code examples
macosmacos-carbon

Random crashes in WaitNextEvent under 10.7.2


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.


Solution

  • 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)..