2011-08-10 21 views
2

我在應用程序中的OS X Lion 10.7上出現以下錯誤。我已經指出了導致錯誤的原因,但是想知道這是10.7中的錯誤,還是因爲我錯過了某些東西而改變了。GC在未註冊線程上的操作

#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; 

所有該行確實是

malloc: *** auto malloc[3677]: error: GC operation on unregistered thread. Thread registered implicitly. Break on auto_zone_thread_registration_error() to debug. 
運行在斷點 bt

從GDB的堆棧跟蹤播放在用戶選擇的系統上註冊的系統聲音之一。對我來說,這似乎是一個錯誤,並且我已經提交了一個錯誤報告以防萬一。

其他人經歷過嗎?

+0

我也在遇到它。不確定是否嚴重。我試圖強制回放到主線程上,沒有運氣。 –

+0

這是Lion已經報告並正在處理的錯誤。目前AFAIK沒有解決方法。 –

+0

我也提交了它,一段時間後,它被標記爲「9341336的重複」 – febeling

回答

0

是的,的確我有。堆棧跟蹤看起來也很相似。這似乎發生在一個聲音文件停止播放時,我很確定它不會在10.6下發生。但它似乎並不影響我的應用程序的實際運行。

還有其他的這種錯誤(大多數情況下是WebKit)出現在谷歌上,當我正在尋找原因時,他們都表示這不是真的有任何問題。

錯誤報告編號是什麼?

+0

是的,跟蹤顯示AudioDeviceStop()所以認爲它是導致它的播放結束,因爲聲音確實播放。爲了確保它只能在SL和更低的情況下工作,我已經給該調用打了一個包裝,直到我能夠找出某些東西。 它絕對不會發生在10.6上,因爲我爲應用程序完美工作的代碼。 錯誤ID是:9928419 –

0

檢查是否安裝了任何第三方音頻插件,並逐個刪除它們。崩潰報告將顯示所有已加載的軟件包。

0

我看到與語音合成器停止相同的消息。