Bug 65502 - C++ code generator is broken, maybe other as well
Summary: C++ code generator is broken, maybe other as well
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: HI normal
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-04 22:42 UTC by Sebastian Stein
Modified: 2003-12-02 22:21 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
XMI that solicits crash on attempt to generate C++ (17.77 KB, text/xml)
2003-10-11 09:28 UTC, Oliver Kellogg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Stein 2003-10-04 22:42:10 UTC
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
  /**
  */
Comment 1 Oliver Kellogg 2003-10-11 09:28:53 UTC
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
Comment 2 Sebastian Stein 2003-10-28 21:25:38 UTC
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.
Comment 3 Oliver Kellogg 2003-11-01 12:25:43 UTC
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.
Comment 4 Sebastian Stein 2003-11-16 21:04:46 UTC
The generated code looks much better know. Thanks to Brian Thomas!
Comment 5 Jason Keirstead 2003-11-18 21:28:49 UTC
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.
Comment 6 Brian Thomas 2003-12-02 22:21:55 UTC
I believe the needed fixes to this "bug" are now finished or problems with the code generation are otherwise noted in other bugs.