1. quit guarantees only quit from event loop. wait() will wait maximum INT_MAX milliseconds and then return false 2. So you did not created any threads? it was not clear from your initial message
On Tue, Nov 26, 2019 at 6:57 AM Alexander Dyagilev <alervd...@gmail.com> wrote: > 1. It does, according to docs. > > 2. I never subclass QThread and thus never override its run method. > > > On 11/26/2019 7:53 AM, Vlad Stelmahovsky wrote: > > QThread::quit and QThread::wait doesn't guarantee that the thread will be > finished in time. First of all it depends on your thread architecture: > event loop or loop in run() > easiest way to check this: put qWarning() at the end of run() method > > On Tue, Nov 26, 2019 at 3:05 AM Alexander Dyagilev <alervd...@gmail.com> > wrote: > >> Hello, >> >> We're getting strange crashes in our Google Console. All of them are from >> Android 9. >> >> We use Qt 5.12.5. >> >> Armv7 reports are all as the following: >> *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** pid: 0, >> tid: 0 >>> org.freedownloadmanager.fdm <<< backtrace: >> #00 pc 000000000001cf76 /system/lib/libc.so (abort+58) >> #01 pc 00000000000834dd >> /data/app/org.freedownloadmanager.fdm--OVRDQQmEuXHU_lSXwlfxA==/lib/arm/libQt5Core.so >> #02 pc 0000000000083bc7 >> /data/app/org.freedownloadmanager.fdm--OVRDQQmEuXHU_lSXwlfxA==/lib/arm/libQt5Core.so >> (QMessageLogger::fatal(char const*, ...) const+58) >> #03 pc 00000000000868df >> /data/app/org.freedownloadmanager.fdm--OVRDQQmEuXHU_lSXwlfxA==/lib/arm/libQt5Core.so >> (QDaemonThread::~QDaemonThread()+174) >> #04 pc 0000000000086a8d >> /data/app/org.freedownloadmanager.fdm--OVRDQQmEuXHU_lSXwlfxA==/lib/arm/libQt5Core.so >> (QThread::~QThread()+4) >> >> Armv8 reports are even less informative: >> >> *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** pid: 0, >> tid: 0 >>> org.freedownloadmanager.fdm <<< backtrace: >> #00 pc 0000000000022988 /system/lib64/libc.so (abort+116) >> #01 pc 00000000000ad994 >> /data/app/org.freedownloadmanager.fdm-oQm9cQzA_x7sVQd81KmLCw==/lib/arm64/libQt5Core.so >> #02 pc 00000000000af078 >> /data/app/org.freedownloadmanager.fdm-oQm9cQzA_x7sVQd81KmLCw==/lib/arm64/libQt5Core.so >> (QMessageLogger::fatal(char const*, ...) const+208) >> >> The only qFatal call in the destructor is see in QThread source ( >> https://code.woboq.org/qt5/qtbase/src/corelib/thread/qthread.cpp.html) >> is this: >> >> qFatal("QThread: Destroyed while thread is still running"); >> >> But I'm pretty sure we call QThread::quit and QThread::wait before >> deleting all QThread objects we create. So it should not be possible that >> the problem resides on our side. >> >> Any suggestions? Can this be the bug of qt android core? We can't >> reproduce it and this bug is NOT happening under Windows platform... >> >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org >> https://lists.qt-project.org/listinfo/interest >> > > > -- > Best regards, > Vlad > > -- Best regards, Vlad
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest