Bug 377704 - Unable to open a file created in Umbrello
Summary: Unable to open a file created in Umbrello
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 2.21.1 (KDE Applications 16.12.1)
Platform: Ubuntu Linux
: NOR critical
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-16 18:20 UTC by jefferson.charczuk
Modified: 2017-03-16 22:20 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.21.80 (KDE Applications 17.03.80)


Attachments
XMI File to try to reproduce the issue. (259.73 KB, text/x-xmi)
2017-03-16 18:20 UTC, jefferson.charczuk
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jefferson.charczuk 2017-03-16 18:20:16 UTC
Created attachment 104603 [details]
XMI File to try to reproduce the issue.

After editing, working and saving this file attached many times, umbrello crashes with segfault and don't open the file anymore.
The same issue applies in Windows XP.

This is the backtrace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb3019740 (LWP 12271))]

Thread 3 (Thread 0xac59cb40 (LWP 12277)):
#0  0xb7731424 in __kernel_vsyscall ()
#1  0xb414be81 in select () from /lib/i386-linux-gnu/libc.so.6
#2  0xb5e34e26 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#3  0xb5d45de0 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#4  0xb38edd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0xb4152e8e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xabbffb40 (LWP 13974)):
#0  0xb7731424 in __kernel_vsyscall ()
#1  0xb4144710 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xb37eea3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb37e106e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb37e11c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb5e8d8e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#6  0xb5e5950d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#7  0xb5e597a9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#8  0xb5d4294c in QThread::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#9  0xb5e36b5d in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#10 0xb5d45de0 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#11 0xb38edd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0xb4152e8e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb3019740 (LWP 12271)):
[KCrash Handler]
#7  0x081a30c4 in UMLObject::baseType() const () at /home/00486775070/umbrello/umbrello/umlmodel/umlobject.cpp:399
#8  0x0819441b in UMLEntity::resolveRef() () at /home/00486775070/umbrello/umbrello/umlmodel/entity.cpp:417
#9  0x0819fbf3 in UMLPackage::resolveRef() () at /home/00486775070/umbrello/umbrello/umlmodel/package.cpp:387
#10 0x0819fbf3 in UMLPackage::resolveRef() () at /home/00486775070/umbrello/umbrello/umlmodel/package.cpp:387
#11 0x0821841c in UMLDoc::resolveTypes() () at /home/00486775070/umbrello/umbrello/umldoc.cpp:2518
#12 0x0821df40 in UMLDoc::loadExtensionsFromXMI(QDomNode&) () at /home/00486775070/umbrello/umbrello/umldoc.cpp:2823
#13 0x082205a2 in UMLDoc::loadFromXMI(QIODevice&, short) () at /home/00486775070/umbrello/umbrello/umldoc.cpp:2361
#14 0x08221e95 in UMLDoc::openDocument(KUrl const&, char const*) () at /home/00486775070/umbrello/umbrello/umldoc.cpp:716
#15 0x0820e9d3 in UMLApp::slotFileOpen() () at /home/00486775070/umbrello/umbrello/uml.cpp:1349
#16 0xb5e716b1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#17 0xb60ee9bd in QAction::triggered(bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#18 0xb60eec5b in QAction::activate(QAction::ActionEvent) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#19 0xb65b0503 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#20 0xb65b73df in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#21 0xb65ba0c5 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#22 0xb708025c in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#23 0xb61501ac in QWidget::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#24 0xb65b8b4c in QMenu::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#25 0xb60f5ed4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#26 0xb60fc024 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#27 0xb6fa1e01 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#28 0xb5e5a97e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#29 0xb60f6e95 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#30 0xb6183822 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#31 0xb6181c5d in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#32 0xb61aeefc in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#33 0xb37e0d46 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#34 0xb37e10e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#35 0xb37e11c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#36 0xb5e8d887 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#37 0xb61aeafa in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#38 0xb5e5950d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#39 0xb5e597a9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#40 0xb5e5eeba in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#41 0xb60f3a74 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#42 0x080756a5 in main () at /home/00486775070/umbrello/umbrello/main.cpp:246
Comment 1 Ralf Habacker 2017-03-16 22:17:56 UTC
Git commit 4bb3b45fcf2d58fec697538aa001f7cb17e82267 by Ralf Habacker.
Committed on 16/03/2017 at 22:15.
Pushed by habacker into branch 'master'.

Fix 'Unable to open a file created in Umbrello'.

Do not access possible zero pointer.
FIXED-IN:2.21.80 (KDE Applications 17.03.80)

M  +2    -0    umbrello/uml1model/entity.cpp

https://commits.kde.org/umbrello/4bb3b45fcf2d58fec697538aa001f7cb17e82267
Comment 2 Ralf Habacker 2017-03-16 22:20:56 UTC
2.21.80 will be released at March 23. If you cant wait please compile and run fixed umbrello from master branch.