Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-25712

Limit the number of QmlDesigner::AsynchronousImageCache threads

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • P2: Important
    • None
    • Qt Creator 4.15.0
    • Quick Designer
    • None

    Description

      When analyzing all the running threads I've found that 4 threads were busy with generating or providing images. The suggestion is to limit this number.

      Thread 9 (Thread 0x7f733dffb640 (LWP 6982)):
      #0  0x00007f738140fa6a in __futex_abstimed_wait_common64 () from /lib64/libpthread.so.0
      #1  0x00007f73814092b0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #2  0x00007f7381fecc50 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib64/libstdc++.so.6
      #3  0x00007f734703e4e9 in std::condition_variable::wait<QmlDesigner::AsynchronousImageCache::waitForEntries()::<lambda()> >(std::unique_lock<std::mutex> &, struct {...}) (this=0x1ed3be0, __lock=..., __p=...) at /usr/include/c++/11/condition_variable:103
      #4  0x00007f734703e2ab in QmlDesigner::AsynchronousImageCache::waitForEntries (this=0x1ed3b60) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/asynchronousimagecache.cpp:196
      #5  0x00007f734703d660 in operator() (__closure=0x1ee61f8) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/asynchronousimagecache.cpp:57
      #6  0x00007f734703ebaa in std::__invoke_impl<void, QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #7  0x00007f734703eb5f in std::__invoke<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
      #8  0x00007f734703eb0c in std::thread::_Invoker<std::tuple<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x1ee61f8) at /usr/include/c++/11/bits/std_thread.h:253
      #9  0x00007f734703eae0 in std::thread::_Invoker<std::tuple<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> > >::operator()(void) (this=0x1ee61f8) at /usr/include/c++/11/bits/std_thread.h:260
      #10 0x00007f734703eac4 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> > > >::_M_run(void) (this=0x1ee61f0) at /usr/include/c++/11/bits/std_thread.h:211
      #11 0x00007f7381ff2d54 in execute_native_thread_routine () from /lib64/libstdc++.so.6
      #12 0x00007f7381403299 in start_thread () from /lib64/libpthread.so.0
      #13 0x00007f7381ce96a3 in clone () from /lib64/libc.so.6
      
      Thread 8 (Thread 0x7f733effd640 (LWP 6980)):
      #0  0x00007f738140fa6a in __futex_abstimed_wait_common64 () from /lib64/libpthread.so.0
      #1  0x00007f73814092b0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #2  0x00007f7381fecc50 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib64/libstdc++.so.6
      #3  0x00007f7347045fa3 in std::condition_variable::wait<QmlDesigner::ImageCacheGenerator::waitForEntries()::<lambda()> >(std::unique_lock<std::mutex> &, struct {...}) (this=0x1ed39e8, __lock=..., __p=...) at /usr/include/c++/11/condition_variable:103
      #4  0x00007f7347045aa6 in QmlDesigner::ImageCacheGenerator::waitForEntries (this=0x1ed39b0) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/imagecachegenerator.cpp:163
      #5  0x00007f7347045667 in QmlDesigner::ImageCacheGenerator::startGeneration (this=0x1ed39b0) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/imagecachegenerator.cpp:115
      #6  0x00007f7347044bcd in operator() (__closure=0x1ee5958) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/imagecachegenerator.cpp:40
      #7  0x00007f7347048dc7 in std::__invoke_impl<void, QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #8  0x00007f7347048da4 in std::__invoke<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
      #9  0x00007f7347048d73 in std::invoke<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/functional:97
      #10 0x00007f7347048d28 in operator()<>(void) (__closure=0x1ee5958) at /home/jarek/dev/qt-515/qtbase/src/corelib/thread/qthread.h:180
      #11 0x00007f7347048cea in std::__invoke_impl<void, QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #12 0x00007f7347048c9f in std::__invoke<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
      #13 0x00007f7347048c4c in std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x1ee5958) at /usr/include/c++/11/bits/std_thread.h:253
      #14 0x00007f7347048c20 in std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >::operator()(void) (this=0x1ee5958) at /usr/include/c++/11/bits/std_thread.h:260
      #15 0x00007f7347048b4b in std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>::operator()(void) const (this=0x7f733effcb00) at /usr/include/c++/11/future:1385
      #16 0x00007f7347048a8e in std::__invoke_impl<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>&>(std::__invoke_other, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void> &) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #17 0x00007f73470488e9 in std::__invoke_r<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>&>(std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void> &) (__fn=...) at /usr/include/c++/11/bits/invoke.h:116
      #18 0x00007f7347048768 in std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>(), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/11/bits/std_function.h:292
      #19 0x00007f734704ac79 in std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const (this=0x7f733effcb00) at /usr/include/c++/11/bits/std_function.h:560
      #20 0x00007f7347049fe1 in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) (this=0x1ee5930, __f=0x7f733effcb00, __did_set=0x7f733effca77) at /usr/include/c++/11/future:571
      #21 0x00007f735eff0aab in void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) () from /lib64/libLLVM-12.so
      #22 0x00007f7347049e0a in std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) (this=0x1ee5930, __res=..., __ignore_failure=true) at /usr/include/c++/11/future:411
      #23 0x00007f7347049234 in std::__future_base::_Deferred_state<std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>::_M_complete_async(void) (this=0x1ee5930) at /usr/include/c++/11/future:1644
      #24 0x00007f7382217003 in std::__future_base::_State_baseV2::wait (this=0x1ee5930) at /usr/include/c++/11/future:333
      #25 0x00007f738221769d in std::__basic_future<void>::_M_get_result (this=0x1ee59a0) at /usr/include/c++/11/future:719
      #26 0x00007f738221716e in std::future<void>::get (this=0x1ee59a0) at /usr/include/c++/11/future:891
      #27 0x00007f738221756e in QThreadCreateThread::run (this=0x1ee5990) at /home/jarek/dev/qt-515/qtbase/src/corelib/thread/qthread.cpp:1138
      #28 0x00007f7382218ed3 in QThreadPrivate::start (arg=0x1ee5990) at /home/jarek/dev/qt-515/qtbase/src/corelib/thread/qthread_unix.cpp:329
      #29 0x00007f7381403299 in start_thread () from /lib64/libpthread.so.0
      #30 0x00007f7381ce96a3 in clone () from /lib64/libc.so.6
      
      Thread 7 (Thread 0x7f733f7fe640 (LWP 6979)):
      #0  0x00007f738140fa6a in __futex_abstimed_wait_common64 () from /lib64/libpthread.so.0
      #1  0x00007f73814092b0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #2  0x00007f7381fecc50 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib64/libstdc++.so.6
      #3  0x00007f7347045fa3 in std::condition_variable::wait<QmlDesigner::ImageCacheGenerator::waitForEntries()::<lambda()> >(std::unique_lock<std::mutex> &, struct {...}) (this=0x1ed3918, __lock=..., __p=...) at /usr/include/c++/11/condition_variable:103
      #4  0x00007f7347045aa6 in QmlDesigner::ImageCacheGenerator::waitForEntries (this=0x1ed38e0) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/imagecachegenerator.cpp:163
      #5  0x00007f7347045667 in QmlDesigner::ImageCacheGenerator::startGeneration (this=0x1ed38e0) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/imagecachegenerator.cpp:115
      #6  0x00007f7347044bcd in operator() (__closure=0x1ee4f08) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/imagecachegenerator.cpp:40
      #7  0x00007f7347048dc7 in std::__invoke_impl<void, QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #8  0x00007f7347048da4 in std::__invoke<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
      #9  0x00007f7347048d73 in std::invoke<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/functional:97
      #10 0x00007f7347048d28 in operator()<>(void) (__closure=0x1ee4f08) at /home/jarek/dev/qt-515/qtbase/src/corelib/thread/qthread.h:180
      #11 0x00007f7347048cea in std::__invoke_impl<void, QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #12 0x00007f7347048c9f in std::__invoke<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
      #13 0x00007f7347048c4c in std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x1ee4f08) at /usr/include/c++/11/bits/std_thread.h:253
      #14 0x00007f7347048c20 in std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >::operator()(void) (this=0x1ee4f08) at /usr/include/c++/11/bits/std_thread.h:260
      #15 0x00007f7347048b4b in std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>::operator()(void) const (this=0x7f733f7fdb00) at /usr/include/c++/11/future:1385
      #16 0x00007f7347048a8e in std::__invoke_impl<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>&>(std::__invoke_other, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void> &) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #17 0x00007f73470488e9 in std::__invoke_r<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>&>(std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void> &) (__fn=...) at /usr/include/c++/11/bits/invoke.h:116
      #18 0x00007f7347048768 in std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>(), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/11/bits/std_function.h:292
      #19 0x00007f734704ac79 in std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const (this=0x7f733f7fdb00) at /usr/include/c++/11/bits/std_function.h:560
      #20 0x00007f7347049fe1 in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) (this=0x1ee4ee0, __f=0x7f733f7fdb00, __did_set=0x7f733f7fda77) at /usr/include/c++/11/future:571
      #21 0x00007f735eff0aab in void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) () from /lib64/libLLVM-12.so
      #22 0x00007f7347049e0a in std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) (this=0x1ee4ee0, __res=..., __ignore_failure=true) at /usr/include/c++/11/future:411
      #23 0x00007f7347049234 in std::__future_base::_Deferred_state<std::thread::_Invoker<std::tuple<QThread::create<QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()> >(QmlDesigner::ImageCacheGenerator::ImageCacheGenerator(QmlDesigner::ImageCacheCollectorInterface&, QmlDesigner::ImageCacheStorageInterface&)::<lambda()>&&)::<lambda(auto:23&& ...)> > >, void>::_M_complete_async(void) (this=0x1ee4ee0) at /usr/include/c++/11/future:1644
      #24 0x00007f7382217003 in std::__future_base::_State_baseV2::wait (this=0x1ee4ee0) at /usr/include/c++/11/future:333
      #25 0x00007f738221769d in std::__basic_future<void>::_M_get_result (this=0x1ee4f70) at /usr/include/c++/11/future:719
      #26 0x00007f738221716e in std::future<void>::get (this=0x1ee4f70) at /usr/include/c++/11/future:891
      #27 0x00007f738221756e in QThreadCreateThread::run (this=0x1ee4f60) at /home/jarek/dev/qt-515/qtbase/src/corelib/thread/qthread.cpp:1138
      #28 0x00007f7382218ed3 in QThreadPrivate::start (arg=0x1ee4f60) at /home/jarek/dev/qt-515/qtbase/src/corelib/thread/qthread_unix.cpp:329
      #29 0x00007f7381403299 in start_thread () from /lib64/libpthread.so.0
      #30 0x00007f7381ce96a3 in clone () from /lib64/libc.so.6
      
      Thread 5 (Thread 0x7f733e7fc640 (LWP 6981)):
      #0  0x00007f738140fa6a in __futex_abstimed_wait_common64 () from /lib64/libpthread.so.0
      #1  0x00007f73814092b0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #2  0x00007f7381fecc50 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /lib64/libstdc++.so.6
      #3  0x00007f734703e4e9 in std::condition_variable::wait<QmlDesigner::AsynchronousImageCache::waitForEntries()::<lambda()> >(std::unique_lock<std::mutex> &, struct {...}) (this=0x1ed3b08, __lock=..., __p=...) at /usr/include/c++/11/condition_variable:103
      #4  0x00007f734703e2ab in QmlDesigner::AsynchronousImageCache::waitForEntries (this=0x1ed3a88) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/asynchronousimagecache.cpp:196
      #5  0x00007f734703d660 in operator() (__closure=0x1ee5e48) at /home/jarek/dev/creator-415/src/plugins/qmldesigner/designercore/imagecache/asynchronousimagecache.cpp:57
      #6  0x00007f734703ebaa in std::__invoke_impl<void, QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> >(std::__invoke_other, struct {...} &&) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
      #7  0x00007f734703eb5f in std::__invoke<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> >(struct {...} &&) (__fn=...) at /usr/include/c++/11/bits/invoke.h:96
      #8  0x00007f734703eb0c in std::thread::_Invoker<std::tuple<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x1ee5e48) at /usr/include/c++/11/bits/std_thread.h:253
      #9  0x00007f734703eae0 in std::thread::_Invoker<std::tuple<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> > >::operator()(void) (this=0x1ee5e48) at /usr/include/c++/11/bits/std_thread.h:260
      #10 0x00007f734703eac4 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<QmlDesigner::AsynchronousImageCache::AsynchronousImageCache(QmlDesigner::ImageCacheStorageInterface&, QmlDesigner::ImageCacheGeneratorInterface&, QmlDesigner::TimeStampProviderInterface&)::<lambda()> > > >::_M_run(void) (this=0x1ee5e40) at /usr/include/c++/11/bits/std_thread.h:211
      #11 0x00007f7381ff2d54 in execute_native_thread_routine () from /lib64/libstdc++.so.6
      #12 0x00007f7381403299 in start_thread () from /lib64/libpthread.so.0
      #13 0x00007f7381ce96a3 in clone () from /lib64/libc.so.6
      
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            bubke Marco Bubke
            jkobus Jarek Kobus
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes