Application: kstars (1.6.0) KDE Platform Version: 4.4.2 (KDE 4.4.2) Qt Version: 4.6.2 Operating System: Linux 2.6.32-22-generic i686 Distribution: Ubuntu 10.04 LTS -- Information about the crash: KStars crashes without warning about 1/4 -1/3 of way through while attempting to import USNO NOMAD catalog. There is enough free disk space for the catalog. The crash can be reproduced every time. -- Backtrace: Application: KStars (kstars), signal: Aborted [KCrash Handler] #6 0x00884422 in __kernel_vsyscall () #7 0x04ab6651 in raise () from /lib/tls/i686/cmov/libc.so.6 #8 0x04ab9a82 in abort () from /lib/tls/i686/cmov/libc.so.6 #9 0x0084252f in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6 #10 0x00840465 in ?? () from /usr/lib/libstdc++.so.6 #11 0x008404a2 in std::terminate() () from /usr/lib/libstdc++.so.6 #12 0x008405e1 in __cxa_throw () from /usr/lib/libstdc++.so.6 #13 0x01d49b15 in qBadAlloc() () from /usr/lib/libQtCore.so.4 #14 0x01d569ca in QByteArray::resize(int) () from /usr/lib/libQtCore.so.4 #15 0x01de76df in QIODevice::read(long long) () from /usr/lib/libQtCore.so.4 #16 0x00f2bc45 in KArchiveFile::data() const () from /usr/lib/libkio.so.5 #17 0x00f2cb92 in KArchiveFile::copyTo(QString const&) const () from /usr/lib/libkio.so.5 #18 0x00f2dbf2 in KArchiveDirectory::copyTo(QString const&, bool) const () from /usr/lib/libkio.so.5 #19 0x00a78c04 in KNS::CoreEngine::install(QString const&) () from /usr/lib/libknewstuff2.so.4 #20 0x00a7a301 in KNS::CoreEngine::slotPayloadResult(KJob*) () from /usr/lib/libknewstuff2.so.4 #21 0x00a7b974 in KNS::CoreEngine::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libknewstuff2.so.4 #22 0x00a87ada in ?? () from /usr/lib/libknewstuff2.so.4 #23 0x00aa0eaa in ?? () from /usr/lib/libknewstuff2.so.4 #24 0x01e5ac9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #25 0x01e693d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #26 0x001f5183 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5 #27 0x001f54e8 in KJob::emitResult() () from /usr/lib/libkdecore.so.5 #28 0x00f22604 in KIO::FileCopyJob::slotResult(KJob*) () from /usr/lib/libkio.so.5 #29 0x00f1e112 in KIO::FileCopyJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5 #30 0x01e5ac9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #31 0x01e693d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #32 0x001f5183 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5 #33 0x001f54e8 in KJob::emitResult() () from /usr/lib/libkdecore.so.5 #34 0x00f1af30 in KIO::SimpleJob::slotFinished() () from /usr/lib/libkio.so.5 #35 0x00f1b96d in KIO::TransferJob::slotFinished() () from /usr/lib/libkio.so.5 #36 0x00f19343 in KIO::TransferJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5 #37 0x01e5ac9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #38 0x01e693d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #39 0x00fe5707 in KIO::SlaveInterface::finished() () from /usr/lib/libkio.so.5 #40 0x00fe8a2d in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/libkio.so.5 #41 0x00fe5bc3 in KIO::SlaveInterface::dispatch() () from /usr/lib/libkio.so.5 #42 0x00fd9088 in KIO::Slave::gotInput() () from /usr/lib/libkio.so.5 #43 0x00fd9293 in KIO::Slave::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5 #44 0x01e5ac9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #45 0x01e693d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #46 0x00ee3bd7 in KIO::Connection::readyRead() () from /usr/lib/libkio.so.5 #47 0x00ee5f8e in ?? () from /usr/lib/libkio.so.5 #48 0x00ee60be in KIO::Connection::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5 #49 0x01e5ac9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #50 0x01e65336 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4 #51 0x01e663fe in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #52 0x013a64dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #53 0x013ad05e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #54 0x059edf2a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #55 0x01e55a3b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #56 0x01e58473 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #57 0x01e585dd in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 #58 0x01e81adf in ?? () from /usr/lib/libQtCore.so.4 #59 0x01fa65e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #60 0x01faa2d8 in ?? () from /lib/libglib-2.0.so.0 #61 0x01faa4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #62 0x01e815d5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #63 0x01466135 in ?? () from /usr/lib/libQtGui.so.4 #64 0x01e54059 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #65 0x01e544aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #66 0x00a9f73a in ?? () from /usr/lib/libknewstuff2.so.4 #67 0x00a9fefa in KNS::Engine::downloadDialogModal(QWidget*) () from /usr/lib/libknewstuff2.so.4 #68 0x00aa0482 in KNS::Engine::download() () from /usr/lib/libknewstuff2.so.4 #69 0x081eed64 in _start () Reported using DrKonqi
Created attachment 48067 [details] New crash information added by DrKonqi Happened with the same action (downloading USNO catalog). Seems to be almost identical, probably the same problem. I think the backtrace is slightly more detailed.
Created attachment 48365 [details] New crash information added by DrKonqi I've installed Kstars on gnome desktop on Ubuntu 10.04.
Thank you all for the detailed bug report. I think it's bug in KNewStuff or core libraries. USNO catalog had help to find such bug before
I think it is really bug it the kdelibs so I'm reassigning the bug. Most likely it's 32-bit integer overflow. Unpacked USNO catalog is bigger than 2GB. Below is definition of function in which crash occurs. d->size has type qint64 while arr.size() has type int. So there is place to overflow. I maybe wrong but it's right direction to move. QByteArray KArchiveFile::data() const { archive()->device()->seek( d->pos ); // Read content QByteArray arr; if ( d->size ) { assert( arr.data() ); arr = archive()->device()->read( d->size ); Q_ASSERT( arr.size() == d->size ); } return arr; } P.S. Reading whole file into memory isn't really good idea I believe.
Created attachment 49364 [details] New crash information added by DrKonqi I was downloading "USNO NOMAD Catalog"
SVN commit 1167506 by cfeck: Fix KArchive::copyTo() for large files FIXED-IN: 4.5.1 BUG: 237124 Also see http://reviewboard.kde.org/r/4938/ M +16 -3 karchive.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1167506
SVN commit 1167508 by cfeck: Fix KArchive::copyTo() for large files (backport r1167506) CCBUG: 237124 M +16 -3 karchive.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1167508
*** Bug 246985 has been marked as a duplicate of this bug. ***
*** Bug 253253 has been marked as a duplicate of this bug. ***
*** Bug 262289 has been marked as a duplicate of this bug. ***
*** Bug 269837 has been marked as a duplicate of this bug. ***