Jump to content

PlayBackInfo hangs forever...


dopeshow

Recommended Posts

dopeshow

Hello,

 

I'm test driving Emby, however I'm facing and odd issue... sometimes (randomly, no specific trigger) Live TV stops working at all. When I try to watch Live TV using my web browser, the spinning circle lasts forever. Opening developer tools, I can see that a request to PlayBackInfo is marked as "pending" and never completes. I can try a different stream and get the same results, the only solution that works is to restart emby.

 

Here are some specs that might help:

 

Stream origin: .ts file

OS: Linux

Emby Premiere: Enabled

Remuxing enabled, transcoding disabled (however transcoding isn't needed as once emby is restarted, live tv works again).

 

server log: http://54.39.128.64/emby.txt (last 1000 lines, as it was a huge file > 200 Mb)

 

Thanks in advance.

Link to comment
Share on other sites

dopeshow

@@Luke yes, it only happens on live tv... VOD seems to keep playing just fine. So far we've tried with .ts and .m3u8 streams.

 

By the way, I've confirmed that the .ts and .m3u8 streams work flawlessly as they are on the same LAN and I've had them running on VLC at the same time as the error presents itself.

Edited by dopeshow
Link to comment
Share on other sites

Can you enable debug logging under logs, then restart the server, repeat the test, and attach the complete emby server log? thanks !

Link to comment
Share on other sites

dopeshow

@@Luke I think I've been able to find the main issue... At some point I find this:

2019-02-06 15:31:42.686 Error MediaSourceManager: Error getting media sources
        *** Error Report ***
        Version: 4.0.1.0
        Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_amd64.deb
        Operating system: Unix 4.9.148.6
        64-Bit OS: True
        64-Bit Process: True
        User Interactive: True
        Processor count: 8
        Program data path: /var/lib/emby
        Application directory: /opt/emby-server/system
        SQLitePCL.pretty.SQLiteException: Busy: database is locked
        SQLitePCL.pretty.SQLiteException: Exception of type 'SQLitePCL.pretty.SQLiteException' was thrown.
           at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc)
           at SQLitePCL.pretty.SQLiteDatabaseConnection.PrepareStatement(String sql, String& tail)
           at SQLitePCL.pretty.DatabaseConnection.PrepareStatement(IDatabaseConnection This, String sql)
           at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
           at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
           at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
           at Emby.Sqlite.BaseSqliteRepository.CreateConnection(Boolean isReadOnly)
           at Emby.Server.Sync.SyncRepository.GetJobItemReader[T](SyncJobItemQuery query, String baseSelectText, Func`2 itemFactory)
           at Emby.Server.Sync.SyncManager.GetJobItems(SyncJobItemQuery query)
           at Emby.Server.Sync.SyncedMediaSourceProvider.GetSyncedItems(BaseItem item)
           at Emby.Server.Sync.SyncedMediaSourceProvider.GetMediaSources(BaseItem item, Folder[] collectionFolders, CancellationToken cancellationToken)
           at Emby.Server.Implementations.Library.MediaSourceManager.GetDynamicMediaSources(BaseItem item, Folder[] collectionFolders, IMediaSourceProvider provider, CancellationToken cancellationToken)
        Source: SQLitePCL.pretty
        TargetSite: Void CheckOk(SQLitePCL.sqlite3, Int32)
           at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc)
           at SQLitePCL.pretty.SQLiteDatabaseConnection.PrepareStatement(String sql, String& tail)
           at SQLitePCL.pretty.DatabaseConnection.PrepareStatement(IDatabaseConnection This, String sql)
           at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
           at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
           at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
           at Emby.Sqlite.BaseSqliteRepository.CreateConnection(Boolean isReadOnly)
           at Emby.Server.Sync.SyncRepository.GetJobItemReader[T](SyncJobItemQuery query, String baseSelectText, Func`2 itemFactory)
           at Emby.Server.Sync.SyncManager.GetJobItems(SyncJobItemQuery query)
           at Emby.Server.Sync.SyncedMediaSourceProvider.GetSyncedItems(BaseItem item)
           at Emby.Server.Sync.SyncedMediaSourceProvider.GetMediaSources(BaseItem item, Folder[] collectionFolders, CancellationToken cancellationToken)
           at Emby.Server.Implementations.Library.MediaSourceManager.GetDynamicMediaSources(BaseItem item, Folder[] collectionFolders, IMediaSourceProvider provider, CancellationToken cancellationToken)

From what I can see (I'm not a big SQLite fan) it tries to access a table/database that is marked as locked by the same server (no, I'm not running 2 instances). A while ago I quit using SQLite because it had issues with systems that need to read/write lots of data. The media library in this server is kinda big (about 40k items), and it has 10 concurrent users... maybe that's the problem?

Link to comment
Share on other sites

Can you try rebooting your system? I know you're saying you're not running two instances, but that's pretty much always the cause of this. Thanks.

Link to comment
Share on other sites

dopeshow

@@Luke

 

There's only 1 instance... will follow your suggestions and reboot later, even though the "reboot fixes all" is usually a Windows concept, as I manage servers under Linux and BSD that have been up for over 3 years without a single reboot...

 

I've also monitored processes, CPU usage, RAM usage, disk I/O and all of them are at "normal" levels.

root@linux21:~# ps ax | grep "Emby" | grep -v "grep"
22775 ?        SLsl 107:27 /opt/emby-server/system/EmbyServer -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-deb_{version}_amd64.deb
root@linux21:~# ps ax | grep "Emby" | grep -v "grep" | wc -l
1
root@linux21:~#
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...