Version: 2.1.0 (using KDE 4.1.0) OS: MS Windows Installed from: MS Windows On Windows OS (Windows XP 5.1.2600 SP3) Import Classes (c++) crashes and terminate umbrelloafter few seconds. Then A dialog to send this problem report to microsoft popup. The Crash is independent on amount of header-files or class complexity. The PRG crashes every time, i have tested it on 2 PC's and with closing active PRG's before start. The following lines are part of the Microsoft crash report file. <MATCHING_FILE NAME="umbrello.exe" SIZE="4108288" CHECKSUM="0x28AB0D0D" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="07/30/2008 01:18:12" UPTO_LINK_DATE="07/30/2008 01:18:12" /> <EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY"> <MATCHING_FILE NAME="kernel32.dll" SIZE="1063424" CHECKSUM="0x2E7379C2" BIN_FILE_VERSION="5.1.2600.5512" BIN_PRODUCT_VERSION="5.1.2600.5512" PRODUCT_VERSION="5.1.2600.5512" FILE_DESCRIPTION="Client-DLL für Windows NT-Basis-API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Betriebssystem Microsoft® Windows®" FILE_VERSION="5.1.2600.5512 (xpsp.080413-2111)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. Alle Rechte vorbehalten." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x106523" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5512" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5512" LINK_DATE="04/14/2008 02:21:52" UPTO_LINK_DATE="04/14/2008 02:21:52" VER_LANGUAGE="Deutsch (Deutschland) [0x407]" />
Umbrello UML Modeller Version 2.1.3 Using KDE 4.1.3 (KDE 4.1.3) "release 76.17" platform: SuSE-10.3, x86_64, which probably is irrelevant ... However: importing: namespace Rtdb { class CDriver; class CAddress : public ::CAddress { friend class Rtdb::CDriver; public: CAddress(); CAddress(int a_address); virtual bool Equals(::CAddress& a_address); virtual int Compare(::CAddress& a_address); virtual bool Serialize(CXMLArchive*& a_par); virtual const char* ToString(); virtual void Read(Head& a_head); virtual void Write(Head& a_head); private: int address_; }; } crashes Umbrello: Application: Umbrello UML Modeller (umbrello), signal SIGSEGV [?1034hUsing host libthread_db library "/lib64/libthread_db.so.1". 0x00002b57a4bda670 in nanosleep () from /lib64/libc.so.6 Thread 1 (Thread 0x2b57a7122ce0 (LWP 25147)): [KCrash Handler] #5 0x0000000000705db9 in QList<UMLObject*>::indexOf () #6 0x000000000079cc9a in UMLPackage::addObject () #7 0x00000000006d012b in Uml::CmdCreateUMLObject::redo () #8 0x00002b57a3fd6773 in QUndoStack::push () from /usr/lib64/libQtGui.so.4 #9 0x00000000007be1e5 in UMLApp::executeCommand () #10 0x000000000078f669 in Object_Factory::createNewUMLObject () #11 0x0000000000790d4a in Object_Factory::createUMLObject () #12 0x00000000005888ae in Import_Utils::createUMLObject () #13 0x000000000058985b in Import_Utils::addMethodParameter () #14 0x0000000000572885 in CppTree2Uml::parseFunctionArguments () #15 0x0000000000573cdd in CppTree2Uml::parseFunctionDeclaration () #16 0x00000000005744cd in CppTree2Uml::parseDeclaration () #17 0x0000000000571abe in CppTree2Uml::parseSimpleDeclaration () #18 0x000000000056dfe5 in TreeParser::parseClassSpecifier () #19 0x00000000005762d9 in CppTree2Uml::parseClassSpecifier () #20 0x0000000000571a62 in CppTree2Uml::parseSimpleDeclaration () #21 0x000000000056e0a3 in TreeParser::parseLinkageBody () #22 0x0000000000575b4d in CppTree2Uml::parseNamespace () #23 0x000000000056df23 in TreeParser::parseTranslationUnit () #24 0x00000000005716c7 in CppTree2Uml::parseTranslationUnit () #25 0x000000000059e820 in CppImport::feedTheModel () #26 0x0000000000580ef1 in ClassImport::importFiles () #27 0x00000000007bf127 in UMLApp::importFiles () #28 0x00000000007c4375 in UMLApp::slotImportClasses () #29 0x00000000007c708d in UMLApp::qt_metacall () #30 0x00002b579d8f7ab6 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4 #31 0x00002b57a3a58927 in QAction::triggered () from /usr/lib64/libQtGui.so.4 #32 0x00002b57a3a59110 in QAction::activate () from /usr/lib64/libQtGui.so.4 #33 0x00002b57a3df57da in QMenuPrivate::activateAction () from /usr/lib64/libQtGui.so.4 #34 0x00002b579e4ce241 in KMenu::mouseReleaseEvent () from /usr/lib64/libkdeui.so.5 #35 0x00002b57a3ab12a0 in QWidget::event () from /usr/lib64/libQtGui.so.4 #36 0x00002b57a3df3581 in QMenu::event () from /usr/lib64/libQtGui.so.4 #37 0x00002b57a3a5eeff in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4 #38 0x00002b57a3a62e59 in QApplication::notify () from /usr/lib64/libQtGui.so.4 #39 0x00002b579e41ac9b in KApplication::notify () from /usr/lib64/libkdeui.so.5 #40 0x00002b579d8e3859 in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4 #41 0x00002b57a3a64905 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/libQtGui.so.4 #42 0x00002b57a3ac4117 in QETWidget::translateMouseEvent () from /usr/lib64/libQtGui.so.4 #43 0x00002b57a3ac2e40 in QApplication::x11ProcessEvent () from /usr/lib64/libQtGui.so.4 #44 0x00002b57a3ae8023 in ?? () from /usr/lib64/libQtGui.so.4 #45 0x00002b57a52c9244 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #46 0x00002b57a52cc53d in ?? () from /usr/lib64/libglib-2.0.so.0 #47 0x00002b57a52cca0e in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #48 0x00002b579d90cc2f in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4 #49 0x00002b57a3ae7e5f in QGuiEventDispatcherGlib::processEvents () from /usr/lib64/libQtGui.so.4 #50 0x00002b579d8e2cb5 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4 #51 0x00002b579d8e2e0b in QEventLoop::exec () from /usr/lib64/libQtCore.so.4 #52 0x00002b579d8e4e99 in QCoreApplication::exec () from /usr/lib64/libQtCore.so.4 #53 0x0000000000773781 in main ()
I can reproduce this crash on windows. Some analysis shows that the problem is caused by the term ::CAddress, which seems to be not or wrongly handled. Changing all ::CAddress references to _CAddress or defining ::CAddress in a dedicated namespace do let umbrello not crash.
*** Bug 217387 has been marked as a duplicate of this bug. ***
*** Bug 255803 has been marked as a duplicate of this bug. ***
*** Bug 162821 has been marked as a duplicate of this bug. ***
*** Bug 243511 has been marked as a duplicate of this bug. ***
*** Bug 268339 has been marked as a duplicate of this bug. ***
Created attachment 84644 [details] New crash information added by DrKonqi umbrello (2.12.99-11cb9f4) on KDE Platform 4.11.3 using Qt 4.8.5 - What I was doing when the application crashed: I imported c++ classes from openscenegraph source (subdirectory include/osgViewer) This happens when the undo support and the code import option "create artificat on each imported file" are enabled. The reason: In void CmdCreateUMLObject::redo(), the UMLObject is added to the parent in UMLPackage::addObject(). In the crash case the parent is an UMLArtificat instance, which do not derive from UMLPackage. addObject() accesses m_objects to see if the object has already been added and crashes because of invalid class type. A fix would be either - derive UMLArtifact from UMLPackage (and load/save child relations from/to xmi file) - do not use UMLArtifact objects as parent (second best solution, because relations will be lost) -- Backtrace (Reduced): #5 0x000000000044c483 in QListData::size (this=this@entry=0x3168838) at /usr/include/QtCore/qlist.h:98 #6 0x0000000000642b12 in QList<UMLObject*>::indexOf (this=this@entry=0x3168838, t=@0x7fffc6df2978: 0x31668e0, from=from@entry=0) at /usr/include/QtCore/qlist.h:851 #7 0x00000000006750ab in UMLPackage::addObject (this=0x31687c0, pObject=0x31668e0) at /home/ralf.habacker/src/umbrello/umbrello/package.cpp:141 #8 0x00000000005dfdb6 in Uml::CmdCreateUMLObject::redo (this=0x30132e0) at /home/ralf.habacker/src/umbrello/umbrello/cmds/generic/cmd_createUMLObject.cpp:55 #9 0x0000000000681ab9 in UMLApp::executeCommand (this=0x24b6190, cmd=0x30132e0) at /home/ralf.habacker/src/umbrello/umbrello/uml.cpp:3083
Created attachment 84904 [details] New crash information added by DrKonqi umbrello (2.12.99-38632cf) on KDE Platform 4.11.3 using Qt 4.8.4 - What I was doing when the application crashed: header import wizard. Nothing fancy. Had just compiled the program from the git repo. -- Backtrace (Reduced): #6 0x00000000006e4e63 in size (this=0x4033f40000000000) at /usr/include/qt4/QtCore/qlist.h:847 #7 QList<UMLObject*>::indexOf (this=this@entry=0x43afd08, t=@0x7fff91a48ab8: 0x44081a0, from=from@entry=0) at /usr/include/qt4/QtCore/qlist.h:850 #8 0x000000000072e7ff in UMLPackage::addObject (this=0x43afc90, pObject=0x44081a0) at /home/anthony/src/umbrello/umbrello/package.cpp:141 #9 0x0000000000668636 in Uml::CmdCreateUMLObject::redo (this=0x4408080) at /home/anthony/src/umbrello/umbrello/cmds/generic/cmd_createUMLObject.cpp:55 #10 0x0000000000744ac1 in UMLApp::executeCommand (this=0x2164090, cmd=cmd@entry=0x4408080) at /home/anthony/src/umbrello/umbrello/uml.cpp:3088
Git commit 8195e6432bfa52670381c328c99e2f00c86ec738 by Ralf Habacker. Committed on 30/01/2014 at 19:52. Pushed by habacker into branch 'master'. Add debug support to functions in Import_Utils namespace. M +6 -3 umbrello/codeimport/import_utils.cpp http://commits.kde.org/umbrello/8195e6432bfa52670381c328c99e2f00c86ec738
Git commit d19e332cb394672da16716bddad2980079bf863b by Ralf Habacker. Committed on 30/01/2014 at 19:49. Pushed by habacker into branch 'master'. Derive UMLArtifact from UMLPackage, which is required by the undo framework. M +1 -1 umbrello/artifact.cpp M +2 -2 umbrello/artifact.h http://commits.kde.org/umbrello/d19e332cb394672da16716bddad2980079bf863b
Git commit 39a2074f7fe97e14022c03ec05dba6ebd1759d89 by Ralf Habacker. Committed on 30/01/2014 at 19:54. Pushed by habacker into branch 'master'. Crash fix of 'crash on import classes(c++)' M +5 -0 umbrello/codeimport/import_utils.cpp http://commits.kde.org/umbrello/39a2074f7fe97e14022c03ec05dba6ebd1759d89
Git commit c8003ec2f066a33c968664bdf2f4b2737363008a by Ralf Habacker. Committed on 30/01/2014 at 19:52. Pushed by habacker into branch 'KDE/4.12'. Add debug support to functions in Import_Utils namespace. (cherry picked from commit 8195e6432bfa52670381c328c99e2f00c86ec738) M +6 -3 umbrello/codeimport/import_utils.cpp http://commits.kde.org/umbrello/c8003ec2f066a33c968664bdf2f4b2737363008a
Git commit 04fe1b12c8260e40b29cba7043d3bfc43234ff0a by Ralf Habacker. Committed on 30/01/2014 at 19:49. Pushed by habacker into branch 'KDE/4.12'. Derive UMLArtifact from UMLPackage, which is required by the undo framework. (cherry picked from commit d19e332cb394672da16716bddad2980079bf863b) M +1 -1 umbrello/artifact.cpp M +2 -2 umbrello/artifact.h http://commits.kde.org/umbrello/04fe1b12c8260e40b29cba7043d3bfc43234ff0a
Git commit dcb2f029c9ab4a210536ba000dcb5b8900f08173 by Ralf Habacker. Committed on 30/01/2014 at 19:54. Pushed by habacker into branch 'KDE/4.12'. Crash fix of 'crash on import classes(c++)' We do not support artifacts as parents yet. FIXED-IN:4.12.3 (cherry picked from commit 39a2074f7fe97e14022c03ec05dba6ebd1759d89) M +5 -0 umbrello/codeimport/import_utils.cpp http://commits.kde.org/umbrello/dcb2f029c9ab4a210536ba000dcb5b8900f08173
Created attachment 84914 [details] New crash information added by DrKonqi umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4 Retrieved new sources after commits by Ralf Habacker. Importing c++ sources. -- Backtrace (Reduced): #6 0x00000000006e51c3 in size (this=0x80008000800080) at /usr/include/qt4/QtCore/qlist.h:847 #7 QList<UMLObject*>::indexOf (this=this@entry=0x325e108, t=@0x7fffe6272d38: 0x62b5790, from=from@entry=0) at /usr/include/qt4/QtCore/qlist.h:850 #8 0x000000000072eb5f in UMLPackage::addObject (this=0x325e090, pObject=0x62b5790) at /home/anthony/src/umbrello/umbrello/package.cpp:141 #9 0x0000000000668986 in Uml::CmdCreateUMLObject::redo (this=0x67f0420) at /home/anthony/src/umbrello/umbrello/cmds/generic/cmd_createUMLObject.cpp:55 #10 0x0000000000744e21 in UMLApp::executeCommand (this=0x27bd2e0, cmd=cmd@entry=0x67f0420) at /home/anthony/src/umbrello/umbrello/uml.cpp:3088
(In reply to comment #16) > Created attachment 84914 [details] > New crash information added by DrKonqi > > umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4 > > Retrieved new sources after commits by Ralf Habacker. Importing c++ sources. Cannot reproduce a crash with the openscenegraph sources mentioned in this bug. Please provide a related header file or link with this crash is reproducable.
(In reply to comment #17) > (In reply to comment #16) > > Created attachment 84914 [details] > > New crash information added by DrKonqi > > > > umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4 > > > > Retrieved new sources after commits by Ralf Habacker. Importing c++ sources. > Cannot reproduce a crash with the openscenegraph sources mentioned in this > bug. Please provide a related header file or link with this crash is > reproducable. Crashes importing the following source header files. https://github.com/anthonybakermpls/e/tree/master/include
(In reply to comment #18) > (In reply to comment #17) > > (In reply to comment #16) > > > Created attachment 84914 [details] > > > New crash information added by DrKonqi > > > > > > umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4 > > > > > > Retrieved new sources after commits by Ralf Habacker. Importing c++ sources. > > Cannot reproduce a crash with the openscenegraph sources mentioned in this > > bug. Please provide a related header file or link with this crash is > > reproducable. > > Crashes importing the following source header files. > https://github.com/anthonybakermpls/e/tree/master/include umbrello fails to import the following lines from renderer.h 127: map<int,shared_ptr<Renderable>> renderables; 128: map<int,shared_ptr<Renderable>>::iterator renderables_iter;
(In reply to comment #19) > (In reply to comment #18) > > (In reply to comment #17) > > > (In reply to comment #16) > > > > Created attachment 84914 [details] > > > > New crash information added by DrKonqi > > > > > > > > umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4 > > > > > > > > Retrieved new sources after commits by Ralf Habacker. Importing c++ sources. > > > Cannot reproduce a crash with the openscenegraph sources mentioned in this > > > bug. Please provide a related header file or link with this crash is > > > reproducable. > > > > Crashes importing the following source header files. > > https://github.com/anthonybakermpls/e/tree/master/include > > umbrello fails to import the following lines from renderer > 127: map<int,shared_ptr<Renderable>> renderables; > 128: map<int,shared_ptr<Renderable>>::iterator renderables_iter; The problem here is that the c++ lexer interprets '>>' as operator >>. A workaround is to add a space between both '>' > 127: map<int,shared_ptr<Renderable> > renderables; > 128: map<int,shared_ptr<Renderable> >::iterator renderables_iter;
Git commit 4d4cbb10b1eb825ee7189eaf0aa8e4bd415a9972 by Ralf Habacker. Committed on 01/02/2014 at 10:31. Pushed by habacker into branch 'master'. Fix nested template parse error. The term '>>' is parsed as Token_shift, which prevents to be used as template closing tag and results into using a not supported UMLAssociation object as parent. M +1 -1 umbrello/codeimport/kdevcppparser/lexer.cpp M +6 -2 umbrello/codeimport/kdevcppparser/parser.cpp M +1 -1 umbrello/codeimport/kdevcppparser/preprocesslexer.cpp M +1 -1 umbrello/codeimport/kdevcppparser/preprocesslexer.h http://commits.kde.org/umbrello/4d4cbb10b1eb825ee7189eaf0aa8e4bd415a9972
Git commit 7fe990cfc85c2c8087157b84d040171cd9ab330e by Ralf Habacker. Committed on 30/01/2014 at 23:54. Pushed by habacker into branch 'master'. Fix crash adding UMLObject to a UMLAssociation parent. UMLAssociation is not derived from UMLPackage, which is required to be used as parent. The root cause for the crash is a c++ parse error, which is covered by another commit. M +7 -2 umbrello/cmds/generic/cmd_createUMLObject.cpp M +5 -2 umbrello/codeimport/import_utils.cpp http://commits.kde.org/umbrello/7fe990cfc85c2c8087157b84d040171cd9ab330e
Git commit 0bf3c2fc314e298bbe8b18557aa5411ea9b1366f by Ralf Habacker. Committed on 01/02/2014 at 10:31. Pushed by habacker into branch 'KDE/4.12'. Fix nested template parse error. The term '>>' is parsed as Token_shift, which prevents to be used as template closing tag and results into using a not supported UMLAssociation object as parent. FIXED-IN:4.12.3 (cherry picked from commit 4d4cbb10b1eb825ee7189eaf0aa8e4bd415a9972) M +1 -1 umbrello/codeimport/kdevcppparser/lexer.cpp M +6 -2 umbrello/codeimport/kdevcppparser/parser.cpp M +1 -1 umbrello/codeimport/kdevcppparser/preprocesslexer.cpp M +1 -1 umbrello/codeimport/kdevcppparser/preprocesslexer.h http://commits.kde.org/umbrello/0bf3c2fc314e298bbe8b18557aa5411ea9b1366f
*** Bug 235553 has been marked as a duplicate of this bug. ***
Git commit b737a174817ed99986cf751cc53db126b88a9918 by Ralf Habacker. Committed on 06/02/2014 at 23:33. Pushed by habacker into branch '330788-3.5-cpp-parser'. Add class Lexer debug info. M +2 -0 lib/cppparser/lexer.cpp M +2 -0 lib/cppparser/lexer.h http://commits.kde.org/umbrello/b737a174817ed99986cf751cc53db126b88a9918
Git commit 59dfe3f86afb5c1bfbdfcc007aebbd666fe95733 by Ralf Habacker. Committed on 06/02/2014 at 23:37. Pushed by habacker into branch 'master'. Fix nested template parse results for now. This gives more hints about the import process. M +1 -1 lib/cppparser/lexer.h M +8 -3 lib/cppparser/parser.cpp http://commits.kde.org/umbrello/59dfe3f86afb5c1bfbdfcc007aebbd666fe95733