id summary reporter owner description type status priority milestone component resolution keywords cc phab_field 3103 User report worker froze when exiting historic_bruno "OS: OS X Yosemite Game version: A18 Only happened once, it looks like it was waiting for the user report thread (!#7) to finish, which was running the blocking [http://curl.haxx.se/libcurl/c/curl_easy_perform.html curl_easy_perform] function. Normally this finishes in seconds, but I waited several minutes before forcing the process to close. Here's the backtrace: {{{ (lldb) bt all * thread #1: tid = 0x0c4d, 0x00007fff83c0a486 libsystem_kernel.dylib`__semwait_signal + 10, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP * frame #0: 0x00007fff83c0a486 libsystem_kernel.dylib`__semwait_signal + 10 frame #1: 0x00007fff8748bba7 libsystem_pthread.dylib`pthread_join + 445 frame #2: 0x0000000105746926 pyrogenesis`CUserReporter::Deinitialize() [inlined] CUserReporterWorker::Shutdown(this=0x00007fe6c87007f0) + 86 at UserReport.cpp:186 frame #3: 0x00000001057468f8 pyrogenesis`CUserReporter::Deinitialize(this=0x00000001073a57a8) + 40 at UserReport.cpp:595 frame #4: 0x00000001057580d9 pyrogenesis`Shutdown(flags=) + 601 at GameSetup.cpp:733 frame #5: 0x00000001055ab05e pyrogenesis`RunGameOrAtlas(argc=, argv=) + 5070 at main.cpp:512 frame #6: 0x00000001055a9bc5 pyrogenesis`main(argc=1, argv=0x00007fff5a657ba8) + 53 at main.cpp:555 frame #7: 0x00000001055a9ac4 pyrogenesis`start + 52 thread #2: tid = 0x0c5a, 0x00007fff83c0b22e libsystem_kernel.dylib`kevent64 + 10, queue = 'com.apple.libdispatch-manager' frame #0: 0x00007fff83c0b22e libsystem_kernel.dylib`kevent64 + 10 frame #1: 0x00007fff856a9d91 libdispatch.dylib`_dispatch_mgr_invoke + 247 frame #2: 0x00007fff856a9a6a libdispatch.dylib`_dispatch_mgr_thread + 52 thread #3: tid = 0x0c70, 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JS GC Helper' frame #0: 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10 frame #1: 0x00007fff87488ea0 libsystem_pthread.dylib`_pthread_cond_wait + 693 frame #2: 0x0000000105a4c79e pyrogenesis`PR_WaitCondVar(cvar=0x0000618000069c80, timeout=4294967295) + 414 at ptsynch.c:385 frame #3: 0x0000000105d5e1fb pyrogenesis`js::GCHelperThread::threadLoop() [inlined] js::GCHelperThread::wait(this=0x00007fe6c8c28398, which=) + 5 at jsgc.cpp:2274 frame #4: 0x0000000105d5e1f6 pyrogenesis`js::GCHelperThread::threadLoop(this=0x00007fe6c8c28398) + 102 at jsgc.cpp:2297 frame #5: 0x0000000105a58776 pyrogenesis`_pt_root(arg=0x00007fe6c8400670) + 358 at ptthread.c:205 frame #6: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #7: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #8: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #4: tid = 0x0c71, 0x00007fff83c0552e libsystem_kernel.dylib`mach_msg_trap + 10 frame #0: 0x00007fff83c0552e libsystem_kernel.dylib`mach_msg_trap + 10 frame #1: 0x00007fff83c0469f libsystem_kernel.dylib`mach_msg + 55 frame #2: 0x0000000105b6519e pyrogenesis`AsmJSMachExceptionHandlerThread(threadArg=0x00007fe6c8c27400) + 62 at AsmJSSignalHandlers.cpp:721 frame #3: 0x0000000105a58776 pyrogenesis`_pt_root(arg=0x00007fe6c8407d50) + 358 at ptthread.c:205 frame #4: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #5: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #6: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #5: tid = 0x0c72, 0x00007fff83c0552e libsystem_kernel.dylib`mach_msg_trap + 10, name = 'com.apple.audio.IOThread.client' frame #0: 0x00007fff83c0552e libsystem_kernel.dylib`mach_msg_trap + 10 frame #1: 0x00007fff83c0469f libsystem_kernel.dylib`mach_msg + 55 frame #2: 0x00007fff8b2f5980 CoreAudio`HALB_MachPort::SendMessageWithReply(unsigned int, unsigned int, unsigned int, unsigned int, mach_msg_header_t*, bool, unsigned int) + 98 frame #3: 0x00007fff8b2f590e CoreAudio`HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 42 frame #4: 0x00007fff8b2f3f60 CoreAudio`HALC_ProxyIOContext::IOWorkLoop() + 952 frame #5: 0x00007fff8b2f3b0e CoreAudio`HALC_ProxyIOContext::IOThreadEntry(void*) + 88 frame #6: 0x00007fff8b2f39eb CoreAudio`HALB_IOThread::Entry(void*) + 157 frame #7: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #8: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #9: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #6: tid = 0x0c76, 0x00007fff83c0a486 libsystem_kernel.dylib`__semwait_signal + 10 frame #0: 0x00007fff83c0a486 libsystem_kernel.dylib`__semwait_signal + 10 frame #1: 0x00007fff818c9f7d libsystem_c.dylib`nanosleep + 199 frame #2: 0x00000001061e7c44 pyrogenesis`SDL_Delay_REAL + 100 frame #3: 0x0000000106103937 pyrogenesis`SDL_Delay + 23 frame #4: 0x0000000105773a17 pyrogenesis`CSoundManagerWorker::Run(this=0x0000608000120820) + 71 at SoundManager.cpp:158 frame #5: 0x0000000105773992 pyrogenesis`CSoundManagerWorker::RunThread(data=0x0000608000120820) + 98 at SoundManager.cpp:110 frame #6: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #7: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #8: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #7: tid = 0x0c77, 0x00007fff83c0a3f6 libsystem_kernel.dylib`__select + 10 frame #0: 0x00007fff83c0a3f6 libsystem_kernel.dylib`__select + 10 frame #1: 0x0000000106040401 pyrogenesis`Curl_poll + 558 frame #2: 0x000000010603bcad pyrogenesis`curl_multi_wait + 497 frame #3: 0x0000000106036606 pyrogenesis`curl_easy_perform + 245 frame #4: 0x0000000105748dd4 pyrogenesis`CUserReporterWorker::ProcessReport(this=0x00007fe6c87007f0) + 612 at UserReport.cpp:355 frame #5: 0x00000001057488e8 pyrogenesis`CUserReporterWorker::Run(this=0x00007fe6c87007f0) + 1096 at UserReport.cpp:297 frame #6: 0x0000000105748462 pyrogenesis`CUserReporterWorker::RunThread(data=0x00007fe6c87007f0) + 98 at UserReport.cpp:236 frame #7: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #8: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #9: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #8: tid = 0x0c87, 0x00007fff83c0552e libsystem_kernel.dylib`mach_msg_trap + 10 frame #0: 0x00007fff83c0552e libsystem_kernel.dylib`mach_msg_trap + 10 frame #1: 0x00007fff83c0469f libsystem_kernel.dylib`mach_msg + 55 frame #2: 0x00007fff80eb0b14 CoreFoundation`__CFRunLoopServiceMachPort + 212 frame #3: 0x00007fff80eaffdb CoreFoundation`__CFRunLoopRun + 1371 frame #4: 0x00007fff80eaf838 CoreFoundation`CFRunLoopRunSpecific + 296 frame #5: 0x00007fff8c0ec7a7 AppKit`_NSEventThread + 137 frame #6: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #7: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #8: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #9: tid = 0x0cb9, 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'Analysis Helper' frame #0: 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10 frame #1: 0x00007fff87488ea0 libsystem_pthread.dylib`_pthread_cond_wait + 693 frame #2: 0x0000000105a4c79e pyrogenesis`PR_WaitCondVar(cvar=0x0000600000066640, timeout=4294967295) + 414 at ptsynch.c:385 frame #3: 0x0000000105df7984 pyrogenesis`js::WorkerThread::threadLoop() [inlined] js::GlobalWorkerThreadState::wait(which=, millis=) + 660 at jsworkers.cpp:512 frame #4: 0x0000000105df7973 pyrogenesis`js::WorkerThread::threadLoop(this=0x00007fe6c908e800) + 643 at jsworkers.cpp:1046 frame #5: 0x0000000105a58776 pyrogenesis`_pt_root(arg=0x00007fe6c8508520) + 358 at ptthread.c:205 frame #6: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #7: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #8: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #10: tid = 0x0cba, 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'Analysis Helper' frame #0: 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10 frame #1: 0x00007fff87488ea0 libsystem_pthread.dylib`_pthread_cond_wait + 693 frame #2: 0x0000000105a4c79e pyrogenesis`PR_WaitCondVar(cvar=0x0000600000066640, timeout=4294967295) + 414 at ptsynch.c:385 frame #3: 0x0000000105df7984 pyrogenesis`js::WorkerThread::threadLoop() [inlined] js::GlobalWorkerThreadState::wait(which=, millis=) + 660 at jsworkers.cpp:512 frame #4: 0x0000000105df7973 pyrogenesis`js::WorkerThread::threadLoop(this=0x00007fe6c908e908) + 643 at jsworkers.cpp:1046 frame #5: 0x0000000105a58776 pyrogenesis`_pt_root(arg=0x00007fe6c85043a0) + 358 at ptthread.c:205 frame #6: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #7: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #8: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #11: tid = 0x0cbb, 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'Analysis Helper' frame #0: 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10 frame #1: 0x00007fff87488ea0 libsystem_pthread.dylib`_pthread_cond_wait + 693 frame #2: 0x0000000105a4c79e pyrogenesis`PR_WaitCondVar(cvar=0x0000600000066640, timeout=4294967295) + 414 at ptsynch.c:385 frame #3: 0x0000000105df7984 pyrogenesis`js::WorkerThread::threadLoop() [inlined] js::GlobalWorkerThreadState::wait(which=, millis=) + 660 at jsworkers.cpp:512 frame #4: 0x0000000105df7973 pyrogenesis`js::WorkerThread::threadLoop(this=0x00007fe6c908ea10) + 643 at jsworkers.cpp:1046 frame #5: 0x0000000105a58776 pyrogenesis`_pt_root(arg=0x00007fe6c851a2a0) + 358 at ptthread.c:205 frame #6: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #7: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #8: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #12: tid = 0x0cbc, 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'Analysis Helper' frame #0: 0x00007fff83c0a132 libsystem_kernel.dylib`__psynch_cvwait + 10 frame #1: 0x00007fff87488ea0 libsystem_pthread.dylib`_pthread_cond_wait + 693 frame #2: 0x0000000105a4c79e pyrogenesis`PR_WaitCondVar(cvar=0x0000600000066640, timeout=4294967295) + 414 at ptsynch.c:385 frame #3: 0x0000000105df7984 pyrogenesis`js::WorkerThread::threadLoop() [inlined] js::GlobalWorkerThreadState::wait(which=, millis=) + 660 at jsworkers.cpp:512 frame #4: 0x0000000105df7973 pyrogenesis`js::WorkerThread::threadLoop(this=0x00007fe6c908eb18) + 643 at jsworkers.cpp:1046 frame #5: 0x0000000105a58776 pyrogenesis`_pt_root(arg=0x00007fe6c851a3d0) + 358 at ptthread.c:205 frame #6: 0x00007fff874882fc libsystem_pthread.dylib`_pthread_body + 131 frame #7: 0x00007fff87488279 libsystem_pthread.dylib`_pthread_start + 176 frame #8: 0x00007fff874864b1 libsystem_pthread.dylib`thread_start + 13 thread #14: tid = 0x12a7, 0x00007fff83c0a946 libsystem_kernel.dylib`__workq_kernreturn + 10 frame #0: 0x00007fff83c0a946 libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x00007fff87488757 libsystem_pthread.dylib`_pthread_wqthread + 869 frame #2: 0x00007fff874864a1 libsystem_pthread.dylib`start_wqthread + 13 thread #15: tid = 0x12ab, 0x00007fff83c0a946 libsystem_kernel.dylib`__workq_kernreturn + 10 frame #0: 0x00007fff83c0a946 libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x00007fff87488757 libsystem_pthread.dylib`_pthread_wqthread + 869 frame #2: 0x00007fff874864a1 libsystem_pthread.dylib`start_wqthread + 13 }}}" defect closed Should Have Backlog Core engine fixed