Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] "Nebula keeps stopping" #46

Open
dmanriqu opened this issue Jul 31, 2021 · 16 comments
Open

[Android] "Nebula keeps stopping" #46

dmanriqu opened this issue Jul 31, 2021 · 16 comments
Labels
android bug Something isn't working

Comments

@dmanriqu
Copy link

dmanriqu commented Jul 31, 2021

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
@nettybun
Copy link

nettybun commented Oct 25, 2021

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

@waldner
Copy link

waldner commented May 5, 2022

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.

@johnmaguire
Copy link
Member

@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.

@waldner
Copy link

waldner commented Nov 24, 2022

Nothing changed for me even with v0.2.0.

@johnmaguire
Copy link
Member

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?

@waldner
Copy link

waldner commented Nov 24, 2022

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

@johnmaguire
Copy link
Member

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."

@waldner
Copy link

waldner commented Nov 30, 2022

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

@jasikpark
Copy link
Contributor

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?

@b177y
Copy link

b177y commented Nov 30, 2022

same issue here, using Android 9 on Moto G6

@atdotio
Copy link

atdotio commented Nov 30, 2022

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.

@waldner
Copy link

waldner commented Nov 30, 2022

I never got it to connect.
And using IPs instead of DNS names for the lighthouses does not help unfortunately.

@jasikpark
Copy link
Contributor

do you have any other vpns running at the same time? just for a sanity check ;p

@atdotio
Copy link

atdotio commented Nov 30, 2022

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).

@Ke1i
Copy link

Ke1i commented Feb 15, 2023

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.

logcat.txt

nebula_log.txt

Nebula_crashing.mp4

@johnmaguire johnmaguire added bug Something isn't working android labels Apr 14, 2023
@ScriptingDad
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
android bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants