julian-klode / dns66

DNS-based Host Blocker (and lightweight ad blocker) for Android
https://jak-linux.org/projects/dns66/
GNU General Public License v3.0
2.11k stars 200 forks source link

Unfortunately DNS66 has stopped working #167

Open AgaWaga opened 7 years ago

AgaWaga commented 7 years ago

Nothing more to say, everytime I run it, it says it stopped working. when I launch FDroid I don't have the option ' run ' and DN66 is greyed out http://prntscr.com/g1ky9s http://prntscr.com/g1kylm

julian-klode commented 7 years ago

Obviously this should not happen, but without a logcat of starting the app, there is nothing I can do about that.

AgaWaga commented 7 years ago

How do I get the logcat of it ?

2017-08-03 15:35 GMT+02:00 Julian Andres Klode notifications@github.com:

Obviously this should not happen, but without a logcat of starting the app, there is nothing I can do about that.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/julian-klode/dns66/issues/167#issuecomment-319970505, or mute the thread https://github.com/notifications/unsubscribe-auth/AdH0acZ_mVlY0vvd3GFarT-ub-U48X_wks5sUcyjgaJpZM4OnDXj .

ioparaskev commented 6 years ago

I have a similar issue. Last 2 weeks I noticed that whenever I try to start the vpn, I get a Reconnecting error. If I press stop and then start again, the app crashes and I get the following:

java.lang.RuntimeException: Unable to start service org.jak_linux.dns66.vpn.AdVpnService@b8eb49e with Intent { cmp=org.jak_linux.dns66/.vpn.AdVpnService (has extras) }: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.jak_linux.dns66.vpn.AdVpnThread.stopThread()' on a null object reference
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3208)
at android.app.ActivityThread.access$2300(ActivityThread.java:180)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1594)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5795)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.jak_linux.dns66.vpn.AdVpnThread.stopThread()' on a null object reference
at org.jak_linux.dns66.vpn.AdVpnService.restartVpnThread(AdVpnService.java:214)
at org.jak_linux.dns66.vpn.AdVpnService.startVpn(AdVpnService.java:210)
at org.jak_linux.dns66.vpn.AdVpnService.onStartCommand(AdVpnService.java:161)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3191)
... 8 more

Phone is Redmi Note 4

just-kip commented 6 years ago

I think it causes because stopSelf() is not immediate, so if you call startService with Command.STOP and then startService with Command.START second command runs in old stopping instance on service where

if (vpnThread != null)
    stopVpnThread();
vpnThread = null;

is executed. And


private void restartVpnThread() {
    vpnThread.stopThread();
    vpnThread.startThread();
}
``` causes NPE
ioparaskev commented 6 years ago

It seems to work now for Redmie Note 4. I'm guessing maybe it was an OS issue for my case after all

soebbing commented 6 years ago

Getting the same exception (java.lang.RuntimeException: Unable to start service org.jak_linux.dns66.vpn.AdVpnService@36cc50a with Intent { cmp=org.jak_linux.dns66/.vpn.AdVpnService (has extras) }: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.jak_linux.dns66.vpn.AdVpnThread.stopThread()' on a null object reference) on a Google Pixel C with Android 8.1.0. also, a bit later:


02-07 23:42:34.614  1467  1524 E AdVpnThread: Network exception in vpn thread, reconnecting
02-07 23:42:34.614  1467  1524 E AdVpnThread: java.lang.SecurityException: getPackageUid: Neither user 10094 nor current process has android.permission.INTERACT_ACROSS_USERS.
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at android.os.Parcel.readException(Parcel.java:2004)
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at android.os.Parcel.readException(Parcel.java:1950)
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at android.net.IConnectivityManager$Stub$Proxy.establishVpn(IConnectivityManager.java:1972)
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at android.net.VpnService$Builder.establish(VpnService.java:806)
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at org.jak_linux.dns66.vpn.AdVpnThread.configure(AdVpnThread.java:501)
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at org.jak_linux.dns66.vpn.AdVpnThread.runVpn(AdVpnThread.java:210)
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at org.jak_linux.dns66.vpn.AdVpnThread.run(AdVpnThread.java:157)
02-07 23:42:34.614  1467  1524 E AdVpnThread:   at java.lang.Thread.run(Thread.java:764)
02-07 23:42:34.614  1467  1524 I AdVpnThread: Retrying to connect in 160seconds
```...