Bug 162821 - KDE Crash Handler on umbrello when importing source code
Summary: KDE Crash Handler on umbrello when importing source code
Status: RESOLVED DUPLICATE of bug 175096
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-29 18:20 UTC by Bruce Chidester
Modified: 2012-07-06 00:02 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bruce Chidester 2008-05-29 18:20:17 UTC
Version:           2.0.3 (using KDE 4.0.3)
Installed from:    0Ubuntu Packages
Compiler:          gcc 4.3 
OS:                Linux

KDE Crash Handler on umbrello when importing source code

When I import a relatively large object (.h) file, during the object importing and resolving, I get a KDE crash handler.


(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb5a5f740 (LWP 16973)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xb7eff410 in __kernel_vsyscall ()
[Current thread is 0 (process 16973)]

Thread 1 (Thread 0xb5a5f740 (LWP 16973)):
#0  0xb7eff410 in __kernel_vsyscall ()
#1  0xb6894c90 in nanosleep () from /lib/tls/i686/cmov/libc.so.6
#2  0xb6894ac7 in sleep () from /lib/tls/i686/cmov/libc.so.6
#3  0xb7ac07d0 in ?? () from /usr/lib/kde4/lib/libkdeui.so.5
#4  0x00000001 in ?? ()
#5  0x00000000 in ?? ()
#0  0xb7eff410 in __kernel_vsyscall ()
Comment 1 FiNeX 2008-11-19 20:25:22 UTC
Changed severity to "crash". I hope to have selected only the right bugs (>100) :-)
Comment 2 Sharan Rao 2008-11-28 10:49:12 UTC
Hmm, the backtrace doesn't contain any information :)

Can you please do one of the following two ?
1. Attach the Large header file, if you can
2. Build Umbrello with debugging symbols, reproduce the crash and attach the backtrace.

Thanks
Comment 3 Iztok Kobal 2009-08-15 12:10:01 UTC
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 ()
Comment 4 Ralf Habacker 2012-01-17 13:34:48 UTC
Same issue on windows with recent code cause by an invalid d-pointer of QList internal used QListData instance. 

In the stacktrace a call to Uml::CmdCreateUMLObject::redo () could be seen, so there is the assumption, that this is cause by the known undo framework issues.
Comment 5 Ralf Habacker 2012-01-17 14:11:38 UTC
Further investigations shows that in void CmdCreateUMLObject::redo() the package is added to it's parent package

        UMLPackage *pkg = m_obj->umlPackage();
        if (pkg == NULL) {
          // object does not belong to any package

        } else {
          // add this object to its parent package
          pkg->addObject(m_obj);
        }

In the crash case the parent package is of type ot_Association which do not have UMLPackage as base class and therefore no UMLObject list member. Accessing this unavailable member causes the crash. 

The conclusion of this is that somewhere in the code an UMLAssociation is created where in truth an UMLPackage should be created.
Comment 6 Jekyll Wu 2012-07-06 00:02:25 UTC

*** This bug has been marked as a duplicate of bug 175096 ***