Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#76285 - [vlc] Playing files from Windows Media Library via UPnP fails with IPv6

Attached to Project: Arch Linux
Opened by OS (Firewave) - Monday, 24 October 2022, 20:11 GMT
Last edited by Toolybird (Toolybird) - Friday, 25 November 2022, 05:15 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Playing files from Windows Media Libraries fails via "Universal Plug'n'Play" when it uses IPv6 internally. It does work when using IPv4 but there's no indication when it uses which.

Your input can't be opened:
VLC is unable to open the MRL 'http://[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4'. Check the log for details.

This has been broken for months. Or maybe it never worked - I only started using this system again at the beginning of the year and never used Linux for streaming.

Using the the same machine within the same network works fine when booting into Windows and using the official VLC 3.0.17.4 binaries.

It seems there used to be a command-line option which disabled IPv6 usage but that has been obsoleted and no-op'd.

This happens with videos and audios files (I have no images shared) - but I assume it is any files.


Additional info:
* vlc 3.0.17.4-9

Failing log:
main debug: processing request item: <video>, node: Universal Plug'n'Play, skip: 0
main debug: resyncing on <video>
main debug: <video> is at 38
main debug: starting playback of new item
main debug: resyncing on <video>
main debug: <video> is at 38
main debug: creating new input thread
main debug: Creating an input for '<video>'
main debug: requesting art for new input thread
main debug: using timeshift granularity of 50 MiB
main debug: using default timeshift path
main debug: `http://[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4' gives access `http' demux `any' path `[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4'
main debug: creating demux: access='http' demux='any' location='[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4' file='(null)'
main debug: looking for access_demux module matching "http": 19 candidates
main debug: no access_demux modules matched
main debug: looking for meta fetcher module matching "any": 1 candidates
main debug: creating access: http://[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4
main debug: looking for access module matching "http": 30 candidates
lua debug: Trying Lua scripts in /home/user/.local/share/vlc/lua/meta/fetcher
lua debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/fetcher
lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher
main debug: no meta fetcher modules matched
main debug: creating access: http://[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/0_MTVfYzVhMTExYzItNzkwNzY.jpg?albumArt=true
main debug: looking for access module matching "http": 30 candidates
qt debug: IM: Setting an input
http debug: resolving fe80::30cd:836a:caee:1010 ...
http debug: outgoing request: GET /WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4 HTTP/1.1 Host: [fe80::30cd:836a:caee:1010]:10243 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.17.4 LibVLC/3.0.17.4 Range: bytes=0-
http debug: connection failed
access error: HTTP connection failure
http debug: querying proxy for http://[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4
http debug: resolving fe80::30cd:836a:caee:1010 ...
http debug: outgoing request: GET /WMPNSSv4/1314901727/0_MTVfYzVhMTExYzItNzkwNzY.jpg?albumArt=true HTTP/1.1 Host: [fe80::30cd:836a:caee:1010]:10243 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.17.4 LibVLC/3.0.17.4 Range: bytes=0-
http debug: connection failed
access error: HTTP connection failure
http debug: querying proxy for http://[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/0_MTVfYzVhMTExYzItNzkwNzY.jpg?albumArt=true
http debug: no proxy
http debug: http: server='fe80::30cd:836a:caee:1010' port=10243 file='/WMPNSSv4/1314901727/0_MTVfYzVhMTExYzItNzkwNzY.jpg'
main debug: net: connecting to fe80::30cd:836a:caee:1010 port 10243
main error: connection failed: Invalid argument
http error: cannot connect to fe80::30cd:836a:caee:1010:10243
main debug: no access modules matched
main error: no suitable access module for `http://[fe80::30cd:836a:caee:1010]:10243/WMPNSSv4/1314901727/0_MTVfYzVhMTExYzItNzkwNzY.jpg?albumArt=true'
http debug: no proxy
http debug: http: server='fe80::30cd:836a:caee:1010' port=10243 file='/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4'
main debug: net: connecting to fe80::30cd:836a:caee:1010 port 10243
main error: connection failed: Invalid argument
http error: cannot connect to fe80::30cd:836a:caee:1010:10243

Working log:

main debug: processing request item: <video>, node: Universal Plug'n'Play, skip: 0
main debug: rebuilding array of current - root Universal Plug'n'Play
main debug: rebuild done - 45 items, index 38
main debug: starting playback of new item
main debug: resyncing on <video>
main debug: <video> is at 38
main debug: creating new input thread
main debug: Creating an input for '<video>'
main debug: requesting art for new input thread
main debug: using timeshift granularity of 50 MiB
main debug: using default timeshift path
main debug: `http://192.168.178.23:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4' gives access `http' demux `any' path `192.168.178.23:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4'
main debug: creating demux: access='http' demux='any' location='192.168.178.23:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4' file='(null)'
main debug: looking for access_demux module matching "http": 19 candidates
main debug: no access_demux modules matched
main debug: creating access: http://192.168.178.23:10243/WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4
main debug: looking for meta fetcher module matching "any": 1 candidates
main debug: looking for access module matching "http": 30 candidates
lua debug: Trying Lua scripts in /home/user/.local/share/vlc/lua/meta/fetcher
lua debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/fetcher
lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher
main debug: no meta fetcher modules matched
main debug: creating access: http://192.168.178.23:10243/WMPNSSv4/1314901727/0_MTVfYzVhMTExYzItNzkwNzY.jpg?albumArt=true
main debug: looking for access module matching "http": 30 candidates
qt debug: IM: Setting an input
http debug: resolving 192.168.178.23 ...
http debug: outgoing request: GET /WMPNSSv4/1314901727/0_MTVfYzVhMTExYzItNzkwNzY.jpg?albumArt=true HTTP/1.1 Host: 192.168.178.23:10243 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.17.4 LibVLC/3.0.17.4 Range: bytes=0-
http debug: resolving 192.168.178.23 ...
http debug: outgoing request: GET /WMPNSSv4/1314901727/1_MTVfYzVhMTExYzItNzkwNzY.mp4 HTTP/1.1 Host: 192.168.178.23:10243 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.17.4 LibVLC/3.0.17.4 Range: bytes=0-
dbus debug: Getting property Position
http debug: incoming response: HTTP/1.1 206 Partial Content Content-Length: 8926 Content-Type: image/jpeg Server: Microsoft-HTTPAPI/2.0 Accept-Ranges: bytes Content-Range: bytes 0-8925/8926 Scid.DLNA.ORG: 466885170 TransferMode.DLNA.ORG: Interactive Date: Mon, 24 Oct 2022 19:57:12 GMT
main debug: using access module "access"
main debug: looking for stream_filter module matching "prefetch,cache_block": 26 candidates
prefetch debug: using 8926 bytes buffer, 8926 bytes read
main debug: using stream_filter module "prefetch"
main debug: looking for stream_filter module matching "any": 26 candidates
prefetch debug: end of stream
[...]
http debug: incoming response: HTTP/1.1 206 Partial Content Content-Length: 1395790185 Content-Type: video/mp4 Last-Modified: Mon, 05 Jan 2015 22:37:18 GMT Server: Microsoft-HTTPAPI/2.0 Accept-Ranges: bytes Content-Range: bytes 0-1395790184/1395790185 Scid.DLNA.ORG: 678794326 TransferMode.DLNA.ORG: Streaming Date: Mon, 24 Oct 2022 19:57:12 GMT


Steps to reproduce:

- go to "Universal Plug'n'Play"
- navigate to a file entry and double-click to play
This task depends upon

Closed by  Toolybird (Toolybird)
Friday, 25 November 2022, 05:15 GMT
Reason for closing:  None
Additional comments about closing:  Apparent network issue. See comments.
Comment by Toolybird (Toolybird) - Monday, 24 October 2022, 23:43 GMT
> It does work when using IPv4 but there's no indication when it uses which

This indicates an underlying networking issue. What is your network config? systemd-networkd, systemd-resolved, etc?

Unless there is proof this is an Arch packaging bug, I'm afraid not much will happen here. You'll need to debug this somehow. Maybe take it to the proper support channels (forum/IRC/etc) to see if anyone is able to help. I couldn't see any pre-compiled linux binaries upstream, but it would be interesting to see if it repro's on a different distro. You should definitely try that before reporting upstream.
Comment by OS (Firewave) - Tuesday, 25 October 2022, 10:34 GMT
> This indicates an underlying networking issue. What is your network config? systemd-networkd, systemd-resolved, etc?

systemd 251.5-1 is installed.

The network is working fine - otherwise I would not be able to browse the shared folder. It is just the fetching of the actual content which doesn't work.

But it seems something is wrong with the network. I am able to resolve the IPv4 address from that machine but not the IPv6 one.

It turns out VLC tries to use the fe80::... address which is not advertised within the network. It should use a 2001:938:.... which wraps the address. It seems like the media server is providing the wrong URLs.

Being able to tell VLC to not use IPv6 would be a workaround though.

Loading...