Bug 320850 - Umbrello crash during C++ files import
Summary: Umbrello crash during C++ files import
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 2.10.4
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-07 08:09 UTC by Giacomo Picchiarelli
Modified: 2014-02-01 15:14 UTC (History)
3 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 Giacomo Picchiarelli 2013-06-07 08:09:55 UTC
Application: umbrello (2.10.4)
KDE Platform Version: 4.10.4
Qt Version: 4.8.2
Operating System: Linux 3.9.3-030903-generic i686
Distribution: Ubuntu 12.04.2 LTS

-- Information about the crash:
- What I was doing when the application crashed: Importing C++ headers files to draw an UML diagram. It happens every time to me.

-- Backtrace:
Application: Modellatore UML Umbrello (umbrello), signal: Aborted
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb4db6740 (LWP 7404))]

Thread 4 (Thread 0xb24b2b40 (LWP 7405)):
#0  0xb7762424 in __kernel_vsyscall ()
#1  0xb5b02690 in __GI___poll (fds=0xb1b022b0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb525aa3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb524d06e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb524d1c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb6980de7 in QEventDispatcherGlib::processEvents (this=0xb1b00468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb694c6ad in QEventLoop::processEvents (this=0xb24b2240, flags=...) at kernel/qeventloop.cpp:149
#7  0xb694c949 in QEventLoop::exec (this=0xb24b2240, flags=...) at kernel/qeventloop.cpp:204
#8  0xb6835a1c in QThread::exec (this=0x8fd2fa0) at thread/qthread.cpp:501
#9  0xb6929cfd in QInotifyFileSystemWatcherEngine::run (this=0x8fd2fa0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0xb6838eb0 in QThreadPrivate::start (arg=0x8fd2fa0) at thread/qthread_unix.cpp:307
#11 0xb5a0dd4c in start_thread (arg=0xb24b2b40) at pthread_create.c:308
#12 0xb5b10dde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xb12e6b40 (LWP 7406)):
#0  0xb7762424 in __kernel_vsyscall ()
#1  0xb5a1196b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xb5b1e6ec in __pthread_cond_wait (cond=0x93e0330, mutex=0x93e0318) at forward.c:139
#3  0xb6839420 in wait (time=4294967295, this=0x93e0318) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x93e00a4, mutex=0x93e00a0, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb63cb6b3 in QFileInfoGatherer::run (this=0x93e0098) at dialogs/qfileinfogatherer.cpp:214
#6  0xb6838eb0 in QThreadPrivate::start (arg=0x93e0098) at thread/qthread_unix.cpp:307
#7  0xb5a0dd4c in start_thread (arg=0xb12e6b40) at pthread_create.c:308
#8  0xb5b10dde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb08ffb40 (LWP 7407)):
#0  0xb7762424 in __kernel_vsyscall ()
#1  0xb5b02690 in __GI___poll (fds=0xaff02278, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb525aa3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb524d06e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb524d1c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb6980de7 in QEventDispatcherGlib::processEvents (this=0xaff00468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb694c6ad in QEventLoop::processEvents (this=0xb08ff240, flags=...) at kernel/qeventloop.cpp:149
#7  0xb694c949 in QEventLoop::exec (this=0xb08ff240, flags=...) at kernel/qeventloop.cpp:204
#8  0xb6835a1c in QThread::exec (this=0x93e0450) at thread/qthread.cpp:501
#9  0xb6929cfd in QInotifyFileSystemWatcherEngine::run (this=0x93e0450) at io/qfilesystemwatcher_inotify.cpp:248
#10 0xb6838eb0 in QThreadPrivate::start (arg=0x93e0450) at thread/qthread_unix.cpp:307
#11 0xb5a0dd4c in start_thread (arg=0xb08ffb40) at pthread_create.c:308
#12 0xb5b10dde in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb4db6740 (LWP 7404)):
[KCrash Handler]
#7  0xb7762424 in __kernel_vsyscall ()
#8  0xb5a501df in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0xb5a53825 in __GI_abort () at abort.c:91
#10 0xb5c61615 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#11 0xb5c5f283 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#12 0xb5c5f2bf in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#13 0xb5c5f575 in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0xb694cbf5 in QEventLoop::exec (this=0xbfbb9384, flags=...) at kernel/qeventloop.cpp:218
#15 0xb695234a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#16 0xb5e369c4 in QApplication::exec () at kernel/qapplication.cpp:3817
#17 0x0807839b in main (argc=<error reading variable: Cannot access memory at address 0x1cec>, argv=<error reading variable: Cannot access memory at address 0x1cf0>) at ../../../umbrello/umbrello/main.cpp:111

Possible duplicates by query: bug 320526, bug 320128, bug 318896, bug 318309, bug 316495.

Reported using DrKonqi
Comment 1 Justin Zane Chudgar 2013-09-17 06:01:24 UTC
Same issue using 4.11.1-1 on Arch Linux.
Comment 2 Ralf Habacker 2013-09-17 06:08:23 UTC
(In reply to comment #1)
> Same issue using 4.11.1-1 on Arch Linux.

Please provide a public link to the related header and/or the related c++ header which causes the crash.
Comment 3 Justin Zane Chudgar 2013-09-17 06:17:14 UTC
https://github.com/wesnoth/wesnoth-old

I've been trying to import 
- wesnoth-old/src/*
- wesnoth-old/src/ai/*
- wesnoth-old/src/ai/default/*
- wesnoth-old/src/unit.hpp

All die a quick death. No backtrace, since I move on to another tool instead of building a debug build. Sorry.
Comment 4 Justin Zane Chudgar 2013-09-17 06:49:00 UTC
Backtrace from unit.hpp as noted above.

Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe6365ba780 (LWP 26655))]

Thread 3 (Thread 0x7fe6226a6700 (LWP 26667)):
#0  0x00007fe63401603f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007fe6342a3266 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fe633a01796 in ?? () from /usr/lib/libQtGui.so.4
#3  0x00007fe6342a2d8f in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fe6340120a2 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007fe63287da2d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fe621ea5700 (LWP 26668)):
#0  0x00007fe62f5ffe6a in ?? () from /usr/lib/libglib-2.0.so.0
#1  0x00007fe62f600149 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007fe62f5c099b in g_main_context_query () from /usr/lib/libglib-2.0.so.0
#3  0x00007fe62f5c0ff2 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007fe62f5c118c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0x00007fe6343cfb46 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007fe6343a1b1f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007fe6343a1e15 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x00007fe6342a06ef in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x00007fe6343832c3 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007fe6342a2d8f in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007fe6340120a2 in start_thread () from /usr/lib/libpthread.so.0
#12 0x00007fe63287da2d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fe6365ba780 (LWP 26655)):
[KCrash Handler]
#5  0x00007fe6343b68d7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#6  0x00007fe633b59988 in QUndoStack::setIndex(int) () from /usr/lib/libQtGui.so.4
#7  0x00007fe6343b6b48 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#8  0x00007fe633a6d0aa in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libQtGui.so.4
#9  0x00007fe633a6d18d in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/libQtGui.so.4
#10 0x00007fe633a1f224 in QAbstractItemView::mousePressEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007fe6335784f1 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#12 0x00007fe6339158ee in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#13 0x00007fe633a24ac3 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#14 0x00007fe6343a3026 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#15 0x00007fe63352910c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#16 0x00007fe63352f82d in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#17 0x00007fe63506f72a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#18 0x00007fe6343a2ebd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#19 0x00007fe63352efe3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#20 0x00007fe6335a0bfb in ?? () from /usr/lib/libQtGui.so.4
#21 0x00007fe63359f66c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#22 0x00007fe6335c61b2 in ?? () from /usr/lib/libQtGui.so.4
#23 0x00007fe62f5c0d96 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x00007fe62f5c10e8 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0x00007fe62f5c118c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0x00007fe6343cfb25 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#27 0x00007fe6335c6266 in ?? () from /usr/lib/libQtGui.so.4
#28 0x00007fe6343a1b1f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#29 0x00007fe6343a1e15 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#30 0x00007fe6343a6f4b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#31 0x00000000004386e5 in ?? ()
#32 0x00007fe6327babc5 in __libc_start_main () from /usr/lib/libc.so.6
#33 0x0000000000439e75 in _start ()
Comment 5 Ralf Habacker 2013-09-17 06:54:24 UTC
All backtrace informations shows no direct umbrello involvement. 

The only frame which may indicate an umbrello problem is the following: 
#6 0x00007fe633b59988 in QUndoStack::setIndex(int) () from /usr/lib/libQtGui.so.4

It may help to disable undo/redo in umbrello settings. Please report is this helps in your case.
Comment 6 Justin Zane Chudgar 2013-09-17 07:11:57 UTC
Disabling undo seems to prevent crashing. Only limited testing done. 

@note: Is umbrello incapable of reading c++ namespace declarations? That seems, well, silly.
Comment 7 Ralf Habacker 2013-09-17 07:15:28 UTC
umbrello's currently used c++ parser has been forked from kdevelop 3.x c++ parser, which should be able to import c++ namespace declarations, so I guess this is a bug.
Comment 8 Ralf Habacker 2013-09-17 09:00:49 UTC
If there are basic types missing, it should be checked that Settings->Code Import->Resolve Dependencies is set to true.
Comment 9 Ralf Habacker 2014-02-01 15:14:28 UTC
Imported whole repository (578 files) without any crash into an umbrello build from git master