Odroid C2 playing from davs / https share broken since 9.0.2

Playing content from a davs or https directory is broken on my odroid since CoreElec 9.0.2 (also LibreElec). 9.0.1 works fine.

What is the reason? Post kodi debug log for a help.

Try latest stable 9.2.0.

9.0.1 log (OK)
9.2.0 log (problem)
diff between 9.0.1 & 9.2.0 log

I’ve tried 9.0.2, 9.0.3 and 9.2.0. Have been reverting back to 9.0.1. I’d like to understand what’s causing this. The same file plays fine on kodi 18.4 OSX.

I don’t see any indication what is wrong. Maybe you should enable debug logging. At least for curl.

I didn’t see anything from the logs either. When I enable the debugging (showing CPU and memory usage on the screen), I see that the free memory goes down rapidly and then the system freezes. Is it possible that it tries to buffer content and it exhausts the memory? With 9.0.1 it would start playing right away, with 9.0.2 it takes a lot longer and more often than not it would not play. I now have 9.2.0 installed, I’ll try with some small video files, see how the memory usage is, etc.

Hard to say. Check the log on davs server if there is anything useful.

the only difference I see that 9.0.1 uses HTTP/1.1 and 9.2.0 uses HTTP/2.0. Log.

Maybe this is the reason: https://github.com/xbmc/xbmc/issues/15417

From what I read your server should fallback from HTTP2 to HTTP/1.1.
There is a PR to disable http2 https://github.com/xbmc/xbmc/pull/16601
but not yet included.
If this is even your issue.

If this is even your issue.

the bug discusses kodi 17.3, while CE 9.0.1 is already on kodi 18.1 (and works fine).

I do find it strange that kodi 18.4 on OSX does work properly, it also uses HTTP/2.0 requests to the webserver.

Perhaps I should dig in the differences in CE between 9.0.1 (2019.02.27) and 9.0.2 (2019.05.13). My hunch is now that its related to “Add nghttp2 support”. I’ll disable h2 on the webserver and test again tomorrow.

Yes, issue happen probbably because of http2 support. Server should fallback to http/1.1 if http2 is not known (as read somewhere). But there is also new settings in kodi to disable http2 connection but it is not yet included.

As mentioned, kodi on my macbook does work with http/2:

2001:470:1f15:194:6d24:21ac:ec11:839c - ***** 2019-09-26 17:47:37+0200 "GET /m/not_indexed/BBC.The.Sky.at.Night.2014.Rosetta.Special.2160p.HDTV.x265.AAC.MVGroup.org.mp4 HTTP/2.0" 206 131072 "www.cccc.nu" "-" "Kodi/18.4 (Macintosh; Intel Mac OS X 10_14_6) App_Bitness/64 Version/18.4-Git:20190831-3ade758ceb"
2001:470:1f15:194:6d24:21ac:ec11:839c - ***** 2019-09-26 17:47:51+0200 "GET /m/not_indexed/BBC.The.Sky.at.Night.2014.Rosetta.Special.2160p.HDTV.x265.AAC.MVGroup.org.mp4 HTTP/2.0" 206 3728754505 "www.cccc.nu" "-" "Kodi/18.4 (Macintosh; Intel Mac OS X 10_14_6) App_Bitness/64 Version/18.4-Git:20190831-3ade758ceb"

2

So I think it’s not the webservers fault, but the http/2.0 implementation (in coreelec / libreelec).

Maybe kodi on mac uses different curl version or something like that?
You should check the traffic between CE and webserver to see what is wrong. And I think curl debug log in kodi should show the traffic too.
I don’t have any http2 server at hand to check this.

I can give you access to my webserver.

Sure :slight_smile: Send me credentials in PM. Will check how LE master works and CE.

Would it be possible to update to nghttp2 v1.40.0?

third-party: Update neverbleed to fix memory leak

Updating nghttp2 to v1.40.0 fixed it.

2 Likes

Pull request on github to fix this has been submitted on 2020.06.11.

1 Like