Missing Symbol
While attempting to debug tpo/applications/vpn#74 (closed) I've built and run tor-vpn and onionmasq on an Android 13 Emulator (x86-64 image, host machine is linux, ndk version 25.2.9519653). Both apps crash immediately on start with the following error:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.torproject.vpn, PID: 5010
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__extenddftf2" referenced by "/data/app/~~0Pq382kxmiZ2-Oy8HTw9Sg==/org.torproject.vpn-k3Ff-Ko3ZpmsPwBUADoHbA==/lib/x86_64/libonionmasq_mobile.so"...
at java.lang.Runtime.loadLibrary0(Runtime.java:1077)
at java.lang.Runtime.loadLibrary0(Runtime.java:998)
at java.lang.System.loadLibrary(System.java:1661)
at org.torproject.onionmasq.OnionMasqJni.<clinit>(OnionMasqJni.java:118)
at org.torproject.onionmasq.OnionMasq.<init>(OnionMasq.java:69)
at org.torproject.onionmasq.OnionMasq.init(OnionMasq.java:61)
at org.torproject.vpn.TorApplication.onCreate(TorApplication.kt:9)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1277)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6759)
at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Since I don't have a Android 13 device at hand, I'm not sure if it is an emulator (x86-64 architecture, most devices are arm or arm 64 based) related bug, or also happens on actual devices.
Edited by cyberta