[Interest] Qt Android 9 bug?

Vlad Stelmahovsky vladstelmahovsky at gmail.com
Tue Nov 26 08:29:22 CET 2019


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 <alervdvcw at 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 <alervdvcw at 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 at qt-project.org
>> https://lists.qt-project.org/listinfo/interest
>>
>
>
> --
> Best regards,
> Vlad
>
>

-- 
Best regards,
Vlad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20191126/7a64b3a5/attachment.html>


More information about the Interest mailing list