schwabe / ics-openvpn

OpenVPN for Android
3.31k stars 1.2k forks source link

ANR at "OpenVpnManagementThread.java" #1589

Closed shakeelanjum19922 closed 1 year ago

shakeelanjum19922 commented 1 year ago
  1. Android Version 7, 8, 9, 10
  2. All Devices

main" tid=1 Timed Waiting at java.lang.Thread.sleep (Thread.java) at java.lang.Thread.sleep (Thread.java:386) at java.lang.Thread.sleep (Thread.java:327) at android.net.LocalSocketImpl$SocketOutputStream.flush (LocalSocketImpl.java:188) at de.blinkt.openvpn.core.OpenVpnManagementThread.managmentCommand (OpenVpnManagementThread.java) at de.blinkt.openvpn.core.OpenVpnManagementThread.releaseHoldCmd (OpenVpnManagementThread.java) at de.blinkt.openvpn.core.OpenVpnManagementThread.lambda$new$0 (OpenVpnManagementThread.java:3) at de.blinkt.openvpn.core.OpenVpnManagementThread$$InternalSyntheticLambda$0$da22f100a0d132854fae0b1d58b4c992dcf4054769100885a0be7fc8d10a27a9$0.run (OpenVpnManagementThread.java:3) at android.os.Handler.handleCallback (Handler.java:907) at android.os.Handler.dispatchMessage (Handler.java:105) at android.os.Looper.loop (Looper.java:216) at android.app.ActivityThread.main (ActivityThread.java:7625) at java.lang.reflect.Method.invoke (Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:524) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:987)

Awaizhassan commented 1 year ago

The issue is in managmentCommand method in OpenVpnManagementThread, In some cases management commandMethod is being run on MainThread which is causing the ANR.. You should access this method on background thread only..

Take a look at following methods releaseHoldCommand networkChange

shift the access to background only... and ANR will be resolved..

schwabe commented 1 year ago

@Awaizhassan are you willing to share a fix for that since you already looked into it?

aqeelmobify commented 1 year ago

I am also facing this ANR. and this ANR occurs a lot. I am handling the connect button state properly. but still facing this ANR. Is there any way to resolve this?

schwabe commented 1 year ago

@aqeelmobify marking your post off-topic since you are probably not talking about my app

aqeelmobify commented 1 year ago

Facing this ANR alot on the play console. It's related to this library.

de.blinkt.openvpn.core.OpenVpnManagementThread.managmentCommand Input dispatching timed out at java.lang.Thread.sleep (Native method) at java.lang.Thread.sleep (Thread.java:373) at java.lang.Thread.sleep (Thread.java:314) at android.net.LocalSocketImpl$SocketOutputStream.flush (LocalSocketImpl.java:185) at de.blinkt.openvpn.core.OpenVpnManagementThread.managmentCommand (OpenVpnManagementThread.java:152) at de.blinkt.openvpn.core.OpenVpnManagementThread.releaseHoldCmd (OpenVpnManagementThread.java:406) at de.blinkt.openvpn.core.OpenVpnManagementThread.lambda$new$0$de.blinkt.openvpn.core-OpenVpnManagementThread (OpenVpnManagementThread.java:49) at de.blinkt.openvpn.core.OpenVpnManagementThread$$ExternalSyntheticLambda0.run (D8$$SyntheticClass) at android.os.Handler.handleCallback (Handler.java:790) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:200) at android.app.ActivityThread.main (ActivityThread.java:6956) at java.lang.reflect.Method.invoke (Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:519) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:836)

shakeelanjum19922 commented 1 year ago

@aqeelmobify which servers are you using in the app?

schwabe commented 1 year ago

@aqeelmobify what is your app? Please also link the source code to your app as the line number do not match my app.

aqeelmobify commented 1 year ago

Check out the line number and function name. i am facing ANR's.

de.blinkt.openvpn.core.OpenVpnManagementThread.managmentCommand Input dispatching timed out

at java.lang.Thread.sleep (Native method) at java.lang.Thread.sleep (Thread.java:373) at java.lang.Thread.sleep (Thread.java:314) at android.net.LocalSocketImpl$SocketOutputStream.flush (LocalSocketImpl.java:185) at de.blinkt.openvpn.core.OpenVpnManagementThread.managmentCommand (OpenVpnManagementThread.java:174) at de.blinkt.openvpn.core.OpenVpnManagementThread.releaseHoldCmd (OpenVpnManagementThread.java:440) at de.blinkt.openvpn.core.OpenVpnManagementThread.lambda$new$0$de-blinkt-openvpn-core-OpenVpnManagementThread (OpenVpnManagementThread.java:60) at de.blinkt.openvpn.core.OpenVpnManagementThread$$ExternalSyntheticLambda0.run (D8$$SyntheticClass) at android.os.Handler.handleCallback (Handler.java:873) at android.os.Handler.dispatchMessage (Handler.java:99) at android.os.Looper.loop (Looper.java:214) at android.app.ActivityThread.main (ActivityThread.java:7058) at java.lang.reflect.Method.invoke (Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)

schwabe commented 1 year ago

Closing this ticket as submitter is not using my app but some fork they do not disclose.