アプリケーションのOS X Lion 10.7で次のエラーが発生しています。エラーの原因を特定しましたが、これが10.7のバグかどうか、または何かが変更されて不足しているかどうかを調べたいと思っています。登録されていないスレッドでのGC操作
malloc: *** auto malloc[3677]: error: GC operation on unregistered thread. Thread registered implicitly. Break on auto_zone_thread_registration_error() to debug.
GDBからスタックトレースブレークポイントでbt
を実行している:
#0 0x00007fff90742b44 in auto_zone_thread_registration_error()
#1 0x00007fff9073a9a4 in auto_zone_allocate_object()
#2 0x00007fff8f36335e in _Block_copy_internal()
#3 0x00007fff8a9d7e9d in HALC_ProxyIOContext::StopIOProc()
#4 0x00007fff8a9d7dc6 in __HAL_HardwarePlugIn_DeviceStop_block_invoke_30()
#5 0x00007fff8a9b8521 in HALB_Executor::DoIt()
#6 0x00007fff8a9b84ce in HALB_Executor::Run()
#7 0x00007fff8a9d7ce9 in HAL_HardwarePlugIn_DeviceStop()
#8 0x00007fff8a9d7c6d in HALPlugIn::DeviceStopIOProc()
#9 0x00007fff8a9d7bb1 in AudioDeviceStop()
#10 0x00000001044b381c in AUHAL::StopHardware()
#11 0x00000001044b397e in AUHAL::AUIOProc()
#12 0x00007fff8a9d5362 in HALC_ProxyIOContext::IOWorkLoop()
#13 0x00007fff8a9d4ac9 in HALC_ProxyIOContext::IOThreadEntry()
#14 0x00007fff8a9d4984 in HALB_IOThread::Entry()
#15 0x00007fff8fb2f8bf in _pthread_start()
#16 0x00007fff8fb32b75 in thread_start()`
このガベージコレクションスレッドのエラーを引き起こしているコードは次のとおりです。
NSSound *completedSound = [NSSound soundNamed:@"Glass"];
[completedSound play] //this line is causing the error;
すべてその行がありませんさユーザーが選択したシステムに登録されているシステムサウンドの1つを再生します。私にはバグのように思えます。私はバグレポートを提出しました。
誰もがこれを経験しましたか?
私もそれを体験しています。それが深刻なのかどうかは分かりません。私はメインスレッドにサウンド再生を強制しました、運はありません。 –
これは報告されており、取り組んでいるLionのバグです。現時点でAFAIKは回避策はありません。私はそれを提出 –
は、あまりにも、しばらくは戻って、後でそれが「9341336の重複」としてマークされていた – febeling