1

私のユーザーの小さなサブセットに影響を与えているかなりイライラするクラッシャーがあります。私の分析から、それは10.5を実行しているPowerPCユーザーに分離されているようです。ガベージコレクターがバックグラウンドで実行されると、アプリケーションがサイレントに強制終了されます。クラッシュログの関連スニペットは次のとおりです。

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000093db26f8
Crashed Thread:  1

Application Specific Information:
objc[8361]: garbage collection is ON
test_node_integrity:  FreeListNode 0x1184000 { _prev = 0x0, _next = 0xffffffff, _size = 0 } failed integrity check.
    Thread 0:
0   libSystem.B.dylib               0x95a4c1f8 mach_msg_trap + 8
1   libSystem.B.dylib               0x95a5311c mach_msg + 56
2   com.apple.CoreFoundation        0x96a04394 CFRunLoopRunSpecific + 1812
3   com.apple.HIToolbox             0x9003fb14 RunCurrentEventLoopInMode + 264
4   com.apple.HIToolbox             0x9003f938 ReceiveNextEventCommon + 412
5   com.apple.HIToolbox             0x9003f778 BlockUntilNextEventMatchingListInMode + 84
6   com.apple.AppKit                0x94d18244 _DPSNextEvent + 596
7   com.apple.AppKit                0x94d17bfc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 112
8   com.apple.AppKit                0x94d1189c -[NSApplication run] + 744
9   com.apple.AppKit                0x94ce2298 NSApplicationMain + 440
10  com.secondgear.checkoff         0x00002e48 start + 64

Thread 1 Crashed:
0   libauto.dylib                   0x93db26f8 Auto::Admin::test_node_integrity(Auto::FreeListNode*) + 392
1   libauto.dylib                   0x93db8dec Auto::Zone::block_deallocate_internal(void*) + 168
2   libauto.dylib                   0x93da80d4 auto_collection_thread(void*) + 148

古いPPCMacでクラッシュを再現できませんでした。エラーの性質があいまいなため、Macでクラッシュが発生している場所を特定するのがやや困難です。

これを分離するために使用できるデバッグ戦略またはツールはありますか?おそらく、クラッシュの原因/原因を特定するためにユーザーに渡すことができるものはありますか?

4

1 に答える 1

0

これは通常、次の3つのいずれかが原因で発生します。

  • メモリの破損

  • バンドルアンロード

  • メモリ不足(アドレス空間の枯渇)

ただし、PPC固有であるのは奇妙なことです。ユーザー全員が最新バージョンのOSを実行しており、Rosetta(GCをサポートしていない)で誤ってアプリケーションを実行していないことを確認してください。

また、ユーザーにコンソールログを要求することもできます。中にはもっと証拠があるかもしれません。

それを超えて、私は提供するものがあまりありません。この種の問題をデバッグするには、ローカルマシンで再現可能なケースが必要です。それ以外の場合は、証拠があまりないためです。

于 2009-10-25T17:13:21.820 に答える