crash in progress updater

Boudewijn Rempt boud at valdyas.org
Thu Jan 27 12:27:39 GMT 2011


On Thu, 27 Jan 2011, Dag Andersen wrote:

> [KCrash Handler]
> #4  KoProgressUpdater::startSubtask (this=0x0, weight=1, name=...) at 
> /opt.kde/src/kdesvn/calligra/libs/main/KoProgressUpdater.cpp:130

Well, somehow the progressupdater isn't created when the code follows this path.
But that's done in KoDocument::openFile(), line 1329, and that's must have happened
whe we arrive here:

> #5  0x00007f937e2e9d1b in KoDocument::openFile (this=0x8d9ba0) at 
> /opt.kde/src/kdesvn/calligra/libs/main/KoDocument.cpp:1487

And I'm surprised, because there are only two places where d->progressUpdater
is deleted, line 1401 -- and there we exit the openFile, and 1492, after 
the crashing call.

Easiest way out is to to add an if(d->progressUpdater) before calling startSubtask,
but that only hides the bug, I guess.

> #6  0x00007f937c505770 in ?? () from /usr/lib/libkparts.so.4
> #7  0x00007f937c506115 in KParts::ReadOnlyPart::openUrl(KUrl const&) () from 
> /usr/lib/libkparts.so.4
> #8  0x00007f937e2e880c in KoDocument::openUrl (this=0x8d9ba0, _url=...) at 
> /opt.kde/src/kdesvn/calligra/libs/main/KoDocument.cpp:1253
> #9  0x00007f937e2dff9d in KoDocument::openExistingFile (this=0x11e3b00, 
> url=...) at /opt.kde/src/kdesvn/calligra/libs/main/KoDocument.cpp:2441
> #10 0x00007f937e2e6a82 in KoDocument::qt_metacall (this=0x8d9ba0, 
> _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff0a865f50) 
> at /opt.kde/src/kdesvn/calligra/build/libs/main/KoDocument.moc:130
> #11 0x00007f93697aa920 in KPlato::Part::qt_metacall (this=0x11e3b00, 
> _c=176576048, _id=1, _a=0x7f9375be82a0) at 
> /opt.kde/src/kdesvn/calligra/build/kplato/kptpart.moc:91
> #12 0x00007f93794acb27 in QMetaObject::activate(QObject*, QMetaObject const*, 
> int, void**) () from /usr/lib/libQtCore.so.4
> #13 0x00007f937e3563b2 in KoOpenPane::openExistingFile (this=0x11e3b00, 
> _t1=<value optimized out>) at 
> /opt.kde/src/kdesvn/calligra/build/libs/main/KoOpenPane.moc:104
> #14 0x00007f937e356aa0 in KoOpenPane::qt_metacall (this=0xa6ab90, 
> _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff0a866080) 
> at /opt.kde/src/kdesvn/calligra/build/libs/main/KoOpenPane.moc:86
> #15 0x00007f93794acb27 in QMetaObject::activate(QObject*, QMetaObject const*, 
> int, void**) () from /usr/lib/libQtCore.so.4
> #16 0x00007f937e355c92 in KoExistingDocumentPane::openExistingUrl 
> (this=0x11e3b00, _t1=<value optimized out>) at 
> /opt.kde/src/kdesvn/calligra/build/libs/main/KoExistingDocumentPane.moc:89
> #17 0x00007f937e355d19 in KoExistingDocumentPane::onAccepted (this=0xa12640) 
> at /opt.kde/src/kdesvn/calligra/libs/main/KoExistingDocumentPane.cpp:56
> #18 0x00007f937e355da1 in KoExistingDocumentPane::qt_metacall (this=0xa12640, 
> _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff0a866190) 
> at /opt.kde/src/kdesvn/calligra/build/libs/main/KoExistingDocumentPane.moc:77
> #19 0x00007f93794acb27 in QMetaObject::activate(QObject*, QMetaObject const*, 
> int, void**) () from /usr/lib/libQtCore.so.4
> #20 0x00007f93780a0678 in KFileWidget::slotOk() () from /usr/lib/libkfile.so.4
> #21 0x00007f9378096116 in ?? () from /usr/lib/libkfile.so.4
> #22 0x00007f937809f2ee in KFileWidget::qt_metacall(QMetaObject::Call, int, 
> void**) () from /usr/lib/libkfile.so.4
> #23 0x00007f93794acb27 in QMetaObject::activate(QObject*, QMetaObject const*, 
> int, void**) () from /usr/lib/libQtCore.so.4
> #24 0x00007f93780779d5 in KDirOperator::fileSelected(KFileItem const&) () from 
> /usr/lib/libkfile.so.4
> #25 0x00007f93780783bc in KDirOperator::Private::_k_slotActivated(QModelIndex 
> const&) () from /usr/lib/libkfile.so.4
> #26 0x00007f9378083c5a in KDirOperator::qt_metacall(QMetaObject::Call, int, 
> void**) () from /usr/lib/libkfile.so.4
> #27 0x00007f93794acb27 in QMetaObject::activate(QObject*, QMetaObject const*, 
> int, void**) () from /usr/lib/libQtCore.so.4
> #28 0x00007f937a61c705 in QAbstractItemView::activated(QModelIndex const&) () 
> from /usr/lib/libQtGui.so.4
> #29 0x00007f937a62befa in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) 
> () from /usr/lib/libQtGui.so.4
> #30 0x00007f937a64022e in QListView::mouseReleaseEvent(QMouseEvent*) () from 
> /usr/lib/libQtGui.so.4
> #31 0x00007f937a12804e in QWidget::event(QEvent*) () from 
> /usr/lib/libQtGui.so.4
> #32 0x00007f937a4f35e6 in QFrame::event(QEvent*) () from 
> /usr/lib/libQtGui.so.4
> #33 0x00007f937a62ca8b in QAbstractItemView::viewportEvent(QEvent*) () from 
> /usr/lib/libQtGui.so.4
> #34 0x00007f9379494507 in 
> QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () 
> from /usr/lib/libQtCore.so.4
> #35 0x00007f937a0d1fac in QApplicationPrivate::notify_helper(QObject*, 
> QEvent*) () from /usr/lib/libQtGui.so.4
> #36 0x00007f937a0d830e in QApplication::notify(QObject*, QEvent*) () from 
> /usr/lib/libQtGui.so.4
> #37 0x00007f937ae61a36 in KApplication::notify(QObject*, QEvent*) () from 
> /usr/lib/libkdeui.so.5
> #38 0x00007f9379494cdc in QCoreApplication::notifyInternal(QObject*, QEvent*) 
> () from /usr/lib/libQtCore.so.4
> #39 0x00007f937a0d6dbe in QApplicationPrivate::sendMouseEvent(QWidget*, 
> QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from 
> /usr/lib/libQtGui.so.4
> #40 0x00007f937a15a345 in ?? () from /usr/lib/libQtGui.so.4
> #41 0x00007f937a158c5c in QApplication::x11ProcessEvent(_XEvent*) () from 
> /usr/lib/libQtGui.so.4
> #42 0x00007f937a1850e2 in ?? () from /usr/lib/libQtGui.so.4
> #43 0x00007f9373c02342 in g_main_context_dispatch () from 
> /lib/libglib-2.0.so.0
> #44 0x00007f9373c062a8 in ?? () from /lib/libglib-2.0.so.0
> #45 0x00007f9373c0645c in g_main_context_iteration () from 
> /lib/libglib-2.0.so.0
> #46 0x00007f93794c1193 in 
> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () 
> from /usr/lib/libQtCore.so.4
> #47 0x00007f937a184a4e in ?? () from /usr/lib/libQtGui.so.4
> #48 0x00007f9379493a02 in 
> QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from 
> /usr/lib/libQtCore.so.4
> #49 0x00007f9379493dec in 
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from 
> /usr/lib/libQtCore.so.4
> #50 0x00007f9379497ebb in QCoreApplication::exec() () from 
> /usr/lib/libQtCore.so.4
> #51 0x00007f937e5dc70d in kdemain (argc=<value optimized out>, argv=<value 
> optimized out>) at /opt.kde/src/kdesvn/calligra/kplato/main.cpp:41
> #52 0x00007f93785add8e in __libc_start_main (main=<value optimized out>, 
> argc=<value optimized out>, ubp_av=<value optimized out>, init=<value 
> optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, 
> stack_end=0x7fff0a868648) at libc-start.c:226
> #53 0x00000000004007f9 in _start ()
> 
> -- 
> Mvh.
> Dag Andersen
> _______________________________________________
> calligra-devel mailing list
> calligra-devel at kde.org
> https://mail.kde.org/mailman/listinfo/calligra-devel
> 
> 




More information about the calligra-devel mailing list