Opened 11 years ago
Closed 6 years ago
#12477 closed Bug Report - General (Fixed)
[Qt5] mythdownloadmanager triggers "QIODevice::read: device not open"
| Reported by: | Stuart Auchterlonie | Owned by: | Stuart Auchterlonie |
|---|---|---|---|
| Priority: | minor | Milestone: | unknown |
| Component: | Qt5 issues | Version: | Master Head |
| Severity: | medium | Keywords: | qt5 housekeeper |
| Cc: | Ticket locked: | no |
Description (last modified by )
I've set QT_FATAL_WARNINGS to kill the backend each time this triggers.
The logs are as follows when this is hit
2015-07-25 03:30:37.386411 I [16365/16365] CoreContext housekeeper.cpp:725 (Run) - Queueing HouseKeeperTask 'ThemeUpdateNotifications'. 2015-07-25 03:30:37.386628 I [16365/17773] HouseKeeping mythdbcon.cpp:422 (PurgeIdleConnections) - New DB connection, total: 10 2015-07-25 03:30:37.415024 I [16365/17773] HouseKeeping housekeeper.cpp:135 (Run) - Running HouseKeeperTask 'ThemeUpdateNotifications'. 2015-07-25 03:31:37.688461 E [16365/17773] HouseKeeping backendhousekeeper.cpp:439 (LoadVersion) - HouseKeeper: Failed to download http://themes.mythtv.org/themes/repository/trunk/themes.zip remote themes info package. 2015-07-25 03:31:37.688488 I [16365/17773] HouseKeeping backendhousekeeper.cpp:378 (DoRun) - Loading themes for trunk 2015-07-25 03:31:37.688500 I [16365/17773] HouseKeeping housekeeper.cpp:149 (Run) - HouseKeeperTask 'ThemeUpdateNotifications' Failed. 2015-07-25 03:31:37.731998 C [16365/16365] CoreContext signalhandling.cpp:305 (handleSignal) - Received Aborted: Code -6, PID 16365, UID 1005, Value 0x00000000
and a second occurance
2015-07-26 11:58:34.381847 I [26576/26576] CoreContext housekeeper.cpp:725 (Run) - Queueing HouseKeeperTask 'ThemeUpdateNotifications'. 2015-07-26 11:58:34.382061 I [26576/26615] HouseKeeping mythdbcon.cpp:422 (PurgeIdleConnections) - New DB connection, total: 10 2015-07-26 11:58:34.386884 I [26576/26615] HouseKeeping housekeeper.cpp:135 (Run) - Running HouseKeeperTask 'ThemeUpdateNotifications'. 2015-07-26 11:58:54.296781 N [26576/26603] Expire autoexpire.cpp:264 (CalcParams) - AutoExpire: CalcParams(): Max required Free Space: 2.0 GB w/freq: 15 min 2015-07-26 11:59:34.546783 E [26576/26615] HouseKeeping backendhousekeeper.cpp:439 (LoadVersion) - HouseKeeper: Failed to download http://themes.mythtv.org/themes/repository/trunk/themes.zip remote themes info package. 2015-07-26 11:59:34.546810 I [26576/26615] HouseKeeping backendhousekeeper.cpp:378 (DoRun) - Loading themes for trunk 2015-07-26 11:59:34.546824 I [26576/26615] HouseKeeping housekeeper.cpp:149 (Run) - HouseKeeperTask 'ThemeUpdateNotifications' Failed. 2015-07-26 11:59:34.554787 C [26576/26576] CoreContext signalhandling.cpp:305 (handleSignal) - Received Aborted: Code -6, PID 26576, UID 1005, Value 0x00000000
Change History (8)
comment:2 by , 11 years ago
| Summary: | [Qt5] housekeeper triggers "QIODevice::read: device not open" → [Qt5] mythdownloadmanager triggers "QIODevice::read: device not open" |
|---|
comment:3 by , 10 years ago
| Milestone: | 0.28 → 0.29 |
|---|
I've not seen this for a while, moving out of 0.28 to review again with 0.29
comment:5 by , 9 years ago
| Milestone: | 29.0 → 29.1 |
|---|
comment:6 by , 8 years ago
| Milestone: | 29.1 → 0.28.2 |
|---|
Moving remaining open tickets to 0.28.2 milestone
comment:8 by , 6 years ago
| Milestone: | 29.2 → unknown |
|---|---|
| Resolution: | → Fixed |
| Status: | new → closed |
Not seen this for a long time, so closing it out
Note:
See TracTickets
for help on using tickets.

Have captured this in the debugger now.
Program received signal SIGABRT, Aborted. [Switching to Thread 0x7f75de7fc700 (LWP 13784)] 0x00007f76b758acc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007f76b758acc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f76b758e0d8 in __GI_abort () at abort.c:89 #2 0x00007f76b83dc30e in QMessageLogger::warning(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007f76b850ceca in QIODevice::read(char*, long long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007f76b850d5d9 in QIODevice::readAll() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f76ba8dca02 in MythDownloadManager::downloadFinished (this=0x7f75d800e5d0, dlInfo=0x7f75d800d0b0) at mythdownloadmanager.cpp:1225 #6 0x00007f76ba8db915 in MythDownloadManager::downloadFinished (this=0x7f75d800e5d0, reply=0x7f767401e8a0) at mythdownloadmanager.cpp:1087 #7 0x00007f76ba9a0d39 in MythDownloadManager::qt_static_metacall (_o=0x7f75d800e5d0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7f75de7fb8e0) at moc_mythdownloadmanager.cpp:89 #8 0x00007f76b85e62a6 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #9 0x00007f76b90a05c2 in QNetworkAccessManager::finished(QNetworkReply*) () from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 #10 0x00007f76b90a0eb4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 #11 0x00007f76b90a2d69 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 #12 0x00007f76b85e722e in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #13 0x00007f76b85beefd in QCoreApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #14 0x00007f76b85bec2d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00007f76b85c0e07 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #16 0x00007f76b860bcd3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #17 0x00007f76af6eae04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #18 0x00007f76af6eb048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #19 0x00007f76af6eb0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #20 0x00007f76b860b98c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #21 0x00007f76ba8d503e in MythDownloadManager::run (this=0x7f75d800e5d0) at mythdownloadmanager.cpp:292 #22 0x00007f76ba86388d in MThreadInternal::run (this=0x7f75d80057e0) at mthread.cpp:79 #23 0x00007f76b83ea233 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x00007f76b8141182 in start_thread (arg=0x7f75de7fc700) at pthread_create.c:312 #25 0x00007f76b764e47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111So this points to the download manager not handling a disconnected endpoint. Relevant code is as follows
1220 // If we downloaded via the QNetworkAccessManager 1221 // AND the caller isn't handling the reply directly 1222 if (reply && dlInfo->m_processReply) 1223 { 1224 bool append = (!dlInfo->m_syncMode && dlInfo->m_caller); 1225 QByteArray data = reply->readAll(); 1226 dataSize = data.size();The QByteArray data = reply->readAll(); is where the issue occurs