Application: umbrello (2.16.0) KDE Platform Version: 4.14.11 Qt Version: 4.8.6 Operating System: Linux 4.2.5-201.fc22.i686 i686 Distribution: "Fedora release 22 (Twenty Two)" -- Information about the crash: He was working on a diagram and try to open another without closing that had opened and failure The crash can be reproduced every time. -- Backtrace: Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault Using host libthread_db library "/lib/libthread_db.so.1". [Current thread is 1 (Thread 0xb42827c0 (LWP 5558))] Thread 2 (Thread 0xb004db40 (LWP 5579)): #0 0xffffffff in g_source_iter_next () at /lib/libglib-2.0.so.0 #1 0xffffffff in g_main_context_prepare () at /lib/libglib-2.0.so.0 #2 0xffffffff in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0 #3 0xffffffff in g_main_context_iteration () at /lib/libglib-2.0.so.0 #4 0xffffffff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #5 0xffffffff in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #6 0xffffffff in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #7 0xffffffff in QThread::exec() () at /lib/libQtCore.so.4 #8 0xffffffff in QInotifyFileSystemWatcherEngine::run() () at /lib/libQtCore.so.4 #9 0xffffffff in QThreadPrivate::start(void*) () at /lib/libQtCore.so.4 #10 0xffffffff in start_thread () at /lib/libpthread.so.0 #11 0xffffffff in clone () at /lib/libc.so.6 Thread 1 (Thread 0xb42827c0 (LWP 5558)): [KCrash Handler] #7 0xffffffff in __dynamic_cast () at /lib/libstdc++.so.6 #8 0x082bd338 in ClassifierWidget::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) () #9 0xffffffff in QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) () at /lib/libQtGui.so.4 #10 0xffffffff in QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) () at /lib/libQtGui.so.4 #11 0xffffffff in QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) () at /lib/libQtGui.so.4 #12 0xffffffff in QGraphicsView::paintEvent(QPaintEvent*) () at /lib/libQtGui.so.4 #13 0xffffffff in QWidget::event(QEvent*) () at /lib/libQtGui.so.4 #14 0xffffffff in QFrame::event(QEvent*) () at /lib/libQtGui.so.4 #15 0xffffffff in QAbstractScrollArea::viewportEvent(QEvent*) () at /lib/libQtGui.so.4 #16 0xffffffff in QGraphicsView::viewportEvent(QEvent*) () at /lib/libQtGui.so.4 #17 0xffffffff in QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) () at /lib/libQtGui.so.4 #18 0xffffffff in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /lib/libQtCore.so.4 #19 0xffffffff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/libQtGui.so.4 #20 0xffffffff in QApplication::notify(QObject*, QEvent*) () at /lib/libQtGui.so.4 #21 0xffffffff in KApplication::notify(QObject*, QEvent*) () at /lib/libkdeui.so.5 #22 0xffffffff in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib/libQtCore.so.4 #23 0xffffffff in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #24 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #25 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #26 0xffffffff in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #27 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #28 0xffffffff in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #29 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #30 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #31 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #32 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #33 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #34 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #35 0xffffffff in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #36 0xffffffff in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/libQtGui.so.4 #37 0xffffffff in QWidgetBackingStore::sync() () at /lib/libQtGui.so.4 #38 0xffffffff in QWidgetPrivate::syncBackingStore() () at /lib/libQtGui.so.4 #39 0xffffffff in QWidget::event(QEvent*) () at /lib/libQtGui.so.4 #40 0xffffffff in QMainWindow::event(QEvent*) () at /lib/libQtGui.so.4 #41 0xffffffff in KMainWindow::event(QEvent*) () at /lib/libkdeui.so.5 #42 0xffffffff in KXmlGuiWindow::event(QEvent*) () at /lib/libkdeui.so.5 #43 0xffffffff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/libQtGui.so.4 #44 0xffffffff in QApplication::notify(QObject*, QEvent*) () at /lib/libQtGui.so.4 #45 0xffffffff in KApplication::notify(QObject*, QEvent*) () at /lib/libkdeui.so.5 #46 0xffffffff in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib/libQtCore.so.4 #47 0xffffffff in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/libQtCore.so.4 #48 0xffffffff in QCoreApplication::sendPostedEvents(QObject*, int) () at /lib/libQtCore.so.4 #49 0xffffffff in QGraphicsScenePrivate::_q_processDirtyItems() () at /lib/libQtGui.so.4 #50 0xffffffff in QGraphicsScene::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.155] () at /lib/libQtGui.so.4 #51 0xffffffff in QMetaCallEvent::placeMetaCall(QObject*) () at /lib/libQtCore.so.4 #52 0xffffffff in QObject::event(QEvent*) () at /lib/libQtCore.so.4 #53 0xffffffff in QGraphicsScene::event(QEvent*) () at /lib/libQtGui.so.4 #54 0xffffffff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/libQtGui.so.4 #55 0xffffffff in QApplication::notify(QObject*, QEvent*) () at /lib/libQtGui.so.4 #56 0xffffffff in KApplication::notify(QObject*, QEvent*) () at /lib/libkdeui.so.5 #57 0xffffffff in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib/libQtCore.so.4 #58 0xffffffff in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/libQtCore.so.4 #59 0xffffffff in QCoreApplication::sendPostedEvents(QObject*, int) () at /lib/libQtCore.so.4 #60 0xffffffff in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib/libQtCore.so.4 #61 0xffffffff in g_main_context_dispatch () at /lib/libglib-2.0.so.0 #62 0xffffffff in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0 #63 0xffffffff in g_main_context_iteration () at /lib/libglib-2.0.so.0 #64 0xffffffff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #65 0xffffffff in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtGui.so.4 #66 0xffffffff in QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #67 0x083a4d8a in UMLDoc::loadFromXMI(QIODevice&, short) () #68 0x083aa034 in UMLDoc::openDocument(KUrl const&, char const*) () #69 0x08383eea in UMLApp::slotFileOpen() () #70 0x0807ea91 in UMLApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.13] () #71 0xffffffff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib/libQtCore.so.4 #72 0xffffffff in QAction::triggered(bool) () at /lib/libQtGui.so.4 #73 0xffffffff in QAction::activate(QAction::ActionEvent) () at /lib/libQtGui.so.4 #74 0xffffffff in QToolButton::nextCheckState() () at /lib/libQtGui.so.4 #75 0xffffffff in QAbstractButtonPrivate::click() () at /lib/libQtGui.so.4 #76 0xffffffff in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/libQtGui.so.4 #77 0xffffffff in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib/libQtGui.so.4 #78 0xffffffff in QWidget::event(QEvent*) () at /lib/libQtGui.so.4 #79 0xffffffff in QAbstractButton::event(QEvent*) () at /lib/libQtGui.so.4 #80 0xffffffff in QToolButton::event(QEvent*) () at /lib/libQtGui.so.4 #81 0xffffffff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/libQtGui.so.4 #82 0xffffffff in QApplication::notify(QObject*, QEvent*) () at /lib/libQtGui.so.4 #83 0xffffffff in KApplication::notify(QObject*, QEvent*) () at /lib/libkdeui.so.5 #84 0xffffffff in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib/libQtCore.so.4 #85 0xffffffff in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /lib/libQtGui.so.4 #86 0xffffffff in QETWidget::translateMouseEvent(_XEvent const*) () at /lib/libQtGui.so.4 #87 0xffffffff in QApplication::x11ProcessEvent(_XEvent*) () at /lib/libQtGui.so.4 #88 0xffffffff in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib/libQtGui.so.4 #89 0xffffffff in g_main_context_dispatch () at /lib/libglib-2.0.so.0 #90 0xffffffff in g_main_context_iterate.isra () at /lib/libglib-2.0.so.0 #91 0xffffffff in g_main_context_iteration () at /lib/libglib-2.0.so.0 #92 0xffffffff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #93 0xffffffff in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtGui.so.4 #94 0xffffffff in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #95 0xffffffff in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/libQtCore.so.4 #96 0xffffffff in QCoreApplication::exec() () at /lib/libQtCore.so.4 #97 0xffffffff in QApplication::exec() () at /lib/libQtGui.so.4 #98 0x0807be55 in main () Reported using DrKonqi
(In reply to Mario Fernando from comment #0) Please provide a testcase xmi file because it looks data specific.
Created attachment 95413 [details] DiseñoClases.xmi This is the XML file with which to work, to have this open and try to open another umbrello stops. 2015-11-09 6:53 GMT-05:00 Ralf Habacker via KDE Bugzilla < bugzilla_noreply@kde.org>: > https://bugs.kde.org/show_bug.cgi?id=355009 > > Ralf Habacker <ralf.habacker@freenet.de> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > CC| |ralf.habacker@freenet.de > > --- Comment #1 from Ralf Habacker <ralf.habacker@freenet.de> --- > (In reply to Mario Fernando from comment #0) > Please provide a testcase xmi file because it looks data specific. > > -- > You are receiving this mail because: > You reported the bug. >
Git commit 211f1d5e0b242414ece60b35aa8078c3ded5cb0d by Ralf Habacker. Committed on 30/08/2016 at 04:48. Pushed by habacker into branch 'Applications/16.08'. Add missing attribute 'font' and 'seqnum' for xml tag 'assocwidget' to umbrello-diagrams.dtd M +3 -1 doc/xml/umbrello-diagrams.dtd http://commits.kde.org/umbrello/211f1d5e0b242414ece60b35aa8078c3ded5cb0d
>#7 0xffffffff in __dynamic_cast () at /lib/libstdc++.so.6 >#8 0x082bd338 in ClassifierWidget::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) () The callstack indicates that the crash happens somewhere in ClassifierWidget::paint() performing an invalid dynamic cast. An invalid cast is performed in classifier() called at line 672: UMLClassifier *umlc = this->classifier(); which expands to return dynamic_cast<UMLClassifier*>(m_umlObject); Stackoverflow mentioned several reasons for crashing dynamic cast here http://stackoverflow.com/questions/278429/what-could-cause-a-dynamic-cast-to-crash. The most common reason for such issues is that the related m_umlObject has been destroyed, which we can catch with QPointer.
Git commit 793ca536f67b59bed882f280ec7c9bcd1fffdb4f by Ralf Habacker. Committed on 30/08/2016 at 07:42. Pushed by habacker into branch 'Applications/16.08'. Fix 'umbrello stopped working to the open a file try open another'. There is still room for improvements in the case where the result from dynamic_cast is 0 and used unconditional. FIXED-IN:2.20.1 (KDE Applications 16.08.1) M +2 -2 umbrello/umlwidgets/artifactwidget.cpp M +8 -8 umbrello/umlwidgets/associationwidget.cpp M +1 -1 umbrello/umlwidgets/categorywidget.cpp M +1 -1 umbrello/umlwidgets/classifierwidget.cpp M +3 -3 umbrello/umlwidgets/componentwidget.cpp M +8 -8 umbrello/umlwidgets/entitywidget.cpp M +4 -4 umbrello/umlwidgets/enumwidget.cpp M +1 -1 umbrello/umlwidgets/messagewidget.cpp M +2 -1 umbrello/umlwidgets/widgetbase.h http://commits.kde.org/umbrello/793ca536f67b59bed882f280ec7c9bcd1fffdb4f