jellyfin-archive / jellyfin-android-original

Android Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
271 stars 65 forks source link

Android app crashes and sometimes jellyfin server goes offline #255

Open gpops62 opened 4 years ago

gpops62 commented 4 years ago

First scenario: I cast using the Android app and watch a video, but eventually the app will crash. The video still plays on my Chromecast, but I can't control it when relaunching the app. I can resume the video in the app and re-cast it.

Second scenario: There are other times after the app crashes where I relaunch the app and it says that the server isn't connectable ("We're unable to connect to the selected server right now. Please ensure it is running and try again"). I then go into terminal and sudo systemctl restart jellyfin to restart the server and it works again.

Server is running the stable Debian/Ubuntu Jellyfin repository. Phone is running Android v.10 and Jellyfin app is from the Google Play Store.

Let me know how I can provide additional information or log files.

anthonylavado commented 4 years ago

This repo (cordova-plugin-chromecast) is literally for the component. Moving to https://github.com/jellyfin/jellyfin-android ...

dkanada commented 4 years ago

Some server logs would be extremely helpful here, they might shed some light on the problem.

gpops62 commented 4 years ago

Where would I find relevant logs?

anthonylavado commented 4 years ago

A question - when it “crashes”, can you still access it from the web browser on the computer?

Also / once you get it running again, you can go to the Dashboard, and scroll down to Logs. Grab the latest one and you can either share it here directly or on Pastebin or something. Make sure you take out anything you don’t want us to see, and we’ll only need then it around the time of the crash and restart.

gpops62 commented 4 years ago

Hi Anthony. I cannot access the server from my PC's web browser when it crashes.

Here are the logs: https://pastebin.com/tEhm5PPM

Please let me know if I can provide any additional information.

JustAMan commented 4 years ago

Hrm, a few issues in your logfile... first one if ffmpeg quitting with code 1 meaning it failed to convert something, but that shouldn't result in a crash.

The (probable) crash reason is this:

[2020-02-19 19:28:17.491 -05:00] [ERR] Error processing request
Error: SQLitePCL.pretty.SQLiteException: cannot rollback - no transaction is active
   at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc)
   at SQLitePCL.pretty.StatementImpl.MoveNext()
   at SQLitePCL.pretty.DatabaseConnection.Execute(IDatabaseConnection This, String sql)
   at SQLitePCL.pretty.DatabaseConnection.RunInTransaction[T](IDatabaseConnection This, Func`2 f, TransactionMode mode)
   at SQLitePCL.pretty.DatabaseConnection.RunInTransaction(IDatabaseConnection This, Action`1 action, TransactionMode mode)
   at Emby.Server.Implementations.Data.SqliteUserDataRepository.PersistUserData(Int64 internalUserId, String key, UserItemData userData, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Data.SqliteUserDataRepository.SaveUserData(Int64 internalUserId, String key, UserItemData userData, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.UserDataManager.SaveUserData(User user, BaseItem item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Session.SessionManager.OnPlaybackProgress(User user, BaseItem item, PlaybackProgressInfo info)
   at Emby.Server.Implementations.Session.SessionManager.OnPlaybackProgress(PlaybackProgressInfo info, Boolean isAutomated)

cc @Bond-009 or @cvium for ideas

rpatterson commented 4 years ago

I'm running Jellyfin server on Windows and it frequently becomes unresponsive while still having a running process and emits the above Error: SQLitePCL.pretty.SQLiteException: cannot rollback - no transaction is active error on any attempt to log in. I'm only using the web and Kodi clients, no Android clients here. I'm running version 10.5.0 from jellyfin-nightly_20200319-x64.exe.

gpops62 commented 4 years ago

The issue happens every time I cast to a Chromecast through the Android app. The video stops playing on screen and the server is unconnected-able until restarted.

Today I was troubleshooting and noticed that root is nearly 100% full when playing a video. /var/lib/jellyfin/transcodes is taking up 4.7GB and /var/lib/jellyfin uses another 5.2GB. My root is 20GB. Could a full disk be the cause? Why does jellyfin use that much space?

Here is a new log beginning when I run sudo systemctl restart jellyfin.service https://pastebin.com/CtAgLCTN

JustAMan commented 4 years ago

transcodes directory is where all your movies are temporary stored when direct streaming or transcoding. Limiting it to ~5GB is asking for serious trouble.

gpops62 commented 4 years ago

I searched for large files and found a bunch in /var/tmp from 3-4yrs ago. Looks like there was a bug related to mkinitramfs that's now fixed. Deleted them and have around 15GB free on root now. Played an entire movie this morning with no hiccups. Thank you for the assistance.

I'll report back if this changes.