LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   VLC TuneIn addon fails with errors of LUA require and gnutls. (https://www.linuxquestions.org/questions/slackware-14/vlc-tunein-addon-fails-with-errors-of-lua-require-and-gnutls-4175648092/)

bamunds 02-11-2019 03:02 PM

VLC TuneIn addon fails with errors of LUA require and gnutls.
 
After upgrading to VLC 3.0.6 I'm having problems with the TuneIn v0.7 addon extension. I placed the playlist and tunein.lua (which includes user/password) under ~/.local/share/vlc/lua/playlist and sd. This will show the TuneIn internet channel, but fails to connect with the following errors about Lua's require and gnutls timeout. I've googled to see if others are having the issue and solved it, but google isn't providing any solutions for these particular issues.

Code:

bash-4.3$ vlc
VLC media player 3.0.6 Vetinari (revision 3.0.6-0-g5803e85f73)
[0000000000f1fa10] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-brian'
[0000000000fb1200] main playlist: playlist is empty
[00007ff790331ad0] lua services discovery error: Error loading script /home/brian/.local/share/vlc/lua/sd/tunein.lua: /home/brian/.local/share/vlc/lua/sd/tunein.lua:20: attempt to call global 'require' (a nil value)
[00007ff778000fe0] http stream error: peer stream 1 error: Cancellation (0x8)
[00007ff778000fe0] access stream error: HTTP connection failure
[00007ff790331ad0] main services discovery error: no suitable access module for `https://opml.radiotime.com/Describe.ashx?c=genres&partnerId=k2YHnXyS'
[00007ff790331ad0] lua services discovery error: Error while running script /home/brian/.local/share/vlc/lua/sd/tunein.lua, function main(): /home/brian/.local/share/vlc/lua/sd/tunein.lua:97: attempt to index local 'tree' (a nil value)
QObject::~QObject: Timers cannot be stopped from another thread

Anyone else overcome this issue or have direction on how to solve the error messages with the latest VLC?

Alien Bob 02-11-2019 04:01 PM

I created an account there to test.
I get the same errors but the "Local Radio" tree still populates properly and I can play the music streams I see in there.

bamunds 02-11-2019 05:05 PM

Eric thanks for the quick test from your end.

I'm only getting a Favorites folder which is then blank. If I try to connect multiple times sometimes the local stations folder appers, but opening it is displays nothing. I suspect the gnutls handshake timeout error is closing the https connection authorization resulting in no data for my user. Without the handshake TuneIn won't get Favorites and local stations.

Eric did you try the connection more than once?

I'm using the instructions from the TuneIn README.md. Did you place the files under ~/.local/share/vlc or under /usr/lib64/vlc/lua/playlist and .../sd?

I've tried both. I've verified user ownership of the files and even tried making the three files executable. Nothing seems to help. This did work under the VLC 2.x version with 0.5 TuneIn extension. Should the next step be to go back and reload older versions to verify this isn't a gnutls issue?

Alien Bob 02-11-2019 05:12 PM

I did the following to get the latest (0.7) version in VLC 3.0.6 (my own package):
Code:

$ unzip TuneIn-Radio-VLC-master.zip
$ mkdir ~/.local/share/vlc/lua/sd/
$ cp -ia TuneIn-Radio-VLC-master/tunein.lua ~/.local/share/vlc/lua/sd/
$ mkdir ~/.local/share/vlc/lua/playlist
$ cp -ia TuneIn-Radio-VLC-master/playlist/* ~/.local/share/vlc/lua/playlist/
$ vi ~/.local/share/vlc/lua/sd/tunein.lua # to set the username & password
$ vlc

Yes I restarted VLC several times, and once, the Local Radio did not populate.

bamunds 02-11-2019 05:23 PM

Eric, thanks again for the speedy reply. I used those similar steps, although I used Thunar to mkdir and copy the files to their folders. I've posted on the VideoLan Linux troubleshooting forum also. Maybe someone will have suggestions. The only other thing solution I saw involved updating certificates. Not sure how that could be an issue, but my current ca-certs are from PV's 2016. ca-certificates-20161130-noarch-1_slack14.2

The only other thing mentioned was using a lua editor for making the username,password addition. But I thought gvim should work for that purpose, as you proved with simple vi.

Thanks for helping start to solve. Cheers

bamunds 02-12-2019 10:28 AM

I've downloaded the older VLC 2.x.x files for 14.2 from AlienBob's repository http://www.slackware.com/~alien/slac...c2/pkg64/14.2/. Then upgradepkg to vlc 2.2.8 and npapi-vlc-2017, which removes the 3.0.6 file and installs 2.2.4. The errors have gone away and the TuneIn pluggin again works. I then downloaded the 3.0.6 version and it again caused the errors and lack of connection.

On my wife's Win10 the 3.0.4 VLC is working without issue with the TuneIn v0.7. I've also looked at the VidoeLan.org forums and there aren't issues other than how to put the user and password in to the tunein.lua file. So I suspect there is an issue during upgrade to 3.0.6 and not with the TuneIn extension. I think the next step is to try to locally build 3.0.4 or 3.0.6 and see if that works.

Or are there other settings which changed during the upgrade to 3.0.6 build?

chris.willing 02-12-2019 03:43 PM

1 Attachment(s)
Quote:

Originally Posted by bamunds (Post 5961033)
I think the next step is to try to locally build 3.0.4 or 3.0.6 and see if that works.

I already tried it with the SBo version (3.0.6) and see exactly the same errors as in the first post.

However it is intermittent. On third try, I see "Favorites" section populated with a few stations I had added via web interface; also "Local Radio" seems fully occupied with stations. There is a third "Trending" section which is empty.

chris

bamunds 02-12-2019 03:53 PM

Chris, thanks for testing with a locally built VLC.
Debugging this issue is probably beyond my skills. I plan to leave this open for some next steps advice from 'experts' of VLC and building. I believe this to be an issue that starts with the gnutls connection handshake failing and then authorization to the users information is properly blocked. The only other issue is that 3.0.6 has a bug that needs to be brought to the VLC upstream.

I did try pnoce's 3.0.4 build from pkgs.org, but it didn't recognize any Internet plugins TuneIn/ICast/Jamendo/Free Music, etc. Maybe that is a clue that something in the build process is dropping compatibility?

I will post any solutions from my post over at videolan.org forum also.

chris.willing 02-13-2019 04:31 AM

1 Attachment(s)
From https://forum.videolan.org/viewtopic.php?t=147460, it seems that the gnutls version is implicated. I tried building gnutls-3.6.6 (as used in current) but couldn't build it easily in 14.2. Therefore I built & installed gnutls-3.5.19 and now the tunein addon works perfectly; the playlist consistently shows lots of categories, all of which are loaded with lots of entries.

The problem with this solution is how reverting to gnutls-3.5.19 might affect other things. I see that when the regular gnutls-3.6.5 came to 14.2, it was due to some security issues, replacing gnutls-3.5.8. A question therefore arises as to whether the security issues were already addressed in 3.5.19 ...

chris

bamunds 02-13-2019 12:58 PM

Chris, that is an interesting test. I wonder why the old VLC2 works correctly with the latest gnutls and the latest TuneIn, while the latest VLC doesn't work correctly with gnutls? I further wonder if this is an issue of mismatched gnutls handshakes because both TuneIn and YouTube are using older gnutls/tls protocol? Are any of the newer security patches in the handshake sequence and maybe VLC2 has a delay in the processing until TLS is completed? Or perhaps gnutls is making sure the client server connection doesn't get a man-in-the-middle setup. I'm going to look into the security changes in gnutls.

Upstream development is requiring a clean version build from source, before they will provide assistance. I'll attempt that this evening. I have an older machine so hopefully it won't take too long. Cheers.

chris.willing 02-13-2019 04:05 PM

1 Attachment(s)
I just found a better solution after reading another thread about updating ca-certificates ...
I first reverted to the last official gnutls for 14.2 (gnutls-3.6.5-x86_64-1_slack14.2.txz) and checked to verify bad behaviour of tunein. Confirmed.
Then I ran:
Code:

/usr/sbin/update-ca-certificates --fresh
The tunein addon now behaves correctly again.

chris

bamunds 02-13-2019 05:43 PM

@Chris.willing, updating the certificates did NOT help with the reaction on my end. Did you test more than once? Are you running the SBo build that you maintain?

There seem to be a lot of dependencies. I plan to use sboui to make the packages. It will identify all dependencies automagically from the "REQUIRES" field of the .info file. Have you seen any issues with the vlc.info file? sboui also looks at the .info of "REQUIRES" packages to build dependency of dependency. Other than a standard install of 14.2 were there any other packages you had to install to get vlc to build? Where did you find libva 1.7.2? Can I use current's libva-2.2 without issue? I'm building under Slackware64 14.2 on an intel Pentium D using nouveau driver for a NVIDIA GS 8400.

I notice dependency avahi requires group and users, so I'll probably run that one separately. Can I accept all defaults on the other dependencies?

chris.willing 02-13-2019 06:34 PM

Quote:

Originally Posted by bamunds (Post 5961714)
@Chris.willing, updating the certificates did NOT help with the reaction on my end. Did you test more than once?

I tested twice and it worked both times. I just tried again after your post and it failed. Sorry for false hope.

Quote:

Are you running the SBo build that you maintain?

There seem to be a lot of dependencies. I plan to use sboui to make the packages. It will identify all dependencies automagically from the "REQUIRES" field of the .info file. Have you seen any issues with the vlc.info file? sboui also looks at the .info of "REQUIRES" packages to build dependency of dependency. Other than a standard install of 14.2 were there any other packages you had to install to get vlc to build? Where did you find libva 1.7.2? Can I use current's libva-2.2 without issue? I'm building under Slackware64 14.2 on an intel Pentium D using nouveau driver for a NVIDIA GS 8400.

I notice dependency avahi requires group and users, so I'll probably run that one separately. Can I accept all defaults on the other dependencies?
Yes, I build from source using the SlackBuild I maintain. The full dependency listing is quite long after all dependencies of dependencies are calculated from the .info file but no other packages are needed after that to build vlc. The libva on my desktop is 1.6.2 (standard in 14.2) - not sure whether the nvidia binary installer I use interferes with at all.

Defaults should be OK for all dependencies (I don't change any of them here).

chris

bamunds 02-13-2019 07:23 PM

Well, if you are testing with the SBo package, then it probably doesn't make sense for me to also test.

I think at this point I'll simply stay with AlienBob's 2.2.8. I actually use mplayer more than VLC, but mplayer doesn't have a TuneIn plugin for local channels I enjoy listening. With VLC 2.2.8 I can find the URL from TuneIn, plug that into mplayer playlist, and select from there.

I dont' have the time to keep trying to find the solution here. I want to thank you for all the assistance. I'm going to leave this marked unsolved until a better answer or the next release of VLC actually works correctly. Cheers

Alien Bob 02-14-2019 10:08 AM

Quote:

Originally Posted by bamunds (Post 5961714)
@Chris.willing, updating the certificates did NOT help with the reaction on my end. Did you test more than once? Are you running the SBo build that you maintain?

There seem to be a lot of dependencies. I plan to use sboui to make the packages. It will identify all dependencies automagically from the "REQUIRES" field of the .info file. Have you seen any issues with the vlc.info file? sboui also looks at the .info of "REQUIRES" packages to build dependency of dependency. Other than a standard install of 14.2 were there any other packages you had to install to get vlc to build? Where did you find libva 1.7.2? Can I use current's libva-2.2 without issue? I'm building under Slackware64 14.2 on an intel Pentium D using nouveau driver for a NVIDIA GS 8400.

I notice dependency avahi requires group and users, so I'll probably run that one separately. Can I accept all defaults on the other dependencies?

Updating the certs made the LUA errors go away here... and I now see an additional "Music" folder that gets populated with other stuff.

chris.willing 02-14-2019 04:05 PM

Quote:

Originally Posted by Alien Bob (Post 5961969)
Updating the certs made the LUA errors go away here... and I now see an additional "Music" folder that gets populated with other stuff.

However, there should be even more categories. Looking at the tunein.lua file, it makes categories for Local Radio, Trending, Music, News, Talk, Sports, By Location, By Language and Podcasts. I guess there's a new connection for each category and it gives up after the first failure.

chris

bamunds 02-24-2019 07:42 PM

Bump to see if anyone else is interested in helping to solve this odd issue?


All times are GMT -5. The time now is 04:03 AM.