Snow Leopardサーバーで数日から数週間実行されるアプリケーションがあります。 -[NSRunLoop runUntilDate:]
を使用して10秒間「一時停止」し、タスクを実行してからもう一度一時停止します。 1時間以上実行した後、次のレポートで私のアプリがクラッシュ:一見NSRunloop runUntilDateによってアプリケーションクラッシュが発生する
クラッシュレポート
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000013
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Application Specific Information:
objc_msgSend() selector name: release
Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff84cfef0c objc_msgSend + 40
1 com.apple.CoreFoundation 0x00007fff84e363d1 __CFRunLoopDoSources0 + 1361
2 com.apple.CoreFoundation 0x00007fff84e345c9 __CFRunLoopRun + 873
3 com.apple.CoreFoundation 0x00007fff84e33d8f CFRunLoopRunSpecific + 575
4 com.apple.Foundation 0x00007fff83e73b74 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 270
5 com.apple.Foundation 0x00007fff83ebf19a -[NSRunLoop(NSRunLoop) runUntilDate:] + 78
は、私は私のNSRunLoop
オブジェクトがもはや有効で、したがって、深いCF内release
メッセージであると思っていませんクラッシュを引き起こします。しかし、私はこれが当てはまるとは思わない。 前の行のcurrentRunLoop
オブジェクトへの参照を取得する。
クラッシュ時間は1時間から1.5時間の間で異なりますが、原因を特定することはできません。 私は次に何をすべきか分からないので、コメントや意見やアイデアをデバッグすると大変感謝します。
EDIT:問題が解決 -私は、これは正確にあなたの質問に答えていない知っている
失敗したメソッドからコードを投稿することはできますか? – NJones