jellyfin-androidtv
jellyfin-androidtv copied to clipboard
Jellyfin app fails to start sometimes in Chromecast. Null pointer exception in logs
Describe the bug
- Select Jellyfin application in Chromecast
- Toast appears mentioning that Jellyfin failed to start and a log has been sent to server.
- If you click again, it will eventually let you in.
All in all, low severity, as it happens once in awhile and a click or two on the app on the screen makes it goes away, but it is a bit odd.
Logs
client: Jellyfin for Android TV client_version: 0.16.10 client_repository: https://github.com/jellyfin/jellyfin-androidtv type: crash_report format: markdown
Logs
Stack Trace:
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jellyfin.androidtv/org.jellyfin.androidtv.ui.browsing.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3635)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
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:7839)
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:1003)
Caused by: java.lang.NullPointerException
at org.jellyfin.androidtv.data.querying.StdItemQuery.<init>(StdItemQuery.kt:23)
at org.jellyfin.androidtv.ui.browsing.BrowseGridFragment.setupQueries(BrowseGridFragment.java:545)
at org.jellyfin.androidtv.ui.browsing.BrowseGridFragment.onCreate(BrowseGridFragment.java:177)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)
at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:122)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2941)
at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:219)
at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:57)
at android.app.Activity.performCreate(Activity.java:8051)
at android.app.Activity.performCreate(Activity.java:8031)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608)
... 12 more
Logcat:
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:219)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:57)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.Activity.performCreate(Activity.java:8051)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.Activity.performCreate(Activity.java:8031)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.os.Handler.dispatchMessage(Handler.java:106)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.os.Looper.loopOnce(Looper.java:201)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.os.Looper.loop(Looper.java:288)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at android.app.ActivityThread.main(ActivityThread.java:7839)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at java.lang.reflect.Method.invoke(Native Method)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
05-02 17:37:11.481 E/DisplayPreferencesStore( 8653): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
05-02 17:37:11.482 I/DisplayPreferencesStore( 8653): Creating an empty DisplayPreferencesDto for next commit.
05-02 17:37:11.486 D/BrowseGridFragment( 8653): numCardsScreen <0>
05-02 17:37:11.489 D/AndroidRuntime( 8653): Shutting down VM
--------- beginning of crash
05-02 17:37:11.490 E/AndroidRuntime( 8653): FATAL EXCEPTION: main
05-02 17:37:11.490 E/AndroidRuntime( 8653): Process: org.jellyfin.androidtv, PID: 8653
05-02 17:37:11.490 E/AndroidRuntime( 8653): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jellyfin.androidtv/org.jellyfin.androidtv.ui.browsing.MainActivity}: java.lang.NullPointerException
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3635)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.os.Handler.dispatchMessage(Handler.java:106)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.os.Looper.loopOnce(Looper.java:201)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.os.Looper.loop(Looper.java:288)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.ActivityThread.main(ActivityThread.java:7839)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at java.lang.reflect.Method.invoke(Native Method)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
05-02 17:37:11.490 E/AndroidRuntime( 8653): Caused by: java.lang.NullPointerException
05-02 17:37:11.490 E/AndroidRuntime( 8653): at org.jellyfin.androidtv.data.querying.StdItemQuery.<init>(StdItemQuery.kt:23)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at org.jellyfin.androidtv.ui.browsing.BrowseGridFragment.setupQueries(BrowseGridFragment.java:545)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at org.jellyfin.androidtv.ui.browsing.BrowseGridFragment.onCreate(BrowseGridFragment.java:177)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:122)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2941)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:219)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:57)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.Activity.performCreate(Activity.java:8051)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.Activity.performCreate(Activity.java:8031)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
05-02 17:37:11.490 E/AndroidRuntime( 8653): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608)
05-02 17:37:11.490 E/AndroidRuntime( 8653): ... 12 more
05-02 17:37:11.491 E/ACRA ( 8653): ACRA caught a RuntimeException for org.jellyfin.androidtv
05-02 17:37:11.491 E/ACRA ( 8653): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jellyfin.androidtv/org.jellyfin.androidtv.ui.browsing.MainActivity}: java.lang.NullPointerException
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3635)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
05-02 17:37:11.491 E/ACRA ( 8653): at android.os.Handler.dispatchMessage(Handler.java:106)
05-02 17:37:11.491 E/ACRA ( 8653): at android.os.Looper.loopOnce(Looper.java:201)
05-02 17:37:11.491 E/ACRA ( 8653): at android.os.Looper.loop(Looper.java:288)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.ActivityThread.main(ActivityThread.java:7839)
05-02 17:37:11.491 E/ACRA ( 8653): at java.lang.reflect.Method.invoke(Native Method)
05-02 17:37:11.491 E/ACRA ( 8653): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
05-02 17:37:11.491 E/ACRA ( 8653): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
05-02 17:37:11.491 E/ACRA ( 8653): Caused by: java.lang.NullPointerException
05-02 17:37:11.491 E/ACRA ( 8653): at org.jellyfin.androidtv.data.querying.StdItemQuery.<init>(StdItemQuery.kt:23)
05-02 17:37:11.491 E/ACRA ( 8653): at org.jellyfin.androidtv.ui.browsing.BrowseGridFragment.setupQueries(BrowseGridFragment.java:545)
05-02 17:37:11.491 E/ACRA ( 8653): at org.jellyfin.androidtv.ui.browsing.BrowseGridFragment.onCreate(BrowseGridFragment.java:177)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.Fragment.performCreate(Fragment.java:3094)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:504)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:268)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:122)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2941)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
05-02 17:37:11.491 E/ACRA ( 8653): at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:219)
05-02 17:37:11.491 E/ACRA ( 8653): at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:57)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.Activity.performCreate(Activity.java:8051)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.Activity.performCreate(Activity.java:8031)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
05-02 17:37:11.491 E/ACRA ( 8653): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608)
05-02 17:37:11.491 E/ACRA ( 8653): ... 12 more
05-02 17:37:11.491 D/ACRA ( 8653): Building report
05-02 17:37:11.492 D/ACRA ( 8653): Starting collectors with priority FIRST
05-02 17:37:11.492 D/ACRA ( 8653): Calling collector org.acra.collector.DropBoxCollector
05-02 17:37:11.493 D/ACRA ( 8653): Collector org.acra.collector.DropBoxCollector completed
05-02 17:37:11.493 D/ACRA ( 8653): Calling collector org.acra.collector.StacktraceCollector
05-02 17:37:11.494 D/ACRA ( 8653): Calling collector org.acra.collector.LogCatCollector
05-02 17:37:11.494 D/ACRA ( 8653): Collector org.acra.collector.StacktraceCollector completed
05-02 17:37:11.509 D/ACRA ( 8653): Retrieving logcat output (buffer:default)...
App information
App version: 0.16.10
(161099
)
Package name: org.jellyfin.androidtv
Build:
{"BOARD":"boreal","BOOTLOADER":"01.01.231214.035015","BRAND":"google","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"boreal","DISPLAY":"STTL.240206.002","FINGERPRINT":"google\/boreal\/boreal:12\/STTL.240206.002\/11417109:user\/release-keys","HARDWARE":"amlogic","HOST":"abfarm-release-2004-0234","ID":"STTL.240206.002","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"Google","MODEL":"Chromecast HD","ODM_SKU":"unknown","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"boreal","RADIO":"unknown","SKU":"US","SOC_MANUFACTURER":"Amlogic","SOC_MODEL":"AMLS805X2","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1707302944000,"TYPE":"user","UNKNOWN":"unknown","USER":"android-build","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"11417109","MEDIA_PERFORMANCE_CLASS":0,"PREVIEW_SDK_FINGERPRINT":"REL","PREVIEW_SDK_INT":0,"RELEASE":"12","RELEASE_OR_CODENAME":"12","SDK":"31","SDK_INT":31,"SECURITY_PATCH":"2024-03-01"}}
Build config:
{"APPLICATION_ID":"org.jellyfin.androidtv","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":161099,"VERSION_NAME":"0.16.10"}
Device information
Android version: 12
Device brand: google
Device product: boreal
Device model: Chromecast HD
Crash information
Start time: 2024-05-02T17:37:10.621-04:00
Crash time: 2024-05-02T17:37:11.792-04:00
Application version
0.16.10
Where did you install the app from?
Google Play
Device information
Chromecast HD by Google
Android version
12
Jellyfin server version
10.8.13
Same here with Chromecast and firetv. Null pointer
Supposedly it's a known issue but hard to fix.
@Alliyance yeah and it doesn't happen all the time, so I'm guessing it's hard to reproduce either. Plus, it isn't a show stopper, although I could see a user who is less likely to try hitting the app again assuming that it's down for good.
Judging by the logs, I'm guessing (at least) part of the problem starts here? https://github.com/jellyfin/jellyfin-androidtv/blob/3cb22b0c8fcfef5c8a7abb8531acbd3187d59f76/app/src/main/java/org/jellyfin/androidtv/data/querying/StdItemQuery.kt#L23
Exactly. I've been using Chromecast and Firetv since 2 years and that issue started only a couple of months ago. I don't recall having that problem before. 🤷🏼♂️
same NPE happens each time when I play the one MP4(hevc) on andriodTV, while others media files have no problem.
The NPE log: https://pub-71b425de9a40452caa97984e92be931f.r2.dev/upload_org.jellyfin.androidtv_0.16.10_20240528132615_fa61a5d60e6842998853c70c6e89f4ee.log
every mp4 of this serial documentary has the same error, so I think the problem may be caused by the file codec. so I provide the mp4 ffmpeg info:
ffmpeg -i '重生 - S01E01 - 第1集.mp4'
ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
built with Apple clang version 15.0.0 (clang-1500.3.9.4)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0.1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '重生 - S01E01 - 第1集.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
title : 274602962.ts
encoder : Lavf58.27.103
Duration: 00:51:57.98, start: 0.000000, bitrate: 20020 kb/s
Stream #0:0[0x1](und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv), 3840x2160 [SAR 1:1 DAR 16:9], 19886 kb/s, 25 fps, 25 tbr, 10000k tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Audio: mp3 (mp3float) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
At least one output file must be specified
Just updated to the most recent version of Jellyfin server. Maybe the issue is on the server end? going to keep an eye on things.
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.
Haven't seen this in awhile, but wanting to keep this active in case other people have.
This issue should no longer happen since 0.17.5