[Android-development] Qt5.4.1/Android 5, pb multi-threading
maitai at virtual-winds.org
maitai at virtual-winds.org
Wed Feb 18 12:16:26 CET 2015
Back on this problem:
I finally have access to this device for some hours. I can see the
following:
I call QtConcurrent::blockingMap() with a list of value, and from time
to time, blockingMap() never returns and the program hang there with 0
cpu usage, and no particular message in logcat.
I have modify my routine called by blockingMap in order to check that
every things finished, and I get this output in the console
....... (many passes before it hangs)
W/libqtVlm.so(26873): (null):0 ((null)): before qtconcurrent
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 2
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 1
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 3
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 3
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 0
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 1
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 2
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 0
W/libqtVlm.so(26873): (null):0 ((null)): after qtconcurrent
<--- all good
W/libqtVlm.so(26873): (null):0 ((null)): before qtconcurrent
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 0
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 1
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 2
W/libqtVlm.so(26873): (null):0 ((null)): start treating list number 3
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 1
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 0
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 3
W/libqtVlm.so(26873): (null):0 ((null)): finished treating list number 2
... and nothing more, it stays there forever.
This programs works perfectly under Android 4.x, Windows, Linux, MacOs,
etc. I only have this issue on Android 5.0.1 (lollipop), and I now have
2 users complaining (my only 2 users using lollipop).
I still have around 2 hours with the device the user lend me... so if
anyone has any idea what else I could test/verify/etc before I post a
bug to qt.. :)
Thanks
Philippe Lelong
Le 13-02-2015 14:11, maitai at virtual-winds.org a écrit :
> Hello,
>
> I have one user who just upgraded his Galaxy S5 to android 5
>
> Since then, one calculation involving heavy multiprocessing (using
> only QtConcurrent::blockingMapped()) just get locks forever, as if a
> thread is never returning. There is an option in the app to force
> mono-processing and in that case it's all ok, hopefully.
>
> Before upgrade he was running android 4.4.4, and no such problems of
> course.
>
> This is done with latest 5.4.1 snapshot, compiled with latest
> JDK/NDK/SDK/GCC/etc.
>
> Does this says something to anyone?
>
> Thanks
> Philippe Lelong
More information about the Android-development
mailing list