i'm working on cocoa application leverages nsopenglview driven cvdisplaylink thread.
we've seen number of crash reports (in wild) following stack trace. 10.11 only.
#29. crashed: com.apple.root.default-qos 0 libobjc.a.dylib 0x7fff933bb4dd objc_msgsend + 29 1 coregraphics 0x7fff9219f19e cgimagegetproperty + 52 2 quartzcore 0x7fff93ae1312 ca::render::create_image(cgimage*, cgcolorspace*, unsigned int) + 149 3 quartzcore 0x7fff93ae0fe6 ca::render::copy_image(cgimage*, cgcolorspace*, unsigned int, double) + 395 4 quartzcore 0x7fff93aeeb6b ca::render::copy_render_value(void const*, cgcolorspace* (*)()) + 278 5 appkit 0x7fffa010fcec -[_nscglsurface _copynonatomicrendervalue] + 296 6 quartzcore 0x7fff93addc35 -[calayer(calayerprivate) _copyrenderlayer:layerflags:commitflags:] + 557 7 quartzcore 0x7fff93add59d ca::context::commit_layer(ca::layer*, unsigned int, unsigned int, void*) + 103 8 quartzcore 0x7fff93add4ca ca::layer::commit_if_needed(ca::transaction*, void (*)(ca::layer*, unsigned int, unsigned int, void*), void*) + 330 9 quartzcore 0x7fff93adba72 ca::context::commit_transaction(ca::transaction*) + 1766 10 quartzcore 0x7fff93adb0ec ca::transaction::commit() + 508 11 appkit 0x7fff9f9d95ae -[nsanimation(nsinternal) _advancetimewithdisplaylink:] + 429 12 appkit 0x7fff9f9d92ea -[nsscreendisplaylink _fire] + 439 13 corefoundation 0x7fffa0b7bb94 __cfrunloop_is_calling_out_to_a_timer_callback_function__ + 20 14 corefoundation 0x7fffa0b7b823 __cfrunloopdotimer + 1075 15 corefoundation 0x7fffa0b7b37a __cfrunloopdotimers + 298 16 corefoundation 0x7fffa0b72871 __cfrunlooprun + 1841 17 corefoundation 0x7fffa0b71ed8 cfrunlooprunspecific + 296 18 foundation 0x7fff98c92ed9 -[nsrunloop(nsrunloop) runmode:beforedate:] + 270 19 appkit 0x7fff9f93cd72 -[nsanimation(nsinternal) _runblocking] + 398 20 appkit 0x7fff9f93cbcb -[nsanimation(nsinternal) _animationthread] + 66 21 libdispatch.dylib 0x7fff8e85593d _dispatch_call_block_and_release + 12 22 libdispatch.dylib 0x7fff8e84a40b _dispatch_client_callout + 8 23 libdispatch.dylib 0x7fff8e84e29b _dispatch_root_queue_drain + 1890 24 libdispatch.dylib 0x7fff8e84db00 _dispatch_worker_thread3 + 91 25 libsystem_pthread.dylib 0x7fff90e4c4de _pthread_wqthread + 1129 26 libsystem_pthread.dylib 0x7fff90e4a341 start_wqthread + 13
we have cvdisplaylink driven thread in following state:
#35. cvdisplaylink 0 libsystem_platform.dylib 0x7fff9214ddbd _osspinlocklockslow + 79 1 quartzcore 0x7fff93ad88af -[calayer setcontents:] + 37 2 appkit 0x7fff9fe302d7 flush_notify + 1169 3 glengine 0x7fff95e1ecda (missing) 4 opengl 0x7fff9180effe cglflushdrawable + 66
when set symbolic breakpoint in ca::render::create_image
, cannot hit in com.apple.root.default-qos thread
. first question - when stack happen in qos thread? (and not main thread).
i should note crash happens bit above (in cgimagegetproperty
). appreciated.
Comments
Post a Comment