mobile_nebula
mobile_nebula copied to clipboard
[Android] "Nebula keeps stopping"
In the Android app, after configuring and trying to connect I got a message that says "Nebula keeps stopping." I'm using Android 7.1.2 on a Motorola Moto Z. I'm pasting some logcat output in case is useful:
--------- beginning of crash
07-31 15:36:21.908 7163 7163 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 7163 (ula:nebulaVpnBg)
07-31 15:36:21.977 7255 7255 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-31 15:36:21.977 7255 7255 F DEBUG : LineageOS Version: '14.1-20191209-UNOFFICIAL-addison'
07-31 15:36:21.977 7255 7255 F DEBUG : Build fingerprint: 'motorola/addison/addison:7.1.1/NPNS26.118-22-1/1:user/release-keys'
07-31 15:36:21.977 7255 7255 F DEBUG : Revision: '0'
07-31 15:36:21.977 7255 7255 F DEBUG : ABI: 'arm'
07-31 15:36:21.977 7255 7255 F DEBUG : pid: 7163, tid: 7163, name: ula:nebulaVpnBg >>> net.defined.mobile_nebula:nebulaVpnBg <<<
07-31 15:36:21.978 7255 7255 F DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
07-31 15:36:21.978 7255 7255 F DEBUG : r0 00000000 r1 00001bfb r2 00000006 r3 00000008
07-31 15:36:21.978 7255 7255 F DEBUG : r4 00001bfb r5 00000000 r6 00000002 r7 0000010c
07-31 15:36:21.978 7255 7255 F DEBUG : r8 00000007 r9 00000002 sl 3f400380 fp 92d23800
07-31 15:36:21.978 7255 7255 F DEBUG : ip 00000005 sp 3f4dd62c lr 923f8160 pc 9241738c cpsr 600b0010
07-31 15:36:21.978 7255 7255 F DEBUG :
07-31 15:36:21.978 7255 7255 F DEBUG : backtrace:
07-31 15:36:21.978 7255 7255 F DEBUG : #00 pc 0007438c /data/app/net.defined.mobile_nebula-1/split_config.armeabi_v7a.apk (offset 0xdb7000)
07-31 15:36:21.978 7255 7255 F DEBUG : #01 pc 0005515c /data/app/net.defined.mobile_nebula-1/split_config.armeabi_v7a.apk (offset 0xdb7000)
07-31 15:36:22.469 2761 2912 I chatty : uid=1000(system) FileObserver expire 1 line
07-31 15:36:22.489 2307 3110 D NetlinkEvent: Unknown ifindex 28 in RTM_DELADDR
07-31 15:36:23.598 7443 7443 E AndroidRuntime: FATAL EXCEPTION: main
07-31 15:36:23.598 7443 7443 E AndroidRuntime: Process: net.defined.mobile_nebula:nebulaVpnBg, PID: 7443
07-31 15:36:23.598 7443 7443 E AndroidRuntime: java.lang.RuntimeException: Unable to start service net.defined.mobile_nebula.NebulaVpnService@80269e2 with null: java.lang.NullPointerException
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3368)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at android.app.ActivityThread.-wrap21(ActivityThread.java)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6186)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: Caused by: java.lang.NullPointerException
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at java.io.File.<init>(File.java:262)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at net.defined.mobile_nebula.NebulaVpnService.onStartCommand(NebulaVpnService.kt:67)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3351)
07-31 15:36:23.598 7443 7443 E AndroidRuntime: ... 8 more
I'm experiencing the same warning dialog but potentially for an unrelated issue - it seems Nebula uses all of the phone's RAM? When I launch my browser and try to load content from a Nebula IP I'm sometimes returned to the home screen, my browser is killed, my music app is killed (audio stops), and Nebula has disconnected with the dialog "Nebula keeps stopping". It feels like a resource issue if it's causing other apps to crash? Not sure how to debug since this is stock Android 9.0
Same here, Android 8.0.0 on a samsung galaxy A3. Configuration can be done successfully, but as soon as I try to connect the app repeatedly crashes.
@dmanriqu @heyheyhello @waldner We just released a new version, v0.2.0, which includes some bugfixes for stability on Android. Please let us know if you continue to have issues.
Nothing changed for me even with v0.2.0.
Nothing changed for me even with v0.2.0.
@waldner Thanks for trying. After the crash, if you click on the site and then "View Logs" do you see any output?
Are you able to obtain logcat output of the crash by chance?
App logs:
time="2022-11-24T20:43:08Z" level=info msg="Firewall rule added" firewallRule="map[caName: caSha: direction:outgoing endPort:0 groups:[] host:any ip: proto:0 startPort:0]"
time="2022-11-24T20:43:08Z" level=info msg="Firewall started" firewallHash=b6eef9a546df4160c507a1c6409465df04ecf536f4338191121437632002f187
time="2022-11-24T20:43:08Z" level=info msg="Main HostMap created" network=192.168.44.199/24 preferredRanges="[]"
time="2022-11-24T20:43:08Z" level=info msg="UDP hole punching enabled"
Logcat output (obtained with logcat --pid=$(pidof -s net.defined.mobile_nebula)
, I hope I got it right): attached.
logcat.txt
Hi @waldner - thanks for the logs.
Are you seeing any errors reported for the site? Would you be willing to share the raw config? You can view it by tapping on the site, then "Configuration," then "Advanced" and finally "View rendered config."
No message on any of the lighthouses when trying to connect from android. Here's the raw android config (slightly edited to change hostnames and remove certificate content, even if it's public):
pki:
ca: |
-----BEGIN NEBULA CERTIFICATE-----
...
-----END NEBULA CERTIFICATE-----
cert: |
-----BEGIN NEBULA CERTIFICATE-----
...
-----END NEBULA CERTIFICATE-----
key: <hidden>
blacklist: []
static_host_map:
192.168.44.1:
- host1.example.com:4242
192.168.44.2:
- host2.example.com:4242
192.168.44.3:
- host3.example.com:4242
192.168.44.4:
- host4.example.com:4242
192.168.44.200:
- host5.example.com:4242
lighthouse:
am_lighthouse: false
serve_dns: false
dns:
host: ""
port: 0
interval: 0
hosts:
- 192.168.44.200
- 192.168.44.1
- 192.168.44.2
- 192.168.44.3
- 192.168.44.4
listen:
host: 0.0.0.0
port: 0
batch: 64
read_buffer: 0
write_buffer: 0
punchy:
punch: true
respond: false
delay: 1s
cipher: aes
local_range: ""
sshd:
enabled: false
listen: ""
host_key: ""
authorized_users: []
tun:
dev: tun1
drop_local_broadcast: true
drop_multicast: true
tx_queue: 500
mtu: 1300
routes: []
unsafe_routes: []
logging:
level: info
format: text
stats:
type: ""
interval: ""
prefix: ""
protocol: ""
host: ""
listen: ""
path: ""
namespace: ""
subsystem: ""
handshakes:
try_interval: 100ms
retries: 20
wait_rotation: 5
firewall:
conntrack:
tcp_timeout: 120h
udp_timeout: 3m
default_timeout: 10m
max_connections: 100000
outbound:
- port: any
proto: any
host: any
inbound: []
relays:
use_relays: true
have you had it connnect before? can you try setting up a lighthouse that has a fixed IP rather than using the redirection of the DNS hostname?
same issue here, using Android 9 on Moto G6
Same behavior with Android 12 on a Motorola G Pure. Tried with a static IP as the lighthouse as well. No change in behavior. My configuration is identical to the one posted above with the obvious exceptions for the certificates/keys and lighthouse host/IP.
I never got it to connect. And using IPs instead of DNS names for the lighthouses does not help unfortunately.
do you have any other vpns running at the same time? just for a sanity check ;p
Definitely do not have another VPN running at the same time during my tests. If I do, it instead presents a dialog telling me to grant Nebula VPN permissions when prompted (for what it's worth, it does nothing of the sort).
A bit late to the party but here I am :) I'm running Nebula version 0.2.0 on an m8 powered by DivestOS 18.1 (Android 11) and Nebula keeps crashing when I try to connect. The VPN icon appears briefly then disappears as you can see from the video below. Here's my config file:
pki:
ca: |
-----BEGIN NEBULA CERTIFICATE-----
AjUKAXhvZAjLXqAXBjD7XbA9BjAXDdAdXwAMAaAkhtAAvXAwXXaXAHXhAXXAXAXM
A7XXRAZAARJAAXAazdAKXhaJAw+XXLXAMKVXQXX9XAbh/AxXAlZKHVJXTADXWMAV
wAaXXAAAX9XtXzrXAMXXw9AZ+XAAmdXAAA==
-----END NEBULA CERTIFICATE-----
cert: |
-----BEGIN NEBULA CERTIFICATE-----
AmUXXm04EgqJAXGAAXA+//XPXgN4XAAo5pmXnwAw+Xm4XQA6XXXAXXlAAAXXeGNO
UXgAlLlOlrXXX7O60AX6zQR5+shhSXAAXQ4wlXXAmXsuXlXmqXRxXpXXXXNAXUXX
XAXeXhGAJRJX9OXAXhjXnXj9HXJwUXAMXAA0GsA/XWlXX/XGNXZzA6lXXXhX5nmP
XgOXRlALXXXlXmXLrwJAAXXEQASnAXAeAX==
-----END NEBULA CERTIFICATE-----
key: <hidden>
blacklist: []
static_host_map:
192.168.100.1:
- XXX.XX.XX.196:49159
lighthouse:
am_lighthouse: false
serve_dns: false
dns:
host: ""
port: 0
interval: 60
hosts:
- 192.168.100.1
listen:
host: 0.0.0.0
port: 49159
batch: 64
read_buffer: 0
write_buffer: 0
punchy:
punch: true
respond: false
delay: 1s
cipher: aes
local_range: ""
sshd:
enabled: false
listen: ""
host_key: ""
authorized_users: []
tun:
dev: tun1
drop_local_broadcast: true
drop_multicast: true
tx_queue: 500
mtu: 1300
routes: []
unsafe_routes: []
logging:
level: debug
format: text
stats:
type: ""
interval: ""
prefix: ""
protocol: ""
host: ""
listen: ""
path: ""
namespace: ""
subsystem: ""
handshakes:
try_interval: 100ms
retries: 20
wait_rotation: 5
firewall:
conntrack:
tcp_timeout: 120h
udp_timeout: 3m
default_timeout: 10m
max_connections: 100000
outbound:
- port: any
proto: any
host: any
inbound: []
relays:
use_relays: true
I couldn't catch anything on Scoop but I've attached a logcat, together with the logs from the app.
https://user-images.githubusercontent.com/20503185/218952854-7ca3346f-50e0-441b-88a8-0866df35de81.mp4
are there any new theories in this regard. I've just setup a lighthouse an added my system and am running into the same problem. I intend on trying to poke at it this weekend to see if I can't get somewhere with this.