[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