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

Warning "QWaitCondition: Destroyed while threads are still waiting" on QtC exit (on Windows)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Not Evaluated
    • None
    • Qt Creator 12.0.0-rc1
    • Python Support
    • None

    Description

      When exiting Qt Creator, a warning is printed out.

      Output on exit
      QWaitCondition: Destroyed while threads are still waiting
      
      backtracke
      .  0  Id: 4060.3918 Suspend: 1 Teb: 000000e0`62ee6000 Unfrozen
      Child-SP          RetAddr           Call Site
      000000e0`62ddee20 00007ffc`9a94cb9b Qt6Cored!QWaitCondition::~QWaitCondition(void)+0x25 [src\corelib\thread\qwaitcondition_win.cpp @ 123]
      000000e0`62ddee90 00007ffc`9a94d9d8 Qt6Cored!QThreadPoolThread::~QThreadPoolThread(void)+0x1b
      000000e0`62ddeec0 00007ffc`9a94853a Qt6Cored!QThreadPoolThread::`scalar deleting destructor'(void)+0x18
      000000e0`62ddeef0 00007ffc`9a94863b Qt6Cored!QThreadPoolPrivate::reset(void)+0x1ba [src\corelib\thread\qthreadpool.cpp @ 277]
      000000e0`62ddeff0 00007ffc`9a94767b Qt6Cored!QThreadPoolPrivate::waitForDone(int msecs = 0n-1)+0x9b [src\corelib\thread\qthreadpool.cpp @ 306]
      000000e0`62ddf080 00007ffc`9a946be7 Qt6Cored!QThreadPool::waitForDone(int msecs = 0n-1)+0x2b [src\corelib\thread\qthreadpool.cpp @ 818]
      000000e0`62ddf0c0 00007ffc`a59c9aa5 Qt6Cored!QThreadPool::~QThreadPool(void)+0x37 [src\corelib\thread\qthreadpool.cpp @ 459]
      000000e0`62ddf100 00007ffc`a59c9ad8 Utils!Utils::AsyncThreadPool::~AsyncThreadPool(void)+0x15
      000000e0`62ddf130 00007ffc`a59c9415 Utils!Utils::AsyncThreadPool::`scalar deleting destructor'(void)+0x18
      000000e0`62ddf160 00007ffc`a5febfd2 Utils!QtGlobalStatic::Holder<Utils::`anonymous namespace'::Q_QGS_s_inherit>::~Holder<Utils::`anonymous namespace'::Q_QGS_s_inherit>(void)+0x35 [src\corelib\global\qglobalstatic.h @ 44]
      000000e0`62ddf1a0 00007ffc`a8a72c21 Utils!`QGlobalStatic<QtGlobalStatic::Holder<Utils::`anonymous namespace'::Q_QGS_s_inherit> >::instance'::`2'::`dynamic atexit destructor for 'holder''(void)+0x12
      000000e0`62ddf1d0 00007ffc`a8a723f5 ucrtbased!<lambda_d121dba8a4adeaf3a9819e48611155df>::operator()(void)+0x131 [minkernel\crts\ucrt\src\appcrt\startup\onexit.cpp @ 206]
      000000e0`62ddf260 00007ffc`a8a72547 ucrtbased!__crt_seh_guarded_call<int>::operator()<<lambda_6a47f4c8fd0152770a780fc1d70204eb>,<lambda_d121dba8a4adeaf3a9819e48611155df> &,<lambda_6aaa2265f5b6a89667e7d7630012e97a> >(class __acrt_lock_and_call::__l2::<lambda_6a47f4c8fd0152770a780fc1d70204eb> * setup = 0x000000e0`62ddf2c8, class _execute_onexit_table::__l2::<lambda_d121dba8a4adeaf3a9819e48611155df> * action = 0x000000e0`62ddf330, class __acrt_lock_and_call::__l2::<lambda_6aaa2265f5b6a89667e7d7630012e97a> * cleanup = 0x000000e0`62ddf2c4)+0x35 [VCCRT\vcruntime\inc\internal_shared.h @ 204]
      000000e0`62ddf2a0 00007ffc`a8a72e34 ucrtbased!__acrt_lock_and_call<<lambda_d121dba8a4adeaf3a9819e48611155df> >(__acrt_lock_id lock_id = __acrt_exit_lock (0n2), class _execute_onexit_table::__l2::<lambda_d121dba8a4adeaf3a9819e48611155df> * action = 0x000000e0`62ddf330)+0x57 [minkernel\crts\ucrt\inc\corecrt_internal.h @ 974]
      000000e0`62ddf300 00007ffc`a5f48b39 ucrtbased!_execute_onexit_table(struct _onexit_table_t * table = 0x00007ffc`a6351e20)+0x34 [minkernel\crts\ucrt\src\appcrt\startup\onexit.cpp @ 231]
      000000e0`62ddf350 00007ffc`a5f494ec Utils!__scrt_dllmain_uninitialize_c(void)+0x19 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\utility\utility.cpp @ 399]
      000000e0`62ddf380 00007ffc`a5f492c7 Utils!dllmain_crt_process_detach(bool is_terminating = true)+0x4c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\dll_dllmain.cpp @ 182]
      000000e0`62ddf3c0 00007ffc`a5f4965e Utils!dllmain_crt_dispatch(struct HINSTANCE__ * instance = 0x00007ffc`a5850000, unsigned long reason = 0, void * reserved = 0x00000000`00000001)+0x67 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\dll_dllmain.cpp @ 220]
      000000e0`62ddf400 00007ffc`a5f497d1 Utils!dllmain_dispatch(struct HINSTANCE__ * instance = 0x00007ffc`a5850000, unsigned long reason = 0, void * reserved = 0x00000000`00000001)+0xfe [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\dll_dllmain.cpp @ 293]
      000000e0`62ddf450 00007ffd`00029a1d Utils!_DllMainCRTStartup(struct HINSTANCE__ * instance = 0x00007ffc`a5850000, unsigned long reason = 0, void * reserved = 0x00000000`00000001)+0x31 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\dll_dllmain.cpp @ 335]
      000000e0`62ddf480 00007ffd`0006dcda ntdll!LdrpCallInitRoutine+0x61
      000000e0`62ddf4f0 00007ffd`0006da8d ntdll!LdrShutdownProcess+0x22a
      000000e0`62ddf600 00007ffc`fe1ce3bb ntdll!RtlExitUserProcess+0xad
      000000e0`62ddf630 00007ffc`a8a71eda KERNEL32!ExitProcessImplementation+0xb
      000000e0`62ddf660 00007ffc`a8a71e85 ucrtbased!exit_or_terminate_process(unsigned int return_code = 0)+0x3a [minkernel\crts\ucrt\src\appcrt\startup\exit.cpp @ 138]
      000000e0`62ddf690 00007ffc`a8a721f6 ucrtbased!common_exit(int return_code = 0n0, _crt_exit_cleanup_mode cleanup_mode = _crt_exit_full_cleanup (0n0), _crt_exit_return_mode return_mode = _crt_exit_terminate_process (0n0))+0x85 [minkernel\crts\ucrt\src\appcrt\startup\exit.cpp @ 274]
      000000e0`62ddf6f0 00007ff6`56622aa7 ucrtbased!exit(int return_code = 0n0)+0x16 [minkernel\crts\ucrt\src\appcrt\startup\exit.cpp @ 288]
      000000e0`62ddf720 00007ff6`5662294e qtcreator!__scrt_common_main_seh(void)+0x147 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 297]
      000000e0`62ddf790 00007ff6`56622c3e qtcreator!__scrt_common_main(void)+0xe [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 331]
      000000e0`62ddf7c0 00007ffc`fe1c7344 qtcreator!WinMainCRTStartup(void * __formal = 0x000000e0`62ee5000)+0xe [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_winmain.cpp @ 17]
      000000e0`62ddf7f0 00007ffd`000626b1 KERNEL32!BaseThreadInitThunk+0x14
      000000e0`62ddf820 00000000`00000000 ntdll!RtlUserThreadStart+0x21
      

      This also happens if "QTC_USE_QPROCESS" is set.

      Attachments

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

        Activity

          People

            portale Alessandro Portale
            portale Alessandro Portale
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes