QtCore,QMutex 类,锁定功能 - 堆栈溢出故障



我遇到了一个类似于帖子的奇怪的堆栈溢出崩溃:这里

QMutex 试图递归地锁定自身,然后导致崩溃......调用堆栈如下所示:

                ...(more repeat)
                Qt5Cored.dll!QBasicMutex::lockInternal(int timeout) Line 428     
                Qt5Cored.dll!QBasicMutex::lockInternal() Line 409    
                Qt5Cored.dll!QMutex::lock() Line 218     
                Qt5Cored.dll!QMutexLocker::QMutexLocker(QBasicMutex * m) Line 129    
                Qt5Cored.dll!A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction() Line 566    
                Qt5Cored.dll!QGlobalStatic<QFreeList<QMutexPrivate,`anonymous namespace'::FreeListConstants>,&A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction,A0x3737355e::A0x3737355e::Q_QGS_freelist::guard>::operator()() Line 129  
                Qt5Cored.dll!QMutexPrivate::allocate() Line 571  
                Qt5Cored.dll!QBasicMutex::lockInternal(int timeout) Line 428     
                Qt5Cored.dll!QBasicMutex::lockInternal() Line 409    
                Qt5Cored.dll!QMutex::lock() Line 218     
                Qt5Cored.dll!QMutexLocker::QMutexLocker(QBasicMutex * m) Line 129    
                Qt5Cored.dll!A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction() Line 566    
                Qt5Cored.dll!QGlobalStatic<QFreeList<QMutexPrivate,`anonymous namespace'::FreeListConstants>,&A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction,A0x3737355e::A0x3737355e::Q_QGS_freelist::guard>::operator()() Line 129  
                Qt5Cored.dll!QMutexPrivate::allocate() Line 571  
                Qt5Cored.dll!QBasicMutex::lockInternal(int timeout) Line 428     
                Qt5Cored.dll!QBasicMutex::lockInternal() Line 409    
                Qt5Cored.dll!QMutex::lock() Line 218     
                Qt5Cored.dll!QMutexLocker::QMutexLocker(QBasicMutex * m) Line 129    
                Qt5Cored.dll!A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction() Line 566    
                Qt5Cored.dll!QGlobalStatic<QFreeList<QMutexPrivate,`anonymous namespace'::FreeListConstants>,&A0x3737355e::`anonymous namespace'::Q_QGS_freelist::innerFunction,A0x3737355e::A0x3737355e::Q_QGS_freelist::guard>::operator()() Line 129  
                Qt5Cored.dll!QMutexPrivate::allocate() Line 571  
                The maximum number of stack frames supported by Visual Studio has been exceeded.

我在Windows 8.1系统上使用qt 5.4.1。

而且由于已超过调用堆栈的最大帧数,我如何检查哪个函数/调用启动了这种无休止的递归?

错误报告可用。我希望他们能尽快修复它。

最新更新