Bug 386420 - kio crash while fetching most feeds
Summary: kio crash while fetching most feeds
Status: RESOLVED DUPLICATE of bug 386364
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.39.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-01 08:46 UTC by Christophe Marin
Modified: 2017-12-18 16:03 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christophe Marin 2017-11-01 08:46:35 UTC
Using master & Qt 5.10 (alpha then beta)

akregator produces a core file for most feeds each time it tries to fetch articles.

Core was generated by `http.so [kdeinit5] http local:/run/user/1000/klauncherErrRgF.1'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      }
[Current thread is 1 (Thread 0x7fdbd8347d80 (LWP 23308))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007fdbd62c46b1 in __GI_abort () at abort.c:79
#2  0x00007fdbd66e75f1 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib64/libQt5Core.so.5
#3  0x00007fdbd66e2866 in qt_assert(char const*, char const*, int) () from /usr/lib64/libQt5Core.so.5
#4  0x00007fdbc673dc57 in makeCacheCleanerCommand (cacheTag=..., cmd=CreateFileNotificationCommand) at /kde/src/5/frameworks/kio/src/ioslaves/http/http.cpp:4920
#5  0x00007fdbc67238fa in HTTPProtocol::cacheFileClose (this=0x7ffdd65f00c8) at /kde/src/5/frameworks/kio/src/ioslaves/http/http.cpp:4947
#6  0x00007fdbc671bc21 in HTTPProtocol::readBody (this=0x7ffdd65f00c8, dataInternal=false) at /kde/src/5/frameworks/kio/src/ioslaves/http/http.cpp:4515
#7  0x00007fdbc671a801 in HTTPProtocol::proceedUntilResponseContent (this=0x7ffdd65f00c8, dataInternal=false) at /kde/src/5/frameworks/kio/src/ioslaves/http/http.cpp:621
#8  0x00007fdbc672a478 in HTTPProtocol::get (this=0x7ffdd65f00c8, url=...) at /kde/src/5/frameworks/kio/src/ioslaves/http/http.cpp:1282
#9  0x00007fdbcfc37f51 in KIO::SlaveBase::dispatch (this=0x7ffdd65f00d8, command=67, data=...) at /kde/src/5/frameworks/kio/src/core/slavebase.cpp:1127
#10 0x00007fdbcfc342d5 in KIO::SlaveBase::dispatchLoop (this=0x7ffdd65f00d8) at /kde/src/5/frameworks/kio/src/core/slavebase.cpp:301
#11 0x00007fdbc67179af in kdemain (argc=4, argv=0xdf7a10) at /kde/src/5/frameworks/kio/src/ioslaves/http/http.cpp:119
#12 0x0000000000409124 in launch (argc=4, _name=0xe1fa68 "/kde/inst/5/lib64/plugins/kf5/kio/http.so", args=0xe1fb00 "", cwd=0x0, envc=0, envs=0xe1fb08 "", reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x40f490 "0") at /kde/src/5/frameworks/kinit/src/kdeinit/kinit.cpp:705
#13 0x0000000000409c33 in handle_launcher_request (sock=8, who=0x40e77e "launcher") at /kde/src/5/frameworks/kinit/src/kdeinit/kinit.cpp:1145
#14 0x0000000000407bb8 in handle_requests (waitForPid=0) at /kde/src/5/frameworks/kinit/src/kdeinit/kinit.cpp:1338
#15 0x0000000000406522 in main (argc=5, argv=0x7ffdd65f10a8) at /kde/src/5/frameworks/kinit/src/kdeinit/kinit.cpp:1784
Comment 1 Christophe Marin 2017-11-05 13:41:54 UTC
Bisecting in akregator and kio didn't help. Looks like a change in Qt 5.10 is causing this.

David ?
Comment 2 Christophe Marin 2017-11-05 13:59:44 UTC
mouseover on failing feeds says 'Feed file not found on remote server' (from akregator's subscriptionlistmodel.cpp) which according to the syndication doc means "the host was contacted successfully, but reported a 404 error" (syndication/global.h).

pasting the url in Firefox or konqueror works however (eg http://planetKDE.org/rss20.xml)
Comment 3 Christophe Marin 2017-11-05 14:07:59 UTC
kio's output:

tHost: Hostname is now: "planetkde.org" ( "planetkde.org" )
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::get: QUrl("http://planetkde.org/rss20.xml")
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::maybeSetRequestUrl: QUrl("http://planetkde.org/rss20.xml")
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::resetSessionSettings: Window Id = ""
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::resetSessionSettings: ssl_was_in_use = ""
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::proceedUntilResponseContent: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::proceedUntilResponseHeader: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::httpShouldCloseConnection: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::httpOpenConnection: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::httpOpenConnection: Proxy URLs: ()
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::httpOpenConnection: TCP_NODELAY: QVariant(int, 0)
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::satisfyRequestFromCache: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::cacheFileOpenRead: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::cacheFileClose: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: ============ Sending Header:
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "GET /rss20.xml HTTP/1.1"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "Host: planetkde.org"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "Connection: keep-alive"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "User-Agent: Akregator/5.6.80; syndication"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "Accept: text/html, text/*;q=0.9, image/jpeg;q=0.9, image/png;q=0.9, image/*;q=0.9, */*;q=0.8"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "Accept-Encoding: gzip, deflate, x-gzip, x-deflate"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "Accept-Charset: utf-8,*;q=0.5"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: "Accept-Language: en-US,en;q=0.9"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::sendQuery: sent it!
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readResponseHeader: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readResponseHeader: ============ Received Status Response:
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readResponseHeader: "HTTP/1.1 200 OK"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: isPotentialSpoofingAttack: QUrl("http://planetkde.org/rss20.xml") response code:  200 previous response code: 0
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readResponseHeader: wasAuthError= false isAuthError= false sameAuthError= false
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readResponseHeader:  -- full response: 
"HTTP/1.1 200 OK\r\nDate: Sun, 05 Nov 2017 14:06:32 GMT\r\nServer: Apache/2.4.7 (Ubuntu)\r\nStrict-Transport-Security: max-age=15768000\r\nLast-Modified: Sun, 05 Nov 2017 13:37:38 GMT\r\nAccept-Ranges: bytes\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nCache-Control: max-age=86400\r\nExpires: Mon, 06 Nov 2017 14:06:32 GMT\r\nContent-Length: 34792\r\nKeep-Alive: timeout=5, max=100\r\nConnection: Keep-Alive\r\nContent-Type: application/xml"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readResponseHeader: Content-type: "application/xml"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::fixupResponseMimetype: before fixup "application/xml"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::fixupResponseMimetype: after fixup "application/xml"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::cacheParseResponseHeader: parsed expire date from 'expires' header: "Mon, 06 Nov 2017 14:06:32 GMT"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::cacheParseResponseHeader: Cache needs validation
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::cacheParseResponseHeader: Cache, adding QUrl("http://planetkde.org/rss20.xml")
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::cacheFileOpenWrite: 
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readResponseHeader: Emitting mimetype  "application/xml"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::proceedUntilResponseHeader: Previous Response: 0
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::proceedUntilResponseHeader: Current Response: 200
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: "34792" bytes left.
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1021  m_iSize: 34792  Chunked: false  BytesLeft: 33771
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 2896  m_iSize: 34792  Chunked: false  BytesLeft: 30875
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 29427
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 27979
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 26531
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 25083
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 23635
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 22187
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 20739
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 19291
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 17843
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 16395
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 14947
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 13499
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 12051
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 10603
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 9155
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 7707
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 6259
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 4811
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 3363
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 1915
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 1448  m_iSize: 34792  Chunked: false  BytesLeft: 467
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: bytesReceived: 467  m_iSize: 34792  Chunked: false  BytesLeft: 0
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::readBody: EOD received! Left = "0"
15:06:32 - kio_http(20804) - kf5.kio.kio_http: HTTPProtocol::cacheFileClose: 
15:06:32 - kio_http(20804) -  : QIODevice::skip (QBuffer): WriteOnly device
15:06:32 - kio_http(20804) -  : ASSERT: "ret.size() == BinaryCacheFileHeader::size + sizeof(quint32) + s_hashedUrlNibbles" in file /kde/src/5/frameworks/kio/src/ioslaves/http/http.cpp, line 4920
kdeinit5: PID 20804 terminated.
15:06:32 - klauncher(20540) - kf5.kinit.klauncher: KLauncher::processDied: 20804 exitStatus= 134
15:06:32 - klauncher(20540) - kf5.kinit.klauncher: KLauncher::processDied: found no pending requests for PID 20804
Comment 4 Christophe Marin 2017-11-13 08:23:18 UTC
As a temporary workaround for !release builds, I commented out 5 Q_ASSERT, lines 4988 and 4919 in http.cpp and lines 290, 301 and 320 in http_cache_cleaner.cpp.
Comment 5 Christophe Marin 2017-12-18 16:03:58 UTC

*** This bug has been marked as a duplicate of bug 386364 ***