SkyTube
SkyTube copied to clipboard
Find some crashes, and hope they can help you to debug
Describe the bug Some crashes happened by accident when I was testing in different devices. I tried to reproduce them and found that they can't be reproduced, but they are real. I hope they can help you to debug.
Setup:
- Android version: [e.g. 7 or 10, etc] 7.0
- Is Your device rooted? No
- Do You use Tor or any VPN service with your device? No
- App source [e.g. FDroid, Downloaded from GitHub, self build] self build
- App Version [e.g. v2.977] v2.977
Crash 1:
Long Msg: java.lang.Error: java.io.FileNotFoundException: /storage/emulated/0/Download/leakcanary-free.rm.skytube.oss/2021-03-22_14-34-49_904.hprof (No such file or directory)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1139)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:760)
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Download/leakcanary-free.rm.skytube.oss/2021-03-22_14-34-49_904.hprof (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.
Crash2:
Long Msg: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources$Theme android.content.Context.getTheme()' on a null object reference
at android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:222)
at android.app.AlertDialog.
Crash3: Long Msg: java.lang.NullPointerException: Attempt to invoke virtual method 'free.rm.skytube.businessobjects.YouTube.newpipe.VideoId free.rm.skytube.businessobjects.YouTube.POJOs.YouTubeVideo.getVideoId()' on a null object reference at free.rm.skytube.businessobjects.db.DownloadedVideosDb.isVideoDownloaded(DownloadedVideosDb.java:301) at free.rm.skytube.gui.fragments.YouTubePlayerV1Fragment.onPrepareOptionsMenu(YouTubePlayerV1Fragment.java:693) at androidx.fragment.app.Fragment.performPrepareOptionsMenu(Fragment.java:2820) at androidx.fragment.app.FragmentManager.dispatchPrepareOptionsMenu(FragmentManager.java:2703) at androidx.fragment.app.FragmentController.dispatchPrepareOptionsMenu(FragmentController.java:399) at androidx.fragment.app.FragmentActivity.onPreparePanel(FragmentActivity.java:488) at androidx.appcompat.view.WindowCallbackWrapper.onPreparePanel(WindowCallbackWrapper.java:99) at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.onPreparePanel(AppCompatDelegateImpl.java:3097) at androidx.appcompat.app.AppCompatDelegateImpl.preparePanel(AppCompatDelegateImpl.java:1922) at androidx.appcompat.app.AppCompatDelegateImpl.doInvalidatePanelMenu(AppCompatDelegateImpl.java:2176) at androidx.appcompat.app.AppCompatDelegateImpl$2.run(AppCompatDelegateImpl.java:268) at android.os.Handler.handleCallback(Handler.java:754) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6395) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
Crash4: Long Msg: java.lang.RuntimeException: Unable to destroy activity {free.rm.skytube.oss/free.rm.skytube.gui.activities.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void free.rm.skytube.gui.businessobjects.adapters.VideoGridAdapter.onDestroy()' on a null object reference at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4337) at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4355) at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4629) at android.app.ActivityThread.-wrap19(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1565) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6395) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void free.rm.skytube.gui.businessobjects.adapters.VideoGridAdapter.onDestroy()' on a null object reference at free.rm.skytube.gui.businessobjects.fragments.BaseVideosGridFragment.onDestroy(BaseVideosGridFragment.java:110) at androidx.fragment.app.Fragment.performDestroy(Fragment.java:2927) at androidx.fragment.app.FragmentStateManager.destroy(FragmentStateManager.java:492) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1296) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1497) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2625) at androidx.fragment.app.FragmentManager.dispatchDestroy(FragmentManager.java:2609) at androidx.fragment.app.Fragment.performDestroy(Fragment.java:2922) at androidx.fragment.app.FragmentStateManager.destroy(FragmentStateManager.java:492) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1296) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1504) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2625) at androidx.fragment.app.FragmentManager.dispatchDestroy(FragmentManager.java:2609) at androidx.fragment.app.FragmentController.dispatchDestroy(FragmentController.java:330) at androidx.fragment.app.FragmentActivity.onDestroy(FragmentActivity.java:365) at androidx.appcompat.app.AppCompatActivity.onDestroy(AppCompatActivity.java:242) at android.app.Activity.performDestroy(Activity.java:7079) at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1154) at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4324) ... 10 more
Crash5: Long Msg: java.lang.IllegalArgumentException: Hprof file is 0 byte length at shark.HprofHeader$Companion.parseHeaderOf(HprofHeader.kt:40) at shark.StreamingHprofReader$Companion.readerFor$default(StreamingHprofReader.kt:331) at leakcanary.internal.activity.screen.HeapDumpRenderer.render(HeapDumpRenderer.kt:105) at leakcanary.internal.activity.screen.RenderHeapDumpScreen$createView$$inlined$apply$lambda$2$1.invoke(RenderHeapDumpScreen.kt:51) at leakcanary.internal.activity.screen.RenderHeapDumpScreen$createView$$inlined$apply$lambda$2$1.invoke(RenderHeapDumpScreen.kt:47) at leakcanary.internal.activity.db.Io$execute$2.invoke(Io.kt:44) at leakcanary.internal.activity.db.Io$execute$2.run(Io.kt:10) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:760)
Thanks for the crash reports! I guess, a couple of the exceptions are not real crashes - for example when leakcanary complains about missing or empty files, but the others seems valid.