Description Repro Steps:
Open DSC
Load an image that has many dependencies
Close while they are loading
Stack Trace:
thread Synchronized navigation of split views. #24 , name = 'Worker PRI ', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000151b42f5c libsharedcacheui.dylibDSCTriageView::setImageLoaded(this=0x0000000466695950, imageHeaderAddr=6938501120) at dsctriage.cpp:138:36 [opt] frame #1: 0x0000000151b443c4 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0>, void ()>::operator()() at dsctriage.cpp:123:5 [opt]
frame inline editing the first line of assemble edits the offset of the function instead #2 : 0x0000000151b44300 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0>, void ()>::operator()() [inlined] decltype(std::declval<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0&>()()) std::__1::__invoke[abi:ne180100]<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0&>(__f=0x00006000c3afe198) at invoke.h:344:25 [opt] frame #3: 0x0000000151b44300 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0>, void ()>::operator()() [inlined] void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne180100]<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0&>(__args=0x00006000c3afe198) at invoke.h:419:5 [opt]
frame Associate .bndb files with Binary Ninja #4 : 0x0000000151b44300 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0>, void ()>::operator()() [inlined] std::__1::__function::__alloc_func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0>, void ()>::operator()[abi:ne180100](this=0x00006000c3afe198) at function.h:169:12 [opt] frame #5: 0x0000000151b44300 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0>, void ()>::operator()(this=0x00006000c3afe190) at function.h:311:10 [opt]
frame detect 64-bit python on windows #6 : 0x0000000151b62204 libsharedcacheui.dylibWorkerActionCallback(void*) [inlined] std::__1::__function::__value_func<void ()>::operator()[abi:ne180100](this=0x000060006b1e6a00) const at function.h:428:12 [opt] frame #7: 0x0000000151b621f0 libsharedcacheui.dylibWorkerActionCallback(void*) [inlined] std::__1::function<void ()>::operator()(this=0x000060006b1e6a00) const at function.h:981:10 [opt]
frame Constant annotation cross references #8 : 0x0000000151b621f0 libsharedcacheui.dylibWorkerActionCallback(ctxt=0x000060006b1e6a00) at binaryninjaapi.cpp:281:2 [opt]
Reactions are currently unavailable
You can’t perform that action at this time.
Repro Steps:
Stack Trace:
DSCTriageView::setImageLoaded(this=0x0000000466695950, imageHeaderAddr=6938501120) at dsctriage.cpp:138:36 [opt] frame #1: 0x0000000151b443c4 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0>, void ()>::operator()() at dsctriage.cpp:123:5 [opt]frame inline editing the first line of assemble edits the offset of the function instead #2: 0x0000000151b44300 libsharedcacheui.dylib
std::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0>, void ()>::operator()() [inlined] decltype(std::declval<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0&>()()) std::__1::__invoke[abi:ne180100]<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0&>(__f=0x00006000c3afe198) at invoke.h:344:25 [opt] frame #3: 0x0000000151b44300 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0>, void ()>::operator()() [inlined] void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne180100]<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0&>(__args=0x00006000c3afe198) at invoke.h:419:5 [opt]frame Associate .bndb files with Binary Ninja #4: 0x0000000151b44300 libsharedcacheui.dylib
std::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0>, void ()>::operator()() [inlined] std::__1::__function::__alloc_func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>> const&, bool)::$_0>, void ()>::operator()[abi:ne180100](this=0x00006000c3afe198) at function.h:169:12 [opt] frame #5: 0x0000000151b44300 libsharedcacheui.dylibstd::__1::__function::__func<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0, std::__1::allocator<DSCTriageView::loadImagesWithAddr(std::__1::vector<unsigned long long, std::__1::allocator> const&, bool)::$_0>, void ()>::operator()(this=0x00006000c3afe190) at function.h:311:10 [opt]frame detect 64-bit python on windows #6: 0x0000000151b62204 libsharedcacheui.dylib
WorkerActionCallback(void*) [inlined] std::__1::__function::__value_func<void ()>::operator()[abi:ne180100](this=0x000060006b1e6a00) const at function.h:428:12 [opt] frame #7: 0x0000000151b621f0 libsharedcacheui.dylibWorkerActionCallback(void*) [inlined] std::__1::function<void ()>::operator()(this=0x000060006b1e6a00) const at function.h:981:10 [opt]frame Constant annotation cross references #8: 0x0000000151b621f0 libsharedcacheui.dylib
WorkerActionCallback(ctxt=0x000060006b1e6a00) at binaryninjaapi.cpp:281:2 [opt]