Jump to content

UPNP only works for a short period of time


Recommended Posts

Posted

I'm running emby 4.8.3.0. on a Debian 12.2.0-14 server. Immediately after reboot, the emby server shows up in BubbleUPnP or VLC. But after some minutes, it's gone, none of these programs can see the emby server anymore. The web GUI still works, and the emby client for android can still connect (but I don't want to use it, I just installed it to verify this behaviour and removed it immediately after)

Restarting emby-server.service will fix the issue for some minutes.

Looking into /var/lib/emby/logs/embyserver.txt, I can't see anything (why is this log not in /var/log, like all other logs????). I attached this log.

I don't publish my emby server to the internet. the internal network is 172.16.0.0/12, and the emby server 172.16.0.2.

embyserver.txt

Posted

@JochyNI would suggest updating Emby Server to the current release 4.8.8.0 and if the issue persists, enabling debug logging (Server Settings / Logs / Settings) and restarting the server and then noting down the time when it was seen as DLNA server through uPnP and the time when it dropped out and provide the server log and times

For DLNA Server there is actually a lot more debug logging available  - see Server Settings / Devices / DLNA / Enable DLNA debug logging. So if problems remain on 4.8.8.0 - also enable this setting and restart the server after saving the changes - so we have both server debug logging and DLNA Server debug logging - it will all be in the same embyserver.txt log file

Please also get a screenshot of the DLNA settings in Server settings and the times when it was accessible and when it stopped being accessible and to what device

Thanks

 

Posted

Same story. It's the 4th update in a row that didn't fix the issue. I have seen one error in the log:

2024-06-12 18:00:04.692 Error FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Output:
    ffmpeg version 5.1-emby_2023_06_25 Copyright (c) 2000-2022 the FFmpeg developers and softworkz for Emby LLC
    built with gcc 10.3.0 (crosstool-NG 1.25.0)

I don't understand what it means. I have attached the log-file.

embyserver.txt

Neminem
Posted

Looks like permissions issues, I might be wrong.

 

2024-06-12 18:26:51.941 Error App: Error resolving path /streaming-data/lost+found
    *** Error Report ***
    Version: 4.8.8.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: Linux version 6.1.0-21-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT
    Framework: .NET 6.0.25
    OS/Process: x64/x64
    Runtime: opt/emby-server/system/System.Private.CoreLib.dll
    Processor count: 6
    Data path: /var/lib/emby
    Application path: /opt/emby-server/system
    System.UnauthorizedAccessException: System.UnauthorizedAccessException: Access to the path '/streaming-data/lost+found' is denied.
     ---> System.IO.IOException: Permission denied

       --- End of inner exception stack trace ---
       at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
       at System.IO.Enumeration.FileSystemEnumerator`1.Init()
       at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
       at System.IO.Enumeration.FileSystemEnumerableFactory.FileSystemInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
       at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
       at System.IO.DirectoryInfo.EnumerateFileSystemInfos()
       at Emby.Server.Implementations.IO.ManagedFileSystem.EnumerateFileSystemInfos(DirectoryInfo dir, Boolean recursive)
       at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileSystemEntries(String path, Boolean recursive, FileSystemCredentials credentials)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntriesInternal(String path)
       at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntries(String path, Boolean clearCache)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntries(String path)
       at MediaBrowser.Controller.Library.ItemResolveArgs.GetFileSystemChildren()
       at MediaBrowser.Controller.Library.ItemResolveArgs.ContainsFileSystemEntryByName(String name, Boolean caseSensitive)
       at Emby.Server.Implementations.Library.LibraryManager.ShouldResolvePathContents(ItemResolveArgs args)
       at Emby.Server.Implementations.Library.LibraryManager.ResolvePath(FileSystemMetadata fileInfo, IDirectoryService directoryService, Folder parent, LibraryOptions libraryOptions)
       at Emby.Server.Implementations.Library.LibraryManager.ResolveFileList(List`1 fileList, IDirectoryService directoryService, Folder parent, LibraryOptions libraryOptions)
    Source: System.Private.CoreLib
    TargetSite: IntPtr CreateDirectoryHandle(System.String, Boolean)
    InnerException: System.IO.IOException: Permission denied
    Source: 
    TargetSite: 
 

Happy2Play
Posted
10 minutes ago, jaycedk said:

Looks like permissions issues, I might be wrong.

 

2024-06-12 18:26:51.941 Error App: Error resolving path /streaming-data/lost+found
    *** Error Report ***
    Version: 4.8.8.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: Linux version 6.1.0-21-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT
    Framework: .NET 6.0.25
    OS/Process: x64/x64
    Runtime: opt/emby-server/system/System.Private.CoreLib.dll
    Processor count: 6
    Data path: /var/lib/emby
    Application path: /opt/emby-server/system
    System.UnauthorizedAccessException: System.UnauthorizedAccessException: Access to the path '/streaming-data/lost+found' is denied.
     ---> System.IO.IOException: Permission denied

       --- End of inner exception stack trace ---
       at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
       at System.IO.Enumeration.FileSystemEnumerator`1.Init()
       at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
       at System.IO.Enumeration.FileSystemEnumerableFactory.FileSystemInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
       at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
       at System.IO.DirectoryInfo.EnumerateFileSystemInfos()
       at Emby.Server.Implementations.IO.ManagedFileSystem.EnumerateFileSystemInfos(DirectoryInfo dir, Boolean recursive)
       at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileSystemEntries(String path, Boolean recursive, FileSystemCredentials credentials)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntriesInternal(String path)
       at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntries(String path, Boolean clearCache)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntries(String path)
       at MediaBrowser.Controller.Library.ItemResolveArgs.GetFileSystemChildren()
       at MediaBrowser.Controller.Library.ItemResolveArgs.ContainsFileSystemEntryByName(String name, Boolean caseSensitive)
       at Emby.Server.Implementations.Library.LibraryManager.ShouldResolvePathContents(ItemResolveArgs args)
       at Emby.Server.Implementations.Library.LibraryManager.ResolvePath(FileSystemMetadata fileInfo, IDirectoryService directoryService, Folder parent, LibraryOptions libraryOptions)
       at Emby.Server.Implementations.Library.LibraryManager.ResolveFileList(List`1 fileList, IDirectoryService directoryService, Folder parent, LibraryOptions libraryOptions)
    Source: System.Private.CoreLib
    TargetSite: IntPtr CreateDirectoryHandle(System.String, Boolean)
    InnerException: System.IO.IOException: Permission denied
    Source: 
    TargetSite: 
 

Should be unrelated to topic but believe this is actually a system folder that should be ignored.

Probably need to see a server log of when it stops working as nothing really stands out in these short logs.

 

Posted (edited)

Lost+Found is a system directory in every Unix/Linux version. It's created by the OS (in this case Linux) in the root directory of a disk. I use a disk, mounted to /streaming-data. It's a 500 GB SSD. Permissions for this directory by default are root full control (drwx------). I changed it to everyone rx (drwxr-xr-x),  but it didn't help. 

The log was created after emby stopped showing up. I could find absolutely nothing related to this behaviour. This one is the latest version, now the lost+found folder does no more create an error.

embyserver.txt

Edited by JochyN
Happy2Play
Posted (edited)

Okay the log is 20 minutes with nothing during that time, so I would guess you will need to enable debug logging on the Logs menu and probably DLNA debug logging on the DLNA menu.  And repost log when the issue happens.

2024-06-12 19:04:39.568 Info TaskManager: Check for plugin updates Completed after 0 minute(s) and 1 seconds
2024-06-12 19:24:55.657 Info LiveTV: Loading live tv data from /var/lib/emby/data/livetv/seriestimers

 

Edited by Happy2Play
Posted

TThank you. DNLA logging had been on. I now enabled debug logging. That's my log.

embyserver.txt

Posted

That's really odd given that it's sending out notifications the whole time. Does your server dashboard display the correct LAN address?

Posted (edited)
18 minutes ago, Luke said:

That's really odd given that it's sending out notifications the whole time. Does your server dashboard display the correct LAN address?

Yes. It shows 172.16.0.2, which is the correct server address.

Edited by JochyN
Posted (edited)
8 hours ago, Luke said:

That's really odd

Wondering if this has some relevance:

 

2024-06-13 04:15:45.677 Info App: File /opt/emby-server/system/plugins/Emby.Dlna.dll has version 1.4.2.0

2024-06-13 04:15:45.708 Info App: Loading Emby.Dlna, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null from /var/lib/emby/plugins/Emby.Dlna.dll

Why would be having different versions and paths for DLNA ?

 

Update: Ignore that - it is the same on my server as well

Edited by sa2000
Posted

There are no requests coming into the server to `http://172.16.0.2:8096/dlna/8e48de54-1a9a-4b89-8616-6a13182658d5/description.xml` which would we be what gets announced to the local network on SSDP Notify packets to udp port 1900 and address 239.255.255.250

Could it be firewall issue?

I am intrigued about the size of the local network with network mask "255.240.0.0"  - 

2024-06-13 04:15:46.347 Info NetworkManager: GatewayAddresses: 172.20.1.1
2024-06-13 04:15:46.348 Info NetworkManager: UnicastAddresses: 172.16.0.2,fe80::5cbe:a6ff:fe10:48cd%2

2024-06-13 04:15:46.409 Info NetworkManager: Detected local ip addresses: [{"IPAddress":"172.16.0.2","HasGateWayAddress":true,"PrefixLength":12,"IPv4Mask":"255.240.0.0"},{"IPAddress":"fe80::5cbe:a6ff:fe10:48cd%2","HasGateWayAddress":true,"PrefixLength":64},{"IPAddress":"127.0.0.1","HasGateWayAddress":false,"PrefixLength":8,"IPv4Mask":"255.0.0.0"},{"IPAddress":"::1","HasGateWayAddress":false,"PrefixLength":128}]

Do the problems arise if there is a simple subnet with netmask of 255.255.255.0 ?

 

Posted

It's a somewhat like big range of IPs. That's true. But it's just some hosts in this network, less than 10 servers and some PCs.

There is no firewall within this network. It's not segmented. And it works immediately after restarting the service. If there would be a firewall issue it would not work at all.

Posted (edited)
3 hours ago, JochyNo said:

It's a somewhat like big range of IPs.

Potentially over a million devices - on a local network ?

A "Class A" network. 

I do not know if this is relevant - I would still ask if the issue arises if you just had a simple subnet with just 172.16.0.xxx subnet (range 172.16.0.1 to 172.16.0.255)?

SSDP Multicast M-SEARCH and NOTIFY may not be routed by default on complex networks

Edited by sa2000
Posted

This is no complex network. It's a superset of class B Networks, half the size of the 10.0.0.0 network. It is same as "strange" as 172.16.0.0/24, as the usual metrics for class B is /16. We call this CIDR (Classless inter domain routing, RFC 1518)

Posted

Could you use something like wireshark to examine the broadcasts between the server and devices?

Posted

I am currently not there. I will be back on Monday and start a TCPdump to watch all the traffic originating from this server. I guess, multicasts will simply stop after a while.

  • Thanks 1

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