Skip to content

Possible Deadlock in AndroidAsync #246

@danilo04

Description

@danilo04

In Simplenote we are getting an Application Not Responding error for several users. The stack trace (see below) shows calls on the AndroidAsync library (https://github.com/koush/AndroidAsync):

io.sentry.android.core.ApplicationNotResponding: Application Not Responding for at least 5000 ms.
    at sun.misc.Unsafe.park(Unsafe.java)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:868)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1023)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1334)
    at java.util.concurrent.Semaphore.acquire(Semaphore.java:318)
    at com.koushikdutta.async.AsyncServer.run(AsyncServer.java:199)
    at com.koushikdutta.async.AsyncNetworkSocket.write(AsyncNetworkSocket.java:67)
    at com.koushikdutta.async.BufferedDataSink.write(BufferedDataSink.java:54)
    at com.koushikdutta.async.BufferedDataSink.write(BufferedDataSink.java:49)
    at com.koushikdutta.async.AsyncSSLSocketWrapper.write(AsyncSSLSocketWrapper.java:387)
    at com.koushikdutta.async.BufferedDataSink.write(BufferedDataSink.java:54)
    at com.koushikdutta.async.BufferedDataSink.write(BufferedDataSink.java:49)
    at com.koushikdutta.async.http.WebSocketImpl.send(WebSocketImpl.java:233)
    at com.simperium.android.AsyncWebSocketProvider$1$1$2.run(AsyncWebSocketProvider.java:67)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:233)
    at android.app.ActivityThread.main(ActivityThread.java:8068)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)

This is mostly due to a deadlock in the AndroidAsync library as described in #1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions