내 응용 프로그램의 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;
인을 사용자가 선택한대로 시스템에 등록 된 시스템 사운드 중 하나를 재생합니다. 나에게 그것은 버그처럼 보이고, 나는 단지 버그 리포트를 제출했다.
아무도이 경험이 없습니까?
나는 그것을 또한 경험하고있다. 그것이 심각한 지 확실하지 않습니다. 나는 메인 스레드에 사운드 재생을 강요했지만 아무런 운이 없었습니다. –
라이온스에서보고되어 작업중인 버그입니다. 현재 AFAIK는 해결 방법이 없습니다. –
나는 그것을 잠시 후에 제출했다. 그리고 나중에 "9341336의 복제본"으로 표시되었다. – febeling