[Interest] Advice on random program finish crash
Nuno Santos
nunosantos at imaginando.pt
Wed Jan 7 11:01:32 CET 2015
Yes,
int main(int argc, char **argv)
{
QGuiApplication app(argc, argv);
...
return app.exec();
}
> On 07 Jan 2015, at 09:54, Igor Mironchik <igor.mironchik at gmail.com> wrote:
>
> 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.
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
More information about the Interest
mailing list