FS#42001 - [xbmc] curl 7.38.0-1 breaks package ability to remote scrape for tv/movie database updates.

Attached to Project: Community Packages
Opened by Lee (adr3nal1n) - Wednesday, 17 September 2014, 15:10 GMT
Last edited by Ike Devolder (BlackEagle) - Tuesday, 23 September 2014, 20:39 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Ike Devolder (BlackEagle)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 12
Private No

Details

Description:
[curl] 7.38.0-1 breaks [xbmc] package ability to remote scrape for tv/movie database updates.

Additional info:
* package version(s)
* config and/or log files etc.
Other arch user encountered same issue here http://forum.xbmc.org/showthread.php?tid=204501

Steps to reproduce:
Scan for new content in xbmc fails with curl version 7.38.0-1. Rollback curl to version 7.37.1-1 and scan for new content in xbmc works.
This task depends upon

Closed by  Ike Devolder (BlackEagle)
Tuesday, 23 September 2014, 20:39 GMT
Reason for closing:  Fixed
Additional comments about closing:  thanks for all the input

will be fixed with curl-7.38.0-2
Comment by Ike Devolder (BlackEagle) - Wednesday, 17 September 2014, 17:32 GMT
should be fixed with xbmc-13.2-4
Comment by A.C. (zepar) - Thursday, 18 September 2014, 05:26 GMT
  • Field changed: Percent Complete (100% → 0%)
still getting errors after update

22:10:10 T:139816785536768 ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached(28)
22:10:10 T:139816785536768 ERROR: CCurlFile::CReadState::Connect, didn't get any data from stream.
22:10:12 T:139816785536768 ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached(28)
22:10:12 T:139816785536768 ERROR: CCurlFile::CReadState::Connect, didn't get any data from stream.
22:10:13 T:139815748105984 ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached(28)
22:10:13 T:139815748105984 ERROR: CCurlFile::CReadState::Connect, didn't get any data from stream.
Comment by Ike Devolder (BlackEagle) - Thursday, 18 September 2014, 05:27 GMT
strange, it was just running fine here, did a small test with the movie db and got my information
Comment by Lee (adr3nal1n) - Thursday, 18 September 2014, 09:41 GMT
Just re-tested again this morning following the xbmc package update and issue still remains. I have same curl errors in xbmc log as above. Rolled back to curl 7.37 and working once more.
Comment by YP (knedlyk) - Thursday, 18 September 2014, 14:58 GMT
Confirm, downloading in xbmc doesn't work with curl-7.38.0-1. Downgrading to curl-7.37.1-1 fixes this issue.
Comment by teraflops (teraflops) - Friday, 19 September 2014, 18:12 GMT
also unable to use the official xbmc repos or get rss feed output

CurlFile::Open(0x7f7aa8f65c40) http://feeds.xbmc.org/updated_xbmc_addons
19:37:24 T:140164797458176 ERROR: CCurlFile::FillBuffer - Failed: Timeout

but if I click the url from the log it loads fine, either for repos or feeds
Comment by John (graysky) - Friday, 19 September 2014, 21:41 GMT Comment by Kalpik Nigam (kalpik) - Saturday, 20 September 2014, 11:47 GMT
Same issue. Subscribing to get updates.
Comment by John (graysky) - Saturday, 20 September 2014, 11:48 GMT
The ticket I opened against xbmc has been closed, "Comment: report to curl"

Fine: https://sourceforge.net/p/curl/bugs/1426/
Comment by Ike Devolder (BlackEagle) - Saturday, 20 September 2014, 14:52 GMT
For me disabling ipv6 in advancedsettings made it work fine with themoviedb
Comment by Doug Newgard (Scimmia) - Saturday, 20 September 2014, 15:14 GMT
@graysky: why am I not surprised? XBMC upstream has never been receptive, going all the way back to the spat between XBMP and YAMP. People complain about systemd's devs, but XBMC is probably worse.
Comment by John (graysky) - Saturday, 20 September 2014, 15:17 GMT
@Ike - Yes, this too worked for me but not consistently. As a test, I rebuilt my database and found that many entries refused to download prompting me to skip and abort. Downgrading to xbmc 13.2-3 and curl 3.37.1-1 causes a database rebuild to work consistently.
Comment by A.C. (zepar) - Saturday, 20 September 2014, 15:50 GMT
it doesn't work for me even with disable ipv6. Rss, download of addons, video addons like youtube still don't work. I will test more to see if i made a mistake

EDIT: Still broken with ipv6 disable for me
Comment by John (graysky) - Saturday, 20 September 2014, 16:32 GMT
Actually, this did not work consistently for me either. I will edit my previous comment to avoid confusion.
Comment by Ike Devolder (BlackEagle) - Saturday, 20 September 2014, 18:57 GMT
ok have to dig further then
Comment by John (gee) - Sunday, 21 September 2014, 00:36 GMT
I found the bad commit and replied to the sourceforge bug:

Hello,
Like graysky I am an Arch Linux & XBMC user with the same issue.
Like him as well, I do not know what XBMC tries to do with libcurl... but I have bisected curl to find the 'bad' commit.
This is what I found:
cacdc27f52ba7b0bf08aa57886bfbd18bc82ebfb is the first bad commit
commit cacdc27f52ba7b0bf08aa57886bfbd18bc82ebfb
Author: Daniel Stenberg daniel@haxx.se
Date: Mon Aug 25 11:34:14 2014 +0200
low-speed-limit: avoid timeout flood

Introducing Curl_expire_latest(). To be used when we the code flow only
wants to get called at a later time that is "no later than X" so that
something can be checked (and another timeout be added).

The low-speed logic for example could easily be made to set very many
expire timeouts if it would be called faster or sooner than what it had
set its own timer and this goes for a few other timers too that aren't
explictiy checked for timer expiration in the code.

If there's no condition the code that says if(time-passed >= TIME), then
Curl_expire_latest() is preferred to Curl_expire().

If there exists such a condition, it is on the other hand important that
Curl_expire() is used and not the other.

Bug: http://curl.haxx.se/mail/lib-2014-06/0235.html
Reported-by: Florian Weimer
Now just looking at the name of "Curl_expire_latest()" and the fact that XBMC logs complain about expiring, I would assume this is the correct place to look at.
(Now I don't know what is 'wrong' here, XBMC or curl...)
Please ask if you need more information.
John
Comment by Max Wachtel (maxpro4u) - Sunday, 21 September 2014, 20:45 GMT
same here 32bit build - rollback curl solves issue for me
Comment by fritsch (fritsch) - Tuesday, 23 September 2014, 17:36 GMT
Daniel Stenberg the maintainer of libcurl has fixed that regression. Please cherry-pick the patch Daniel links here: https://sourceforge.net/p/curl/bugs/1426/?limit=10&page=1#092a and update the libcurl package.
Comment by John (graysky) - Tuesday, 23 September 2014, 20:24 GMT
I can also confirm the patch into curl + a rebuild of xbmc against it fixes this problem.
Comment by Dave Reisner (falconindy) - Tuesday, 23 September 2014, 20:35 GMT
There's really no need to recompile xbmc. It's the same soname and the same header. Rebuilding is just contributing to heating your house.

curl-7.38.0-2 in [testing] has this backport.

Loading...