Version: 1.2-alpha (using KDE 3.1.4) Installed from: compiled sources Compiler: gcc version 3.2.3 OS: Linux (i686) release 2.4.22 - no accessor methods are generated - no attributes are generated - following things are generated: Constructors Operations /** */
Created attachment 2743 [details] XMI that solicits crash on attempt to generate C++ Hey Brian, I tried for the first time your new C++ code generation. However, when loading the attached file and selecting "Generate all code" for C++, I get the following backtrace: #0 0x41086cf7 in waitpid () from /lib/libpthread.so.0 #1 0x40790c89 in KCrash::defaultCrashHandler(int) () from /opt/kde3/lib/libkdecore.so.4 #2 0x41085895 in __pthread_sighandler () from /lib/libpthread.so.0 #3 <signal handler called> #4 0x0820c20a in vtable for __cxxabiv1::__si_class_type_info () #5 0x080e5430 in ClassifierCodeDocument::syncClassFields() (this=0x834a530) at classifiercodedocument.cpp:361 #6 0x080e53da in ClassifierCodeDocument::syncronize() (this=0x834a530) at classifiercodedocument.cpp:352 #7 0x4006baa2 in CPPSourceCodeDocument::init() (this=0x834a530) at cppsourcecodedocument.cpp:148 #8 0x4006b39c in CPPSourceCodeDocument (this=0x834a530, concept=0x839d440, parent=0x837af58) at cppsourcecodedocument.cpp:43 #9 0x40067e6c in CPPCodeGenerator::newClassifierCodeDocument(UMLClassifier*) ( this=0x837af58, classifier=0x839d440) at cppcodegenerator.cpp:169 #10 0x40067fb5 in CPPCodeGenerator::initFromParentDocument() (this=0x837af58) at cppcodegenerator.cpp:204 #11 0x40068148 in CPPCodeGenerator::initAttributes() (this=0x837af58) at cppcodegenerator.cpp:228 #12 0x40067598 in CPPCodeGenerator (this=0x837af58, parentDoc=0x8300eb0, name=0x0) at cppcodegenerator.cpp:35 #13 0x40056d4d in CodeGeneratorFactory::createObject(QObject*, char const*, char const*, QStringList const&) (this=0x8354130, parent=0x8300eb0, name=0x0, cname=0x832e0f8 "CppCodeGenerator") at codegenfactory.cpp:120 #14 0x407a6411 in KLibFactory::create(QObject*, char const*, char const*, QStringList const&) () from /opt/kde3/lib/libkdecore.so.4 #15 0x08137532 in UMLApp::createGenerator() (this=0x829c908) at uml.cpp:1158 #16 0x08137994 in UMLApp::setActiveLanguage(int) (this=0x829c908, id=-91) at uml.cpp:1221 #17 0x08139f2f in UMLApp::qt_invoke(int, QUObject*) (this=0x829c908, _id=102, _o=0xbfffe760) at uml.moc:263 #18 0x40b2b8e7 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0x40b2b9c8 in QObject::activate_signal(int, int) () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0x40e21cd1 in QSignal::intSignal(int) () from /usr/lib/qt3/lib/libqt-mt.so.3 #21 0x40b4631c in QSignal::activate() () from /usr/lib/qt3/lib/libqt-mt.so.3 #22 0x40c2116b in QPopupMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #23 0x40b61954 in QWidget::event(QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #24 0x40aca5f8 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #25 0x40ac9d76 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #26 0x4071d929 in KApplication::notify(QObject*, QEvent*) () from /opt/kde3/lib/libkdecore.so.4 #27 0x40a6b886 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #28 0x40a68e30 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #29 0x40a7e4f2 in QEventLoop::processEvents(unsigned) () from /usr/lib/qt3/lib/libqt-mt.so.3 #30 0x40adeb83 in QEventLoop::enterLoop() () from /usr/lib/qt3/lib/libqt-mt.so.3 #31 0x40adea76 in QEventLoop::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 #32 0x40aca87f in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 #33 0x0811d1e2 in main (argc=1, argv=0xbffff264) at main.cpp:86 #34 0x411e58ae in __libc_start_main () from /lib/libc.so.6
this bug should be fixed before KDE 3.2 release I think Brian already started working on the fix, but it may need some more days.
I agree with Seb, it's getting better. Umbrello no longer crashes on generating C++ code from my attachment, and the generated .cpp files look reasonable. However, I don't get any .h files generated.
The generated code looks much better know. Thanks to Brian Thomas!
I'd like to re-open this bug. In current umbrello CVS, I still get no header files generated. This is really weird because when I right click on a class and "View Source COde" the header is there, so it *is* being generated somewhere, just not written to disk.
I believe the needed fixes to this "bug" are now finished or problems with the code generation are otherwise noted in other bugs.