2012-01-20 1 views
1

私たちの(レガシー)アプリケーションは、何年も前からOSのバージョン(10.4 - 10.7)で安定して動作していました。WaitNextEventが10.7.2未満でクラッシュする

すべてのクラッシュは、ランダムな場所の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 

どれヒントが高く評価されています!

今のところ、バグをローカルで再現できませんでした。

+0

うわー。ここで仲間のPowerPlanterを見てうれしいです。 :)私はあなたに答えがありませんが、私は数年前にも私のアプリケーションの1つがWaitNextEventの中でランダムにクラッシュしたことを覚えています。髪を引っ張ってから、私は最終的にそれを別のCFReleaseにCFStringRefに固定しました。余分なリリースの近くではなく、イベントループの後半でどのように墜落したこともありませんでした。 –

+0

これは奇妙なものです!しかし、クラッシュはある顧客のシステムでのみ起こっている - 彼はDefaultFolderXハックがインストールされている、すべてのクラッシュダンプに表示されている... – Jay

答えて

1

FWIW - その特定の顧客が(顧客のシステム上で我々のアプリのすべてのクラッシュダンプに現れて保管)DefaultFolderXを無効にした後にクラッシュするだけで姿を消した。..

関連する問題