[Interest] Advice on random program finish crash

Igor Mironchik igor.mironchik at gmail.com
Wed Jan 7 10:54:20 CET 2015


Hi, I have one question: is QApplication static too?

On Wed, 07 Jan 2015 12:32:21 +0300, Nuno Santos <nunosantos at imaginando.pt>  
wrote:

> Hi,
>
> I’m having a problem with a random crash that not always happens. I  
> would like to have your advice on how to find the origin of it.
>
> This crash always happens on program exit and the stack trace is the  
> following:
>
> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 0   org.qt-project.QtCore         	0x0000000109a03549  
> QMutexPrivate::allocate() + 105
> 1   org.qt-project.QtCore         	0x0000000109a02d1c  
> QBasicMutex::lockInternal(int) + 92
> 2   org.qt-project.QtCore         	0x0000000109a02c64 QMutex::lock() + 52
> 3   org.qt-project.QtCore         	0x0000000109a0b6fd  
> QWaitCondition::wait(QMutex*, unsigned long) + 173
> 4   org.qt-project.QtCore         	0x0000000109a0aeae  
> QThread::wait(unsigned long) + 110
> 5   org.qt-project.QtNetwork      	0x000000010a4870da  
> QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate() + 58
> 6   org.qt-project.QtNetwork      	0x000000010a48722e  
> QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate() + 14
> 7   org.qt-project.QtCore         	0x0000000109c3e7c7  
> QObject::~QObject() + 1879
> 8   org.qt-project.QtNetwork      	0x000000010a483c16  
> QNetworkAccessManager::~QNetworkAccessManager() + 262
>
> The only particularity of this QNetworkAccessManager is the fact that it  
> is instantiated on a class that is a singleton:
>
> class Manager : public QObject
> {
> public:
>
> 	static Manager* sharedManager();
>
> 	...
>
> 	QNetworkAccessManager* networkAccessManager();
>
> 	...
>
> protected:
>
> 	Manager();
> 	~Manager();
>
> 	...
> 	
> 	QNetworkAccessManager _networkAccessManager;
> };
>
>
> Manager* Manager::sharedManager()
> {
> 	QMutexLocker lock(&managerMutex);
> 	static Manager manager;
> 	return &manager;
> }
>
> Manager::Manager() :
> 	_networkAccessManager()
> {
> 	...	
> }
>
> Manager::~Manager()
> {
> 	
> }
>
> Is there any obvious reason for this crash to happen randomly at program  
> termination?
>
> Thanks,
>
> Regards,
>
> Nuno Santos
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest


-- 
Best Regards,
Igor Mironchik.



More information about the Interest mailing list