ooni / probe

OONI Probe network measurement tool for detecting internet censorship
https://ooni.org/install
BSD 3-Clause "New" or "Revised" License
751 stars 142 forks source link

android: log view crashes when using debug logs #2508

Closed bassosimone closed 12 months ago

bassosimone commented 12 months ago

Describe the bug

The log view crashes when using debug logs.

To Reproduce

Expected behavior

The view should show the logs. (I suspect we're allocating too much memory?)

Screenshots

N/A

System information (please complete the following information):

Additional context

The following seems to be the reason why the app crashed (not sure whether this is an OOM):

07-21 14:24:33.576  8046  8046 D AndroidRuntime: Shutting down VM
07-21 14:24:33.576  8046  8046 E AndroidRuntime: FATAL EXCEPTION: main
07-21 14:24:33.576  8046  8046 E AndroidRuntime: Process: org.openobservatory.ooniprobe, PID: 8046
07-21 14:24:33.576  8046  8046 E AndroidRuntime: java.lang.IllegalArgumentException: No view found for id 0x7f0a0240 (org.openobservatory.ooniprobe:id/subContent) for fragment PreferenceFragment{44a1d57} (a77fcc95-856b-4513-be86-c9caf4f2f703 id=0x7f0a0240)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3138)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:502)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1543)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.Activity.performStart(Activity.java:8366)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3666)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2303)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.os.Looper.loopOnce(Looper.java:201)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:288)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7884)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
07-21 14:24:33.576  8046  8046 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
07-21 14:24:33.587  1716  2906 E ActivityManager: App crashed on incremental package org.openobservatory.ooniprobe which is 100% loaded.
bassosimone commented 12 months ago

I think we need to do a bit more work on this issue. The following screenshot illustrates what my logs look like. Basically, the main problem is that DEBUG logs are for some reason not included in the logs view. See:

photo1690194606

Note that the messages are correctly labeled as DEBUG in the logcat, so it's not an engine issue:

Screenshot 2023-07-24 at 12 29 11

As such, I am reopening the issue.