Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-80526

QtBase Android platform plugin deadlock during termination

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Incomplete
    • Affects Version/s: 5.12.6
    • Fix Version/s: None
    • Component/s: Core: Plugins
    • Labels:
      None
    • Platform/s:
      Android

      Description

      My application froze during termination. I don't know how to reproduce the freeze, but I have good backtraces.

       
      main thread:

      "main" prio=5 tid=1 WAIT
        | group="main" sCount=1 dsCount=0 obj=0x40de09a0 self=0x40dccbf8
        | sysTid=2886 nice=0 sched=0/0 cgrp=apps handle=1073972188
        | state=S schedstat=( 2056457532 515045157 2394 ) utm=127 stm=78 core=0
        at java.lang.Object.wait(Native Method)
        - waiting on <0x40de0da0> (a java.lang.VMThread) held by tid=1 (main)
        at java.lang.Thread.parkFor(Thread.java:1231)
        at sun.misc.Unsafe.park(Unsafe.java:323)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:159)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:810)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:970)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1279)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:285)
        at org.qtproject.qt5.android.QtThread.run(QtThread.java:94)
        at org.qtproject.qt5.android.QtNative.startApplication(QtNative.java:357)
        at org.qtproject.qt5.android.QtActivityDelegate$4.run(QtActivityDelegate.java:728)
        at org.qtproject.qt5.android.QtLayout.onSizeChanged(QtLayout.java:77)
      

      qtMainLoopThread:

      "qtMainLoopThread" prio=5 tid=10 NATIVE
        | group="main" sCount=1 dsCount=0 obj=0x40e3bf38 self=0x71596748
        | sysTid=2898 nice=0 sched=0/0 cgrp=apps handle=1901685656
        | state=S schedstat=( 1066101070 160461431 1223 ) utm=93 stm=12 core=0
        #00  pc 00018114  /system/lib/libc.so (__futex_syscall3+8)
        #01  pc 0002bb51  /system/lib/libc.so (sem_wait+48)
        #02  pc 0001d555  /data/data/com.ncr.orderman.osclient/qt-reserved-files/plugins/platforms/android/libqtforandroid.so
        at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
        at org.qtproject.qt5.android.QtNative$7.run(QtNative.java:374)
        at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
        at java.lang.Thread.run(Thread.java:856)
      

      And according to disassembly, the frame #02 is sem_wait(&m_exitSemaphore); inside startQtApplication in androidjnimain.cpp.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            lubosd Lubos Dolezel
            Reporter:
            lubosd Lubos Dolezel
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes