Summary: | crash while importing C++ code | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Jake Hamby <jhamby> |
Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Jake Hamby
2004-01-22 21:42:37 UTC
Code import is working for me on a random selection of files. You'll have to attach the header files in question to this report so we can try them. If you don't want to attach them here send them to me jr @ jriddell.org No problem with aknview.h but aknviewappui.h causes this backtrace: #0 0x40ef9e81 in QGList::append(void*) () from /usr/lib/libqt-mt.so.3 #1 0x080ef01a in UMLClass::addAttribute(QString, int) (this=0x82e7990, name= {static null = {static null = <same as static member of an already seen type>, d = 0x82d3dc0, static shared_null = 0x82d3dc0}, d = 0x829bf48, static shared_null = 0x82d3dc0}, id=140604464) at qptrlist.h:82 #2 0x080f70af in ClassImport::insertAttribute(CClassStore&, UMLObject*, Uml::Scope, QString, QString, QString, bool) ( this=0x83dae50, store=@0x8617430, o=0x82e7990, scope=201, name= {static null = {static null = <same as static member of an already seen type>, d = 0x82d3dc0, static shared_null = 0x82d3dc0}, d = 0x8453af0, static shared_null = 0x82d3dc0}, type= {static null = {static null = <same as static member of an already seen type>, d = 0x82d3dc0, static shared_null = 0x82d3dc0}, d = 0x8468fc8, static shared_null = 0x82d3dc0}, comment= {static null = {static null = <same as static member of an already seen type>, d = 0x82d3dc0, static shared_null = 0x82d3dc0}, d = 0x829bf48, static shared_null = 0x82d3dc0}, isStatic=false) at classimport.cpp:96 #3 0x080f7b8d in ClassImport::importCPP(QStringList) (this=0x83dae50, headerFileList= {<QValueList<QString>> = {sh = 0x82bddc8}, <No data fields>}) at classimport.cpp:196 #4 0x081516e0 in UMLApp::slotImportClasses() (this=0x8331660) at qshared.h:49 #5 0x08152716 in UMLApp::qt_invoke(int, QUObject*) (this=0x8331660, _id=110, _o=0xbfffec90) at uml.moc:271 #6 0x40c588bc in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/libqt-mt.so.3 #7 0x40c586f4 in QObject::activate_signal(int) () from /usr/lib/libqt-mt.so.3 #8 0x4058864b in KAction::activated() () from /usr/lib/libkdeui.so.4 #9 0x40587bef in KAction::slotActivated() () from /usr/lib/libkdeui.so.4 #10 0x40588851 in KAction::qt_invoke(int, QUObject*) () from /usr/lib/libkdeui.so.4 #11 0x40c588bc in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/libqt-mt.so.3 #12 0x40f751fa in QSignal::signal(QVariant const&) () from /usr/lib/libqt-mt.so.3 #13 0x40c723d6 in QSignal::activate() () from /usr/lib/libqt-mt.so.3 #14 0x40d591e0 in QPopupMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libqt-mt.so.3 #15 0x40c8d917 in QWidget::event(QEvent*) () from /usr/lib/libqt-mt.so.3 #16 0x40bfd2df in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/libqt-mt.so.3 #17 0x40bfc9e1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libqt-mt.so.3 #18 0x407d07ed in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdecore.so.4 #19 0x40b95d41 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/libqt-mt.so.3 #20 0x40b93a5e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libqt-mt.so.3 #21 0x40ba9d91 in QEventLoop::processEvents(unsigned) () from /usr/lib/libqt-mt.so.3 #22 0x40c10ac8 in QEventLoop::enterLoop() () from /usr/lib/libqt-mt.so.3 #23 0x40c10978 in QEventLoop::exec() () from /usr/lib/libqt-mt.so.3 #24 0x40bfd531 in QApplication::exec() () from /usr/lib/libqt-mt.so.3 #25 0x08132f0e in main (argc=140604464, argv=0x8617430) at main.cpp:86 I get the same crash while importing the examble below. Changing the spelling of either class name stops the crashing. --- BEGIN --- class Interface { public: class ance { public: ance(); }; int var; }; --- END --- Resolution of 53361 has obsoleted this one. Lars, your Interface::ance() example does not crash for me. Notice however that the class nesting does not carry over into umbrello. AFAIK the UML standard does not even make a provision for nesting classes - and it's something not possible in all supported OO languages (e.g., Ada95.) |