Application: umbrello (2.11.1) KDE Platform Version: 4.11.1 Qt Version: 4.8.4 Operating System: Linux 3.8.0-30-generic x86_64 Distribution: Ubuntu 13.04 -- Information about the crash: - What I was doing when the application crashed: Used the Code generation wizard for C++. In the last step, I hit the generate button an umbrello crashed (tried three times in a row). If the project's .xmi file is needed, I can attach it to this report. The crash can be reproduced every time. -- Backtrace: Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7ff2436217c0 (LWP 16729))] Thread 3 (Thread 0x7ff232140700 (LWP 16730)): #0 0x00007ff2413c7a9c in qt_gettime () at tools/qelapsedtimer_unix.cpp:146 #1 0x00007ff24149d9ed in QTimerInfoList::updateCurrentTime (this=this@entry=0x7ff22c002860) at kernel/qeventdispatcher_unix.cpp:354 #2 0x00007ff24149dd33 in QTimerInfoList::timerWait (this=0x7ff22c002860, tm=...) at kernel/qeventdispatcher_unix.cpp:461 #3 0x00007ff24149c79c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7ff23213fbc4) at kernel/qeventdispatcher_glib.cpp:136 #4 0x00007ff24149c845 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #5 0x00007ff23c8e2900 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #6 0x00007ff23c8e30fe in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007ff23c8e3304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007ff24149d036 in QEventDispatcherGlib::processEvents (this=0x7ff22c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #9 0x00007ff24146d38f in QEventLoop::processEvents (this=this@entry=0x7ff23213fd90, flags=...) at kernel/qeventloop.cpp:149 #10 0x00007ff24146d618 in QEventLoop::exec (this=this@entry=0x7ff23213fd90, flags=...) at kernel/qeventloop.cpp:204 #11 0x00007ff24136f410 in QThread::exec (this=this@entry=0x1869090) at thread/qthread.cpp:542 #12 0x00007ff24144eedf in QInotifyFileSystemWatcherEngine::run (this=0x1869090) at io/qfilesystemwatcher_inotify.cpp:256 #13 0x00007ff241371bec in QThreadPrivate::start (arg=0x1869090) at thread/qthread_unix.cpp:338 #14 0x00007ff23f84df8e in start_thread (arg=0x7ff232140700) at pthread_create.c:311 #15 0x00007ff23fb5ce1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 2 (Thread 0x7ff229c76700 (LWP 16758)): #0 0x00007ff23fb4eb0d in read () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007ff23c9216cf in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ff23c8e2d3c in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ff23c8e3175 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007ff23c8e3304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007ff24149d036 in QEventDispatcherGlib::processEvents (this=0x7ff2240008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #6 0x00007ff24146d38f in QEventLoop::processEvents (this=this@entry=0x7ff229c75d90, flags=...) at kernel/qeventloop.cpp:149 #7 0x00007ff24146d618 in QEventLoop::exec (this=this@entry=0x7ff229c75d90, flags=...) at kernel/qeventloop.cpp:204 #8 0x00007ff24136f410 in QThread::exec (this=this@entry=0x2a1bd20) at thread/qthread.cpp:542 #9 0x00007ff24144eedf in QInotifyFileSystemWatcherEngine::run (this=0x2a1bd20) at io/qfilesystemwatcher_inotify.cpp:256 #10 0x00007ff241371bec in QThreadPrivate::start (arg=0x2a1bd20) at thread/qthread_unix.cpp:338 #11 0x00007ff23f84df8e in start_thread (arg=0x7ff229c76700) at pthread_create.c:311 #12 0x00007ff23fb5ce1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Thread 1 (Thread 0x7ff2436217c0 (LWP 16729)): [KCrash Handler] #6 CodeGenerator::findCodeDocumentByClassifier (this=this@entry=0x315f6b0, classifier=classifier@entry=0x0) at ../../umbrello/codegenerators/codegenerator.cpp:382 #7 0x0000000000581e6d in CPPCodeGenerator::writeCodeToFile (this=0x315f6b0, concepts=...) at ../../umbrello/codegenerators/cpp/cppcodegenerator.cpp:247 #8 0x00000000004ae18d in CodeGenStatusPage::generateCode (this=0x2779e70) at ../../umbrello/codegenwizard/codegenstatuspage.cpp:124 #9 0x00007ff2414830ef in QMetaObject::activate (sender=sender@entry=0x321d180, m=m@entry=0x7ff2412dfca0 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fff4078f2e0) at kernel/qobject.cpp:3539 #10 0x00007ff240e7fdf2 in QAbstractButton::clicked (this=this@entry=0x321d180, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220 #11 0x00007ff240bd33ae in QAbstractButtonPrivate::emitClicked (this=this@entry=0x2494b80) at widgets/qabstractbutton.cpp:548 #12 0x00007ff240bd3ba0 in QAbstractButtonPrivate::click (this=this@entry=0x2494b80) at widgets/qabstractbutton.cpp:541 #13 0x00007ff240bd3e0c in QAbstractButton::mouseReleaseEvent (this=0x321d180, e=0x7fff4078fb80) at widgets/qabstractbutton.cpp:1123 #14 0x00007ff240861a89 in QWidget::event (this=0x321d180, event=0x7fff4078fb80) at kernel/qwidget.cpp:8375 #15 0x00007ff2408148ec in QApplicationPrivate::notify_helper (this=this@entry=0x16df080, receiver=receiver@entry=0x321d180, e=e@entry=0x7fff4078fb80) at kernel/qapplication.cpp:4567 #16 0x00007ff240817a33 in QApplication::notify (this=this@entry=0x7fff40792230, receiver=receiver@entry=0x321d180, e=e@entry=0x7fff4078fb80) at kernel/qapplication.cpp:4110 #17 0x00007ff24210b916 in KApplication::notify (this=0x7fff40792230, receiver=0x321d180, event=0x7fff4078fb80) at ../../kdeui/kernel/kapplication.cpp:311 #18 0x00007ff24146e63e in QCoreApplication::notifyInternal (this=0x7fff40792230, receiver=receiver@entry=0x321d180, event=event@entry=0x7fff4078fb80) at kernel/qcoreapplication.cpp:946 #19 0x00007ff24081a933 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #20 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x321d180, event=event@entry=0x7fff4078fb80, alienWidget=alienWidget@entry=0x321d180, nativeWidget=nativeWidget@entry=0x2779e70, buttonDown=buttonDown@entry=0x7ff2412f2308 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178 #21 0x00007ff24088fe54 in QETWidget::translateMouseEvent (this=this@entry=0x2779e70, event=event@entry=0x7fff40790300) at kernel/qapplication_x11.cpp:4631 #22 0x00007ff24088ee81 in QApplication::x11ProcessEvent (this=0x7fff40792230, event=event@entry=0x7fff40790300) at kernel/qapplication_x11.cpp:3746 #23 0x00007ff2408ba042 in x11EventSourceDispatch (s=0x16cc310, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #24 0x00007ff23c8e2f05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #25 0x00007ff23c8e3248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #26 0x00007ff23c8e3304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007ff24149d016 in QEventDispatcherGlib::processEvents (this=0x16a7760, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #28 0x00007ff2408ba13e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #29 0x00007ff24146d38f in QEventLoop::processEvents (this=this@entry=0x7fff407906e0, flags=...) at kernel/qeventloop.cpp:149 #30 0x00007ff24146d618 in QEventLoop::exec (this=this@entry=0x7fff407906e0, flags=...) at kernel/qeventloop.cpp:204 #31 0x00007ff240ccf338 in QDialog::exec (this=0x325d980) at dialogs/qdialog.cpp:554 #32 0x000000000072a8c2 in UMLApp::slotExecGenerationWizard (this=<optimized out>) at ../../umbrello/uml.cpp:2187 #33 0x00007ff2414830ef in QMetaObject::activate (sender=sender@entry=0x191ce10, m=m@entry=0x7ff2412b67a0 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff40790880) at kernel/qobject.cpp:3539 #34 0x00007ff24080e152 in QAction::triggered (this=this@entry=0x191ce10, _t1=false) at .moc/release-shared/moc_qaction.cpp:277 #35 0x00007ff24080f580 in QAction::activate (this=this@entry=0x191ce10, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257 #36 0x00007ff240c4daa3 in QMenuPrivate::activateCausedStack (this=this@entry=0x18d10b0, causedStack=..., action=action@entry=0x191ce10, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1038 #37 0x00007ff240c52d69 in QMenuPrivate::activateAction (this=0x18d10b0, action=0x191ce10, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1130 #38 0x00007ff240c5685d in QMenu::mouseReleaseEvent (this=this@entry=0x18cff50, e=e@entry=0x7fff40791420) at widgets/qmenu.cpp:2372 #39 0x00007ff2421c26a0 in KMenu::mouseReleaseEvent (this=0x18cff50, e=0x7fff40791420) at ../../kdeui/widgets/kmenu.cpp:464 #40 0x00007ff240861a89 in QWidget::event (this=this@entry=0x18cff50, event=event@entry=0x7fff40791420) at kernel/qwidget.cpp:8375 #41 0x00007ff240c5454b in QMenu::event (this=0x18cff50, e=0x7fff40791420) at widgets/qmenu.cpp:2481 #42 0x00007ff2408148ec in QApplicationPrivate::notify_helper (this=this@entry=0x16df080, receiver=receiver@entry=0x18cff50, e=e@entry=0x7fff40791420) at kernel/qapplication.cpp:4567 #43 0x00007ff240817a33 in QApplication::notify (this=this@entry=0x7fff40792230, receiver=receiver@entry=0x18cff50, e=e@entry=0x7fff40791420) at kernel/qapplication.cpp:4110 #44 0x00007ff24210b916 in KApplication::notify (this=0x7fff40792230, receiver=0x18cff50, event=0x7fff40791420) at ../../kdeui/kernel/kapplication.cpp:311 #45 0x00007ff24146e63e in QCoreApplication::notifyInternal (this=0x7fff40792230, receiver=receiver@entry=0x18cff50, event=event@entry=0x7fff40791420) at kernel/qcoreapplication.cpp:946 #46 0x00007ff24081a933 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #47 QApplicationPrivate::sendMouseEvent (receiver=0x18cff50, event=event@entry=0x7fff40791420, alienWidget=0x0, nativeWidget=nativeWidget@entry=0x18cff50, buttonDown=buttonDown@entry=0x7ff2412f2308 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178 #48 0x00007ff24088fd1c in QETWidget::translateMouseEvent (this=this@entry=0x18cff50, event=event@entry=0x7fff40791ba0) at kernel/qapplication_x11.cpp:4565 #49 0x00007ff24088ee81 in QApplication::x11ProcessEvent (this=0x7fff40792230, event=event@entry=0x7fff40791ba0) at kernel/qapplication_x11.cpp:3746 #50 0x00007ff2408ba042 in x11EventSourceDispatch (s=0x16cc310, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #51 0x00007ff23c8e2f05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #52 0x00007ff23c8e3248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #53 0x00007ff23c8e3304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #54 0x00007ff24149d016 in QEventDispatcherGlib::processEvents (this=0x16a7760, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #55 0x00007ff2408ba13e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #56 0x00007ff24146d38f in QEventLoop::processEvents (this=this@entry=0x7fff40791f70, flags=...) at kernel/qeventloop.cpp:149 #57 0x00007ff24146d618 in QEventLoop::exec (this=this@entry=0x7fff40791f70, flags=...) at kernel/qeventloop.cpp:204 #58 0x00007ff241472cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218 #59 0x00007ff240812ffc in QApplication::exec () at kernel/qapplication.cpp:3828 #60 0x000000000043885b in main (argc=3, argv=0x7fff40792388) at ../../umbrello/main.cpp:111 Reported using DrKonqi
Could you attach the XMI that triggers this behaviour?
Created attachment 82524 [details] (nonsensical) xmi file reproducing the crasher Added nonsensical xmi file that reproduces the crasher. The file is entirely generated by umbrello and was never hand-modified (not sure how it ended up the way it is, but it reproduces the crasher). In order to reproduce, 1 open the attached mini.xmi file 2 go to settings->configure umbrello... 3 in the general tab, under 'miscellaneous' select "use new c++/java/ruby generators" 4 save the file and close umbrello (couldn't reproduce the crash w/out closing umbrello after changing the above setting). 5 start umbrello and open mini.xmi 6 go to code->code generation wizard 7 remove all items but std::list<Cluster*>::iterator 8 hit next 'twice' and then 'generate' expected: - something (or nothing) is generated or message about the xmi file being nonsense actual: - crash
Created attachment 82537 [details] Fix potential crash on code generation Indeed I can't make sense out of this one. However, proposed patch makes Umbrello log an error instead of crashing.