Jump to content

Live tv guide will not update after emby updated


Dont1982

Recommended Posts

Dont1982

After I installed the latest update to emby, the live tv guide fails to update. It has done this the last 4 times it has tried to update.  I have attached the logs, also I am using the emby supplied guides. It was working fine prior to the update.  Any help would be greatly appreciated.

embyserver.txt embyserver-63850349257.txt

Link to comment
Share on other sites

Hi.  Try removing the ComsSkip plug-in.

Link to comment
Share on other sites

Dont1982
12 minutes ago, ebr said:

Hi.  Try removing the ComsSkip plug-in.

So the do skip plugin is what is making it not update? I reselected the guides and the live tv setup and it worked.  This is prior to seeing this about removing comskip.  If it does it again I will remove comskip and see if that does the trick.  
 

Is there any other plugin like comskip that does the same thing?

Link to comment
Share on other sites

sa2000
Posted (edited)

@ebr  - the Guide update ran but failed after a minute with an error. I do see ComSkipper errors later on.

 

The guide update was at this time

2024-05-03 16:09:02.971 Info TaskManager: Executing Refresh Guide
. . . 
2024-05-03 16:10:33.918 Info TaskManager: Refresh Guide Failed after 1 minute(s) and 30 seconds

The error was on a file access for "Emby-Server\programdata\data\livetv\timers.json'"  - I presume it was a sharing violation clash on opening the file.

System.IO.IOException: System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open. : 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'

The full logged error was

2024-05-03 16:10:33.893 Debug SqliteItemRepository: GetitemById LiveTvProgram 2331171 Teen UFO, Flying Dinosaur Over Idaho, and Headless Goats
2024-05-03 16:10:33.914 Debug SqliteItemRepository: GetitemById LiveTvProgram 2331172 Spontaneous Human Combustion, The Tell-Tale Hum, and UFO Explosion

2024-05-03 16:10:33.918 Error TaskManager: Error
	*** Error Report ***
	Version: 4.8.5.0
	Command line: C:\Users\emby-server\AppData\Roaming\Emby-Server\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19045
	Framework: .NET 6.0.29
	OS/Process: x64/x64
	Runtime: C:/Users/emby-server/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata
	Application path: C:\Users\emby-server\AppData\Roaming\Emby-Server\system
	System.IO.IOException: System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open. : 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
	   at System.IO.FileStream..ctor(String path, FileStreamOptions options)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions, Int64 preAllocationSize)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileOpenOptions fileOpenOptions)
	   at Emby.Common.Implementations.Serialization.JsonSerializer.SerializeToFile(Object obj, String file)
	   at Emby.LiveTV.ItemDataProvider`1.UpdateList(List`1 newList)
	   at Emby.LiveTV.TimerManager.Update(TimerInfo item)
	   at Emby.LiveTV.EmbyTV.RefreshTimers(CancellationToken cancellationToken, IProgress`1 progress)
	   at Emby.LiveTV.LiveTvManager.RefreshChannels(IProgress`1 progress, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)
	Source: System.Private.CoreLib
	TargetSite: Microsoft.Win32.SafeHandles.SafeFileHandle CreateFile(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, System.IO.FileOptions)
	

There were loads of ComSkipper errors but logged after this - example (one of many)

2024-05-03 16:35:41.204 Error SessionManager: Error in event handler
	*** Error Report ***
	Version: 4.8.5.0
	Command line: C:\Users\emby-server\AppData\Roaming\Emby-Server\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19045
	Framework: .NET 6.0.29
	OS/Process: x64/x64
	Runtime: C:/Users/emby-server/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata
	Application path: C:\Users\emby-server\AppData\Roaming\Emby-Server\system
	System.NullReferenceException: System.NullReferenceException: Object reference not set to an instance of an object.
	   at ComSkipper.ServerEntryPoint.PlaybackProgress(Object sender, PlaybackProgressEventArgs e)
	   at MediaBrowser.Common.Events.EventHelper.TriggerAll[T](EventHandler`1 mainHandler, Object sender, T args, ILogger logger)
	Source: ComSkipper
	TargetSite: Void PlaybackProgress(System.Object, MediaBrowser.Controller.Library.PlaybackProgressEventArgs)

 

Edited by sa2000
Link to comment
Share on other sites

Dont1982

ok i have deleted comskip. going to see if it works now.

Link to comment
Share on other sites

Let us know how you get on. Thanks.

Link to comment
Share on other sites

Dont1982

It failed again this morning.  Comskip has been uninstalled and server restarted yesterday.

embyserver.txt

Link to comment
Share on other sites

13 hours ago, Dont1982 said:

It failed again this morning.  Comskip has been uninstalled and server restarted yesterday.

embyserver.txt 1.24 MB · 0 downloads

HI, can you try rebooting your machine and see if that helps?

Link to comment
Share on other sites

Dont1982

I have done this multiple times. That was one of the first things I did.  

Link to comment
Share on other sites

sa2000

This is the same error that I saw in the earlier log - a file open clash on this

System.IO.IOException: System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open. : 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'
 

with the full error being

2024-05-09 08:50:37.122 Info LiveTV: Found existing series based on provider ids: 2365438
2024-05-09 08:50:37.128 Error TaskManager: Error
	*** Error Report ***
	Version: 4.8.6.0
	Command line: C:\Users\emby-server\AppData\Roaming\Emby-Server\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19045
	Framework: .NET 6.0.29
	OS/Process: x64/x64
	Runtime: C:/Users/emby-server/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata
	Application path: C:\Users\emby-server\AppData\Roaming\Emby-Server\system
	System.IO.IOException: System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open. : 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
	   at System.IO.FileStream..ctor(String path, FileStreamOptions options)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions, Int64 preAllocationSize)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileOpenOptions fileOpenOptions)
	   at Emby.Common.Implementations.Serialization.JsonSerializer.SerializeToFile(Object obj, String file)
	   at Emby.LiveTV.ItemDataProvider`1.UpdateList(List`1 newList)
	   at Emby.LiveTV.TimerManager.Update(TimerInfo item)
	   at Emby.LiveTV.EmbyTV.UpdateTimersForSeriesTimer(SeriesTimerInfo seriesTimer, Boolean updateTimerSettings, Boolean deleteInvalidTimers, SeriesMetadataState seriesMetadataState, CancellationToken cancellationToken)
	   at Emby.LiveTV.EmbyTV.RefreshSeriesTimers(CancellationToken cancellationToken, IProgress`1 progress)
	   at Emby.LiveTV.LiveTvManager.RefreshChannels(IProgress`1 progress, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)
	Source: System.Private.CoreLib
	TargetSite: Microsoft.Win32.SafeHandles.SafeFileHandle CreateFile(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, System.IO.FileOptions)
	
2024-05-09 08:50:37.128 Debug TaskManager: Refresh Guide Failed after 3 minute(s) and 1 seconds

As this appears reproducible and it is running on windows, we can troubleshoot the problem using https://learn.microsoft.com/en-us/sysinternals/downloads/procmon

Server Debug Logging may also add some more info

Would be happy to investigate and see what has the file locked out 

Please note that procmon PML files would be massive but they zip very well. Do not leave procmon running for long as it gobbles system resources - so enable debug logging on the server, run procmon to capture events then restart the server and start a guide refresh. Stop procmon capture when it fails and save all as PML and zip and upload externally and send me a link by private message and would also need the server log to see the time of the file access error

Do you run some auto backup software that may have locked the file out at that time?

What antivirus / security software do you have running

There are some tools that list all open files - you could use these before starting to capture diagnostics to see if the file is open by any process

The file being 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'

 

Link to comment
Share on other sites

Dont1982
On 5/10/2024 at 2:17 PM, sa2000 said:

This is the same error that I saw in the earlier log - a file open clash on this

System.IO.IOException: System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open. : 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'
 

with the full error being

2024-05-09 08:50:37.122 Info LiveTV: Found existing series based on provider ids: 2365438
2024-05-09 08:50:37.128 Error TaskManager: Error
	*** Error Report ***
	Version: 4.8.6.0
	Command line: C:\Users\emby-server\AppData\Roaming\Emby-Server\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19045
	Framework: .NET 6.0.29
	OS/Process: x64/x64
	Runtime: C:/Users/emby-server/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata
	Application path: C:\Users\emby-server\AppData\Roaming\Emby-Server\system
	System.IO.IOException: System.IO.IOException: The requested operation cannot be performed on a file with a user-mapped section open. : 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
	   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
	   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
	   at System.IO.FileStream..ctor(String path, FileStreamOptions options)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions, Int64 preAllocationSize)
	   at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileOpenOptions fileOpenOptions)
	   at Emby.Common.Implementations.Serialization.JsonSerializer.SerializeToFile(Object obj, String file)
	   at Emby.LiveTV.ItemDataProvider`1.UpdateList(List`1 newList)
	   at Emby.LiveTV.TimerManager.Update(TimerInfo item)
	   at Emby.LiveTV.EmbyTV.UpdateTimersForSeriesTimer(SeriesTimerInfo seriesTimer, Boolean updateTimerSettings, Boolean deleteInvalidTimers, SeriesMetadataState seriesMetadataState, CancellationToken cancellationToken)
	   at Emby.LiveTV.EmbyTV.RefreshSeriesTimers(CancellationToken cancellationToken, IProgress`1 progress)
	   at Emby.LiveTV.LiveTvManager.RefreshChannels(IProgress`1 progress, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)
	Source: System.Private.CoreLib
	TargetSite: Microsoft.Win32.SafeHandles.SafeFileHandle CreateFile(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, System.IO.FileOptions)
	
2024-05-09 08:50:37.128 Debug TaskManager: Refresh Guide Failed after 3 minute(s) and 1 seconds

As this appears reproducible and it is running on windows, we can troubleshoot the problem using https://learn.microsoft.com/en-us/sysinternals/downloads/procmon

Server Debug Logging may also add some more info

Would be happy to investigate and see what has the file locked out 

Please note that procmon PML files would be massive but they zip very well. Do not leave procmon running for long as it gobbles system resources - so enable debug logging on the server, run procmon to capture events then restart the server and start a guide refresh. Stop procmon capture when it fails and save all as PML and zip and upload externally and send me a link by private message and would also need the server log to see the time of the file access error

Do you run some auto backup software that may have locked the file out at that time?

What antivirus / security software do you have running

There are some tools that list all open files - you could use these before starting to capture diagnostics to see if the file is open by any process

The file being 'C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json'

 

that's the thing. when I restart or manually run the refresh it works.  For some reason the auto doesn't do it.  And sometimes it does.  When it fails again I will try to capture it.

  • Thanks 1
Link to comment
Share on other sites

On 12/05/2024 at 17:16, Dont1982 said:

For some reason the auto doesn't do it

If you can work out when the next auto refresh is then can start enabling diagnostics a few minutes before that. 

It is important to confirm initially that the file concerned is not held open before the refresh starts 

Microsoft SysInternals have a tool for that - Handle.exe see Handle - Sysinternals | Microsoft Learn

If the file is not open already when you start SysInternals process monitor then the capture will show what processes / threads open the file and then the failing one

Please familiarize yourself with the tools beforehand and do some dummy runs

Also have debug logging enabled but remember to have logs redacted before uploading here - or you could send me zipped raw unedited log files by private message together with the link for getting the zipped PML file from procmon and what handle.exe found 

 

 

Edited by sa2000
Link to comment
Share on other sites

I run surfshark vpn.  With the vpn off everything works fine.  With it on it get the update error. any ideas on this?  Also with it on I get a lot of channels that done work with it on, but same channels work with it off.  I have contacted IPTV service and they state that a vpn has no effect on their services.

 

Link to comment
Share on other sites

3 hours ago, Dont1982 said:

I run surfshark vpn.  With the vpn off everything works fine.  With it on it get the update error. any ideas on this?  Also with it on I get a lot of channels that done work with it on, but same channels work with it off.  I have contacted IPTV service and they state that a vpn has no effect on their services.

 

Can you do more testing to confirm this? The file writing and vpn should be completely independent of each other. I think the results you saw are most likely coincidental. Thanks.

Link to comment
Share on other sites

I have tested this multiple times. And I’m never home when the sever auto updates the guide.  Since I have disconnected the vpn it has worked as it should. As soon as I connect the con and run a refresh it fails. Also I noticed that some of the live channels would not work with vpn on but would work fine with it off. 

  • Thanks 1
Link to comment
Share on other sites

Maybe the Surfshark vpn product has some security / anti virus / malware detection functionality included and has code that accesses files

If not, may be it is changing the timing and this is a timing issue 

If the problem comes back, we will need to find out what is causing the file access sharing violation error on this file during guide refresh - 

"C:\Users\emby-server\AppData\Roaming\Emby-Server\programdata\data\livetv\timers.json"

and Microsoft SysIntenternals tools like Handle and ProcMon together with the Emby Server logs will help with the invstigation

 

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...