green-green-avk / AnotherTerm

Local PTY, USB and Bluetooth serial ports, SSH and Telnet terminal client for Android. Xwayland support (in dev only).
https://green-green-avk.github.io/AnotherTerm-docs/
Other
190 stars 20 forks source link

Crash on version MkIIIv38 and upwards- android 4.4.4 #22

Closed SilasMo closed 3 years ago

SilasMo commented 3 years ago

I installed the app from google playstore. After creating a shell profile i clicked to run it, but as soon as i clicked the app crashed. So then i seach for the project( amazing by the way) , and tried alll previos versions up to MkIIIv37 which ran perfectly (i am currently running it). Am not sure if the problem is my phone. Phone : Samsung galaxy tab 3 lite sm-t116, kernel version 3.10.17, android 4.4.4, rooted with super su.

green-green-avk commented 3 years ago

Please, try to collect a crash log:

adb logcat -c

Repeat the crash.

adb logcat -d '*:E'

The only thing you need is to turn on the Developer's Mode on the phone and connect it to something with ADB client.

SilasMo commented 3 years ago

Out put of logcat on mklllv37

u0_a103@goyave3g:/ $ su
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -d | grep 'green_green_avk'
I/Timeline(  972): Timeline: Activity_launch_request id:green_green_avk.anotherterm.oldgood time:2023616
V/ApplicationPolicy(  644): isApplicationStateBlocked userId 0 pkgname green_green_avk.anotherterm.oldgood
I/ActivityManager(  644): Start proc green_green_avk.anotherterm.oldgood for activity green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.SessionsActivity: pid=7462 uid=10176 gids={50176, 3003, 1028, 1015, 3002}
D/ActivityThread( 7462): handleBindApplication:green_green_avk.anotherterm.oldgood
I/dalvikvm( 7462): Could not find method android.content.Context.deleteSharedPreferences, referenced from method green_green_avk.anotherterm.utils.g0.m
E/dalvikvm( 7462): Could not find class 'android.app.NotificationChannel', referenced from method green_green_avk.anotherterm.TermSh.<init>
W/dalvikvm( 7462): VFY: unable to resolve new-instance 380 (Landroid/app/NotificationChannel;) in Lgreen_green_avk/anotherterm/TermSh;
D/dalvikvm( 7462): DexOpt: unable to opt direct call 0x0a97 at 0x2a in Lgreen_green_avk/anotherterm/TermSh;.<init>
E/dalvikvm( 7462): Could not find class 'android.app.NotificationChannel', referenced from method green_green_avk.anotherterm.ConsoleService.s
W/dalvikvm( 7462): VFY: unable to resolve new-instance 380 (Landroid/app/NotificationChannel;) in Lgreen_green_avk/anotherterm/ConsoleService;
I/dalvikvm( 7462): Could not find method android.content.Context.startForegroundService, referenced from method green_green_avk.anotherterm.ConsoleService.t
D/dalvikvm( 7462): DexOpt: unable to opt direct call 0x0a97 at 0x2f in Lgreen_green_avk/anotherterm/ConsoleService;.s
I/dalvikvm( 7462): Could not find method android.view.View.showContextMenu, referenced from method green_green_avk.anotherterm.ui.k1.t
I/ActivityManager(  644): Displayed green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.SessionsActivity: +666ms
I/Timeline(  644): Timeline: Activity_windows_visible id: ActivityRecord{4328d770 u0 green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.SessionsActivity t40} time:2024305
I/dalvikvm( 7462): Could not find method android.content.Context.checkSelfPermission, referenced from method green_green_avk.anotherterm.utils.a0.c
W/ContextImpl( 7462): Failed to ensure directory: /storage/extSdCard/Android/data/green_green_avk.anotherterm.oldgood/files
D/dalvikvm( 7462): Trying to load lib /data/app-lib/green_green_avk.anotherterm.oldgood-1/libptyprocess.so 0x4257a6a0
D/dalvikvm( 7462): Added shared lib /data/app-lib/green_green_avk.anotherterm.oldgood-1/libptyprocess.so 0x4257a6a0
I/Timeline( 7462): Timeline: Activity_launch_request id:green_green_avk.anotherterm.oldgood time:2028495
I/dalvikvm( 7462): Could not find method android.app.Activity.isInMultiWindowMode, referenced from method green_green_avk.anotherterm.AnsiConsoleActivity.onCreate
I/dalvikvm( 7462): Could not find method android.graphics.Paint.setElegantTextHeight, referenced from method green_green_avk.anotherterm.ui.ConsoleScreenView.W
I/dalvikvm( 7462): DexOpt: unable to optimize instance field ref 0x06e1 at 0x23 in Lgreen_green_avk/anotherterm/utils/o0;.e
W/System.err( 7462):    at green_green_avk.anotherterm.ui.y0.v()
W/System.err( 7462):    at green_green_avk.anotherterm.ui.y0.<init>()
W/System.err( 7462):    at green_green_avk.anotherterm.ui.y0.<init>()
W/System.err( 7462):    at green_green_avk.anotherterm.ui.ConsoleKeyboardView.A()
W/System.err( 7462):    at green_green_avk.anotherterm.ui.ConsoleKeyboardView.onAttachedToWindow()
I/ActivityManager(  644): Displayed green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.AnsiConsoleActivity: +513ms
I/Timeline(  644): Timeline: Activity_windows_visible id: ActivityRecord{4329a760 u0 green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.AnsiConsoleActivity t40} time:2029430
I/ActivityManager(  644): Displayed green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.SessionsActivity: +244ms
I/Timeline(  644): Timeline: Activity_windows_visible id: ActivityRecord{43341b60 u0 green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.SessionsActivity t40} time:2034504
D/UsbSettingsManager(  644): hasDefaults: green_green_avk.anotherterm.oldgood FALSE
V/ApplicationPolicy(  644): isApplicationStateBlocked userId 0 pkgname green_green_avk.anotherterm.oldgood
I/ActivityManager(  644): Force stopping green_green_avk.anotherterm.oldgood appid=10176 user=0: from pid 7446
I/ActivityManager(  644): Killing 7462:green_green_avk.anotherterm.oldgood/u0a176 (adj 2): stop green_green_avk.anotherterm.oldgood
W/ActivityManager(  644): Scheduling restart of crashed service green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.ConsoleService in 1000ms
I/ActivityManager(  644):   Force finishing activity ActivityRecord{43341b60 u0 green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.SessionsActivity t40}
I/ActivityManager(  644):   Force stopping service ServiceRecord{43969ef0 u0 green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.ConsoleService}
I/WindowState(  644): WIN DEATH: Window{4347a0c8 u0 green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.SessionsActivity}
D/PowerManagerService(  644): [api] handleWakeLockDeath : release WakeLock : PARTIAL_WAKE_LOCK              'green_green_avk.anotherterm.oldgood/green_green_avk.anotherterm.backends.local.LocalModule' (uid=10176, pid=7462, ws=null) (elapsedTime=9313)
D/UsbSettingsManager(  644): hasDefaults: green_green_avk.anotherterm.oldgood FALSE
V/ApplicationPolicy(  644): isApplicationStateBlocked userId 0 pkgname green_green_avk.anotherterm.oldgood
root@goyave3g:/ #

This is output of logcat of the redist release of mklllv47(old-good crashed too) because i could'nt update the mklllv37 risking loss of continers. In the dev version (tried debug and release of redist and old good) and all crashed. Same with all versions from mklllv38 and upwards. Output:

u0_a103@goyave3g:/ $ su
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -d | grep 'green_green_avk'
I/Timeline(  972): Timeline: Activity_launch_request id:green_green_avk.anotherterm.redist time:1720047
I/Timeline(  644): Timeline: Activity_windows_visible id: ActivityRecord{4358b1a8 u0 green_green_avk.anotherterm.redist/green_green_avk.anotherterm.SessionsActivity t25} time:1720474
W/ContextImpl( 6431): Failed to ensure directory: /storage/extSdCard/Android/data/green_green_avk.anotherterm.redist/files
D/dalvikvm( 6431): Trying to load lib /data/app-lib/green_green_avk.anotherterm.redist-1/libptyprocess.so 0x4257e720
D/dalvikvm( 6431): Added shared lib /data/app-lib/green_green_avk.anotherterm.redist-1/libptyprocess.so 0x4257e720
I/Timeline( 6431): Timeline: Activity_launch_request id:green_green_avk.anotherterm.redist time:1722506
I/dalvikvm( 6431): Could not find method android.app.Activity.isInMultiWindowMode, referenced from method green_green_avk.anotherterm.AnsiConsoleActivity.onCreate
I/dalvikvm( 6431): Could not find method android.graphics.Paint.setElegantTextHeight, referenced from method green_green_avk.anotherterm.ui.ConsoleScreenView.c0
E/AndroidRuntime( 6431): Process: green_green_avk.anotherterm.redist, PID: 6431
E/AndroidRuntime( 6431): java.lang.RuntimeException: Unable to start activity ComponentInfo{green_green_avk.anotherterm.redist/green_green_avk.anotherterm.AnsiConsoleActivity}: android.view.InflateException: Binary XML file line #121: Error inflating class green_green_avk.anotherterm.ui.ConsoleScreenView
E/AndroidRuntime( 6431): Caused by: android.view.InflateException: Binary XML file line #121: Error inflating class green_green_avk.anotherterm.ui.ConsoleScreenView
E/AndroidRuntime( 6431):        at green_green_avk.anotherterm.AnsiConsoleActivity.onCreate()
E/AndroidRuntime( 6431):        at green_green_avk.anotherterm.ui.ConsoleScreenView$c.<init>()
E/AndroidRuntime( 6431):        at green_green_avk.anotherterm.ui.ConsoleScreenView.c0()
E/AndroidRuntime( 6431):        at green_green_avk.anotherterm.ui.ConsoleScreenView.<init>()
E/AndroidRuntime( 6431):        at green_green_avk.anotherterm.ui.ConsoleScreenView.<init>()
W/ActivityManager(  644):   Force finishing activity green_green_avk.anotherterm.redist/green_green_avk.anotherterm.AnsiConsoleActivity
W/ActivityManager(  644):   Force finishing activity green_green_avk.anotherterm.redist/green_green_avk.anotherterm.SessionsActivity
D/CrashAnrDetector(  644): processName: green_green_avk.anotherterm.redist
D/CrashAnrDetector(  644): broadcastEvent : green_green_avk.anotherterm.redist data_app_crash
W/ActivityManager(  644): Activity pause timeout for ActivityRecord{4368f460 u0 green_green_avk.anotherterm.redist/green_green_avk.anotherterm.AnsiConsoleActivity t25 f}
I/WindowState(  644): WIN DEATH: Window{4362b870 u0 green_green_avk.anotherterm.redist/green_green_avk.anotherterm.SessionsActivity}
D/PowerManagerService(  644): [api] handleWakeLockDeath : release WakeLock : PARTIAL_WAKE_LOCK              'green_green_avk.anotherterm.redist/green_green_avk.anotherterm.backends.local.LocalModule' (uid=10178, pid=6431, ws=null) (elapsedTime=2390)
I/ActivityManager(  644): Process green_green_avk.anotherterm.redist (pid 6431) (adj 2) has died.(69,196)
W/ActivityManager(  644): Scheduling restart of crashed service green_green_avk.anotherterm.redist/green_green_avk.anotherterm.ConsoleService in 1000ms
I/ActivityManager(  644): Start proc green_green_avk.anotherterm.redist for service green_green_avk.anotherterm.redist/green_green_avk.anotherterm.ConsoleService: pid=6872 uid=10178 gids={50178, 3003, 1028, 1015, 3002}
D/ActivityThread( 6872): handleBindApplication:green_green_avk.anotherterm.redist
E/dalvikvm( 6872): Could not find class 'android.app.NotificationChannel', referenced from method green_green_avk.anotherterm.TermSh.<init>
W/dalvikvm( 6872): VFY: unable to resolve new-instance 56 (Landroid/app/NotificationChannel;) in Lgreen_green_avk/anotherterm/TermSh;
D/dalvikvm( 6872): DexOpt: unable to opt direct call 0x018a at 0x2a in Lgreen_green_avk/anotherterm/TermSh;.<init>
E/dalvikvm( 6872): Could not find class 'android.app.NotificationChannel', referenced from method green_green_avk.anotherterm.ConsoleService.t
W/dalvikvm( 6872): VFY: unable to resolve new-instance 56 (Landroid/app/NotificationChannel;) in Lgreen_green_avk/anotherterm/ConsoleService;
I/dalvikvm( 6872): Could not find method android.content.Context.startForegroundService, referenced from method green_green_avk.anotherterm.ConsoleService.u
D/dalvikvm( 6872): DexOpt: unable to opt direct call 0x018a at 0x2f in Lgreen_green_avk/anotherterm/ConsoleService;.t
root@goyave3g:/ #
green-green-avk commented 3 years ago

Hmm... I need some more details:

green-green-avk commented 3 years ago

You could also filter the log this way to make things shorter:

adb logcat -d '*:E' | grep 'AndroidRuntime'
green-green-avk commented 3 years ago

By the way, I'm just a bit curious about your Android environment setup:

rooted with super su

But SuperSU Root is described as a root access manager that is supposed to be used on an already rooted device...

So your setup should include:

Is it correct?

SilasMo commented 3 years ago

This is actually a stock rom with which has twrp recovery flashed using odin, then I flashed Super Su zip via twrp. Everything works nicely on the phone as if it was normal. Maybe the bug is phone specified.

SilasMo commented 3 years ago

You could also filter the log this way to make things shorter: adb logcat -d '*:E' | grep 'AndroidRuntime'

Here is the output:

u0_a103@goyave3g:/ $ su
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -d '*:E' | grep 'green_green_avk' | grep 'AndroidRuntime'
E/AndroidRuntime( 6764): Process: green_green_avk.anotherterm.oldgood.debug, PID: 6764
E/AndroidRuntime( 6764): java.lang.RuntimeException: Unable to start activity ComponentInfo{green_green_avk.anotherterm.oldgood.debug/green_green_avk.anotherterm.AnsiConsoleActivity}: android.view.InflateException: Binary XML file line #121: Error inflating class green_green_avk.anotherterm.ui.ConsoleScreenView
E/AndroidRuntime( 6764): Caused by: android.view.InflateException: Binary XML file line #121: Error inflating class green_green_avk.anotherterm.ui.ConsoleScreenView
E/AndroidRuntime( 6764):        at green_green_avk.anotherterm.AnsiConsoleActivity.onCreate(AnsiConsoleActivity.java:193)
E/AndroidRuntime( 6764):        at green_green_avk.anotherterm.ui.ConsoleScreenView$SelectionPopup.<init>(ConsoleScreenView.java:208)
E/AndroidRuntime( 6764):        at green_green_avk.anotherterm.ui.ConsoleScreenView.init(ConsoleScreenView.java:534)
E/AndroidRuntime( 6764):        at green_green_avk.anotherterm.ui.ConsoleScreenView.<init>(ConsoleScreenView.java:463)
E/AndroidRuntime( 6764):        at green_green_avk.anotherterm.ui.ConsoleScreenView.<init>(ConsoleScreenView.java:456)
root@goyave3g:/ #
green-green-avk commented 3 years ago

Please, remove filtering by green_green_avk, I need also see what is going on in the Android framework part. Just provide me with the whole Java exception backtrace only.

SilasMo commented 3 years ago

oh okay let me do that

SilasMo commented 3 years ago

Here it is

u0_a103@goyave3g:/ $ su
root@goyave3g:/ # logcat -c
root@goyave3g:/ # logcat -d '*:E' | grep 'AndroidRuntime'
E/AndroidRuntime( 5577): FATAL EXCEPTION: main
E/AndroidRuntime( 5577): Process: green_green_avk.anotherterm.oldgood.debug, PID: 5577
E/AndroidRuntime( 5577): java.lang.RuntimeException: Unable to start activity ComponentInfo{green_green_avk.anotherterm.oldgood.debug/green_green_avk.anotherterm.AnsiConsoleActivity}: android.view.InflateException: Binary XML file line #121: Error inflating class green_green_avk.anotherterm.ui.ConsoleScreenView
E/AndroidRuntime( 5577):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2429)
E/AndroidRuntime( 5577):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2493)
E/AndroidRuntime( 5577):        at android.app.ActivityThread.access$800(ActivityThread.java:166)
E/AndroidRuntime( 5577):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1283)
E/AndroidRuntime( 5577):        at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 5577):        at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 5577):        at android.app.ActivityThread.main(ActivityThread.java:5584)
E/AndroidRuntime( 5577):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 5577):        at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 5577):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
E/AndroidRuntime( 5577):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
E/AndroidRuntime( 5577):        at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 5577): Caused by: android.view.InflateException: Binary XML file line #121: Error inflating class green_green_avk.anotherterm.ui.ConsoleScreenView
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.createView(LayoutInflater.java:627)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:703)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.rInflate(LayoutInflater.java:762)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.rInflate(LayoutInflater.java:771)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.inflate(LayoutInflater.java:499)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
E/AndroidRuntime( 5577):        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:699)
E/AndroidRuntime( 5577):        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:195)
E/AndroidRuntime( 5577):        at green_green_avk.anotherterm.AnsiConsoleActivity.onCreate(AnsiConsoleActivity.java:193)
E/AndroidRuntime( 5577):        at android.app.Activity.performCreate(Activity.java:5447)
E/AndroidRuntime( 5577):        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
E/AndroidRuntime( 5577):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2393)
E/AndroidRuntime( 5577):        ... 11 more
E/AndroidRuntime( 5577): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 5577):        at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime( 5577):        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.createView(LayoutInflater.java:601)
E/AndroidRuntime( 5577):        ... 23 more
E/AndroidRuntime( 5577): Caused by: android.view.InflateException: Binary XML file line #32: Error inflating class ImageButton
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:720)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.rInflate(LayoutInflater.java:762)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.parseInclude(LayoutInflater.java:858)E/AndroidRuntime( 5577):        at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.inflate(LayoutInflater.java:499)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
E/AndroidRuntime( 5577):        at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
E/AndroidRuntime( 5577):        at android.view.View.inflate(View.java:17718)
E/AndroidRuntime( 5577):        at green_green_avk.anotherterm.ui.ConsoleScreenView$SelectionPopup.<init>(ConsoleScreenView.java:208)
E/AndroidRuntime( 5577):        at green_green_avk.anotherterm.ui.ConsoleScreenView.init(ConsoleScreenView.java:534)
E/AndroidRuntime( 5577):        at green_green_avk.anotherterm.ui.ConsoleScreenView.<init>(ConsoleScreenView.java:463)
E/AndroidRuntime( 5577):        at green_green_avk.anotherterm.ui.ConsoleScreenView.<init>(ConsoleScreenView.java:456)
E/AndroidRuntime( 5577):        ... 26 more
E/AndroidRuntime( 5577): Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_case.xml from drawable resource ID #0x7f08009e
E/AndroidRuntime( 5577):        at android.content.res.Resources.loadDrawable(Resources.java:3451)
E/AndroidRuntime( 5577):        at android.content.res.Resources.getDrawable(Resources.java:1894)
E/AndroidRuntime( 5577):        at androidx.appcompat.widget.ResourcesWrapper.getDrawable(ResourcesWrapper.java:131)
E/AndroidRuntime( 5577):        at androidx.appcompat.widget.TintResources.getDrawable(TintResources.java:46)
E/AndroidRuntime( 5577):        at androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:457)
E/AndroidRuntime( 5577):        at androidx.appcompat.widge
root@goyave3g:/ #
SilasMo commented 3 years ago

Sorry for this newbie question. Is there a way of calling the host su binary from inside the container? Does sylinking it to the container work? I was trying to lldb on my phone but failed. I tried moving the lldb server binary to my phone, but in my little knowledge i think the binary was built from armhf not arm7-a(not sure if im lost).

green-green-avk commented 3 years ago

Maybe fixed in:

Please, verify.

green-green-avk commented 3 years ago

Is there a way of calling the host su binary from inside the container?

How the error message looks like?

Does sylinking it to the container work?

I need some more time to understand the matter of this question. I hope, I understand it right that it is about BROADCOM Endpoint Protection?

I was trying to lldb on my phone but failed.

It seems, PRoot is still unable to handle any other processes which use PTRACE including debuggers.

SilasMo commented 3 years ago

Maybe fixed in:

https://github.com/green-green-avk/AnotherTerm/releases/tag/MkIIIv48_release https://github.com/green-green-avk/AnotherTerm/releases/tag/MkIV_dev15_release Please, verify.

Tested and verified on oldgood and redist release of both the mklllv48 and mklV_dev_release. The app now works perfectly. Thanks @green-green-avk

green-green-avk commented 3 years ago

For Android ARM ABI and VFP related questions: https://github.com/green-green-avk/AnotherTerm/discussions/23