Bug 338983 - Umbrello crashed when opening entity relationship diagram previously saved
Summary: Umbrello crashed when opening entity relationship diagram previously saved
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 2.13.2
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-10 16:24 UTC by Gabriela Serventi
Modified: 2015-12-16 18:29 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.14.1


Attachments
der_stage2.xmi (135.92 KB, text/x-xmi)
2014-09-12 19:38 UTC, Gabriela Serventi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gabriela Serventi 2014-09-10 16:24:24 UTC
I saved a xmi file with only an entity-relationship diagram. I closed Umbrello. I opened again the xmi file and I double clicked on the name of my diagram, in the Tree View under "Entity Relationship Model". The diagram doesn't opened and Umbrello crashed

Reproducible: Always

Steps to Reproduce:
1. Start Umbrello and create a new file only with an entity relationship diagram.
2. Close Umbrello.
3. Start Umbrello and open the previously saved xmi file.
4. Double click on the name of the entity relationship diagram, in the Tree View under "Entity Relationship Model".

Actual Results:  
Umbrello crash.

Expected Results:  
View the entity relationship diagram.

Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#6  operator QGraphicsScene* (this=<error reading variable: Cannot access memory at address 0x8>) at ../../src/corelib/kernel/qpointer.h:78
#7  QGraphicsView::scene (this=this@entry=0x0) at graphicsview/qgraphicsview.cpp:1592
#8  0x00000000006f1b15 in UMLView::umlScene (this=this@entry=0x0) at /usr/src/debug/umbrello-4.13.3/umbrello/umlview.cpp:60
#9  0x00000000004a28b0 in UMLClipboard::copy (this=this@entry=0x7fff11d82120, fromView=fromView@entry=false) at /usr/src/debug/umbrello-4.13.3/umbrello/clipboard/umlclipboard.cpp:117
#10 0x00000000006cab26 in UMLListView::mouseMoveEvent (this=0x15cf9e0, me=<optimized out>) at /usr/src/debug/umbrello-4.13.3/umbrello/umllistview.cpp:254
#11 0x00007f9cd7ed5c96 in QWidget::event (this=this@entry=0x15cf9e0, event=event@entry=0x7fff11d828f0) at kernel/qwidget.cpp:8374
#12 0x00007f9cd828c44e in QFrame::event (this=0x15cf9e0, e=0x7fff11d828f0) at widgets/qframe.cpp:557
#13 0x00007f9cd83a8ca3 in QAbstractItemView::viewportEvent (this=this@entry=0x15cf9e0, event=event@entry=0x7fff11d828f0) at itemviews/qabstractitemview.cpp:1644
#14 0x00007f9cd83e9b90 in QTreeView::viewportEvent (this=0x15cf9e0, event=0x7fff11d828f0) at itemviews/qtreeview.cpp:1252
#15 0x00007f9cd8d3ca66 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x15cfc30, event=0x7fff11d828f0) at kernel/qcoreapplication.cpp:1063
#16 0x00007f9cd7e82e3c in QApplicationPrivate::notify_helper (this=0x1183890, receiver=0x15cfc30, e=0x7fff11d828f0) at kernel/qapplication.cpp:4561
#17 0x00007f9cd7e898f1 in QApplication::notify (this=this@entry=0x7fff11d83150, receiver=receiver@entry=0x15cfc30, e=e@entry=0x7fff11d828f0) at kernel/qapplication.cpp:4108
#18 0x00007f9cd9ca859a in KApplication::notify (this=0x7fff11d83150, receiver=0x15cfc30, event=0x7fff11d828f0) at /usr/src/debug/kdelibs-4.13.3/kdeui/kernel/kapplication.cpp:311
#19 0x00007f9cd8d3c8fd in QCoreApplication::notifyInternal (this=0x7fff11d83150, receiver=0x15cfc30, event=0x7fff11d828f0) at kernel/qcoreapplication.cpp:953
#20 0x00007f9cd7e89067 in QApplicationPrivate::sendMouseEvent (receiver=0x15cfc30, event=0x7fff11d828f0, alienWidget=0x15cfc30, nativeWidget=0x15bee00, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:231
#21 0x00007f9cd7efe63b in QETWidget::translateMouseEvent (this=0x15bee00, event=<optimized out>) at kernel/qapplication_x11.cpp:4540
#22 0x00007f9cd7efd0ac in QApplication::x11ProcessEvent (this=0x7fff11d83150, event=event@entry=0x7fff11d82c60) at kernel/qapplication_x11.cpp:3663
#23 0x00007f9cd7f24ac4 in x11EventSourceDispatch (s=s@entry=0x117d130, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#24 0x00007f9cd20ba2a6 in g_main_dispatch (context=0x1184710) at gmain.c:3066
#25 g_main_context_dispatch (context=context@entry=0x1184710) at gmain.c:3642
#26 0x00007f9cd20ba628 in g_main_context_iterate (context=context@entry=0x1184710, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
#27 0x00007f9cd20ba6dc in g_main_context_iteration (context=0x1184710, may_block=1) at gmain.c:3774
#28 0x00007f9cd8d6b41e in QEventDispatcherGlib::processEvents (this=0x1145a40, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#29 0x00007f9cd7f24c46 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#30 0x00007f9cd8d3b38f in QEventLoop::processEvents (this=this@entry=0x7fff11d83050, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007f9cd8d3b6dd in QEventLoop::exec (this=this@entry=0x7fff11d83050, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007f9cd8d40da9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#33 0x00007f9cd7e814dc in QApplication::exec () at kernel/qapplication.cpp:3823
#34 0x000000000043a7ca in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/umbrello-4.13.3/umbrello/main.cpp:123
Comment 1 Gabriela Serventi 2014-09-10 16:27:55 UTC
The actual version is:

Umbrello UML Modeller
Version 2.13.3
Using KDE Development Platform 4.13.3
Comment 2 Oliver Kellogg 2014-09-10 19:53:35 UTC
(In reply to Gabriela Serventi from comment #0)
> I saved a xmi file with only an entity-relationship diagram. I closed
> Umbrello. I opened again the xmi file and I double clicked on the name of my
> diagram, in the Tree View under "Entity Relationship Model". The diagram
> doesn't opened and Umbrello crashed

Very interesting. I followed your steps but could not reproduce the crash.
However, the backtrace tells a different story:
Somehow Umbrello thinks you are _moving_ the diagram in the list view, not 
double clicking on it.
Maybe it has to do with the way you double click.
Have you tried pressing right mouse button -> Properties on the ERD instead 
of double clicking?
Comment 3 Oliver Kellogg 2014-09-10 19:59:22 UTC
Git commit 286493f59c9539083781612027587740f6f8902d by Oliver Kellogg.
Committed on 10/09/2014 at 20:00.
Pushed by okellogg into branch 'master'.

(In reply to Oliver Kellogg from comment #2)
> [...]
> However, the backtrace tells a different story:
> Somehow Umbrello thinks you are _moving_ the diagram in the list view, not
> double clicking on it.

Here is the fix for the crash in this case:

umbrello/clipboard/umlclipboard.cpp
- In function checkItemForCopyType() case Model_Utils::typeIsDiagram(type),
  check return value from doc->findView(item->ID()) against NULL prior to
  insertion into m_ViewList.

M  +6    -3    umbrello/clipboard/umlclipboard.cpp

http://commits.kde.org/umbrello/286493f59c9539083781612027587740f6f8902d
Comment 4 Oliver Kellogg 2014-09-10 20:11:09 UTC
Git commit 2537f92573a0c85dea38a588152a5cff6cba33b7 by Oliver Kellogg.
Committed on 10/09/2014 at 20:10.
Pushed by okellogg into branch 'KDE/4.14'.

Merge master@286493f into KDE/4.14
Related: bug 338980
FIXED-IN:4.14.1
FIXED-IN:4.14.1


http://commits.kde.org/umbrello/2537f92573a0c85dea38a588152a5cff6cba33b7
Comment 5 Gabriela Serventi 2014-09-10 20:18:08 UTC
ok, I think that I upload the wrong trace.
If I press the right mouse button -> Properties on the ERD, nothing happens, the diagram doesn't opened. This is what happened when I try to open the ERD that I saved previously. If I create a new ERD on the same file, there's no problem, I can opened it normally.
But, the first ERD is completely unusable. For example, if I press right mouse button -> Export as Picture on the ERD, Umbrello crash again with this backtrace:

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

Thread 3 (Thread 0xac0b7b40 (LWP 2561)):
#0  0xb776ab1c in __kernel_vsyscall ()
#1  0x49afe69b in read () from /lib/libpthread.so.0
#2  0x49ccc106 in g_wakeup_acknowledge () from /lib/libglib-2.0.so.0
#3  0x49c8734b in g_main_context_check () from /lib/libglib-2.0.so.0
#4  0x49c87822 in g_main_context_iterate.isra () from /lib/libglib-2.0.so.0
#5  0x49c87dc3 in g_main_loop_run () from /lib/libglib-2.0.so.0
#6  0xb6ef4acb in gdbus_shared_thread_func () from /lib/libgio-2.0.so.0
#7  0x49caeebb in g_thread_proxy () from /lib/libglib-2.0.so.0
#8  0x49af7d7c in start_thread () from /lib/libpthread.so.0
#9  0x49a287ce in clone () from /lib/libc.so.6

Thread 2 (Thread 0xaacffb40 (LWP 2574)):
#0  0xb776ab1c in __kernel_vsyscall ()
#1  0x49a1c1bb in poll () from /lib/libc.so.6
#2  0x49c96f9c in g_poll () from /lib/libglib-2.0.so.0
#3  0x49c878a0 in g_main_context_iterate.isra () from /lib/libglib-2.0.so.0
#4  0x49c879e9 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x4abc2dcf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#6  0x4ab8fac0 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#7  0x4ab8fe51 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#8  0x4aa710d5 in QThread::exec() () from /lib/libQtCore.so.4
#9  0x4ab6e961 in QInotifyFileSystemWatcherEngine::run() () from /lib/libQtCore.so.4
#10 0x4aa73bdb in QThreadPrivate::start(void*) () from /lib/libQtCore.so.4
#11 0x49af7d7c in start_thread () from /lib/libpthread.so.0
#12 0x49a287ce in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb77387c0 (LWP 2558)):
[KCrash Handler]
#6  0x4bc134c4 in QGraphicsView::scene() const () from /lib/libQtGui.so.4
#7  0x08333d72 in UMLListView::slotMenuSelection(QAction*) ()
#8  0x08334c10 in UMLListView::contextMenuEvent(QContextMenuEvent*) ()
#9  0x4b58c337 in QWidget::event(QEvent*) () from /lib/libQtGui.so.4
#10 0x4b9b6ffd in QFrame::event(QEvent*) () from /lib/libQtGui.so.4
#11 0x4ba4df20 in QAbstractScrollArea::viewportEvent(QEvent*) () from /lib/libQtGui.so.4
#12 0x4bafaf5c in QAbstractItemView::viewportEvent(QEvent*) () from /lib/libQtGui.so.4
#13 0x4bb43e12 in QTreeView::viewportEvent(QEvent*) () from /lib/libQtGui.so.4
#14 0x4ba4e1c6 in QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) () from /lib/libQtGui.so.4
#15 0x4ab9139e in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/libQtCore.so.4
#16 0x4b52db52 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/libQtGui.so.4
#17 0x4b536309 in QApplication::notify(QObject*, QEvent*) () from /lib/libQtGui.so.4
#18 0x4c2cca30 in KApplication::notify(QObject*, QEvent*) () from /lib/libkdeui.so.5
#19 0x4ab91226 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib/libQtCore.so.4
#20 0x4b5b9d4d in QETWidget::translateMouseEvent(_XEvent const*) () from /lib/libQtGui.so.4
#21 0x4b5b83a3 in QApplication::x11ProcessEvent(_XEvent*) () from /lib/libQtGui.so.4
#22 0x4b5e409b in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib/libQtGui.so.4
#23 0x49c87556 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#24 0x49c87920 in g_main_context_iterate.isra () from /lib/libglib-2.0.so.0
#25 0x49c879e9 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#26 0x4abc2da4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#27 0x4b5e425c in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtGui.so.4
#28 0x4ab8fac0 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#29 0x4ab8fe51 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#30 0x4ab95c7b in QCoreApplication::exec() () from /lib/libQtCore.so.4
#31 0x4b52be95 in QApplication::exec() () from /lib/libQtGui.so.4
#32 0x08078f08 in main ()


And If I press right mouse button ->  Duplicate on the ERD, Umbrello crash again with this backtrace:

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

Thread 3 (Thread 0xac086b40 (LWP 3191)):
#0  0xb772fb1c in __kernel_vsyscall ()
#1  0x49a1c1bb in poll () from /lib/libc.so.6
#2  0x49c96f9c in g_poll () from /lib/libglib-2.0.so.0
#3  0x49c878a0 in g_main_context_iterate.isra () from /lib/libglib-2.0.so.0
#4  0x49c87dc3 in g_main_loop_run () from /lib/libglib-2.0.so.0
#5  0xb6eb9acb in gdbus_shared_thread_func () from /lib/libgio-2.0.so.0
#6  0x49caeebb in g_thread_proxy () from /lib/libglib-2.0.so.0
#7  0x49af7d7c in start_thread () from /lib/libpthread.so.0
#8  0x49a287ce in clone () from /lib/libc.so.6

Thread 2 (Thread 0xab35ab40 (LWP 3192)):
#0  0xb772fb1c in __kernel_vsyscall ()
#1  0x49a1c1bb in poll () from /lib/libc.so.6
#2  0x49c96f9c in g_poll () from /lib/libglib-2.0.so.0
#3  0x49c878a0 in g_main_context_iterate.isra () from /lib/libglib-2.0.so.0
#4  0x49c879e9 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x4abc2dcf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#6  0x4ab8fac0 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#7  0x4ab8fe51 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#8  0x4aa710d5 in QThread::exec() () from /lib/libQtCore.so.4
#9  0x4ab6e961 in QInotifyFileSystemWatcherEngine::run() () from /lib/libQtCore.so.4
#10 0x4aa73bdb in QThreadPrivate::start(void*) () from /lib/libQtCore.so.4
#11 0x49af7d7c in start_thread () from /lib/libpthread.so.0
#12 0x49a287ce in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb76fd7c0 (LWP 3188)):
[KCrash Handler]
#6  0x4bc134c4 in QGraphicsView::scene() const () from /lib/libQtGui.so.4
#7  0x080e99cd in UMLClipboard::copy(bool) ()
#8  0x08313625 in UMLApp::editCutCopy(bool) ()
#9  0x08313869 in UMLApp::slotEditCopy() ()
#10 0x08333b7d in UMLListView::slotMenuSelection(QAction*) ()
#11 0x08334c10 in UMLListView::contextMenuEvent(QContextMenuEvent*) ()
#12 0x4b58c337 in QWidget::event(QEvent*) () from /lib/libQtGui.so.4
#13 0x4b9b6ffd in QFrame::event(QEvent*) () from /lib/libQtGui.so.4
#14 0x4ba4df20 in QAbstractScrollArea::viewportEvent(QEvent*) () from /lib/libQtGui.so.4
#15 0x4bafaf5c in QAbstractItemView::viewportEvent(QEvent*) () from /lib/libQtGui.so.4
#16 0x4bb43e12 in QTreeView::viewportEvent(QEvent*) () from /lib/libQtGui.so.4
#17 0x4ba4e1c6 in QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) () from /lib/libQtGui.so.4
#18 0x4ab9139e in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/libQtCore.so.4
#19 0x4b52db52 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/libQtGui.so.4
#20 0x4b536309 in QApplication::notify(QObject*, QEvent*) () from /lib/libQtGui.so.4
#21 0x4c2cca30 in KApplication::notify(QObject*, QEvent*) () from /lib/libkdeui.so.5
#22 0x4ab91226 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib/libQtCore.so.4
#23 0x4b5b9d4d in QETWidget::translateMouseEvent(_XEvent const*) () from /lib/libQtGui.so.4
#24 0x4b5b83a3 in QApplication::x11ProcessEvent(_XEvent*) () from /lib/libQtGui.so.4
#25 0x4b5e409b in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib/libQtGui.so.4
#26 0x49c87556 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#27 0x49c87920 in g_main_context_iterate.isra () from /lib/libglib-2.0.so.0
#28 0x49c879e9 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#29 0x4abc2da4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#30 0x4b5e425c in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtGui.so.4
#31 0x4ab8fac0 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#32 0x4ab8fe51 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/libQtCore.so.4
#33 0x4ab95c7b in QCoreApplication::exec() () from /lib/libQtCore.so.4
#34 0x4b52be95 in QApplication::exec() () from /lib/libQtGui.so.4
#35 0x08078f08 in main ()
Comment 6 Oliver Kellogg 2014-09-10 21:42:41 UTC
Git commit 518e457ddfaf94ff023bd0e23202b5189ab9bffb by Oliver Kellogg.
Committed on 10/09/2014 at 21:44.
Pushed by okellogg into branch 'master'.

Premise: The following changes are only after-the-fact crash prevention.
The root question of why the ERD is NULL is unclear.

(In reply to Gabriela Serventi from comment #5)
> [...]
> But, the first ERD is completely unusable. For example, if I press right
> mouse button -> Export as Picture on the ERD, Umbrello crash again with this
> backtrace:
> [...]
> Thread 1 (Thread 0xb77387c0 (LWP 2558)):
> [KCrash Handler]
> #6  0x4bc134c4 in QGraphicsView::scene() const () from /lib/libQtGui.so.4
> #7  0x08333d72 in UMLListView::slotMenuSelection(QAction*) ()
> #8  0x08334c10 in UMLListView::contextMenuEvent(QContextMenuEvent*) ()

umbrello/umllistview.cpp function slotMenuSelection()
- In case ListPopupMenu::mt_Export_Image, guard against NULL return value
  from m_doc->findView(), and guard against its umlScene() being NULL.

> [...]
> And If I press right mouse button ->  Duplicate on the ERD, Umbrello crash
> again with this backtrace:
> [...]
> Thread 1 (Thread 0xb76fd7c0 (LWP 3188)):
> [KCrash Handler]
> #6  0x4bc134c4 in QGraphicsView::scene() const () from /lib/libQtGui.so.4
> #7  0x080e99cd in UMLClipboard::copy(bool) ()
> #8  0x08313625 in UMLApp::editCutCopy(bool) ()
> #9  0x08313869 in UMLApp::slotEditCopy() ()
> #10 0x08333b7d in UMLListView::slotMenuSelection(QAction*) ()
> #11 0x08334c10 in UMLListView::contextMenuEvent(QContextMenuEvent*) ()
> #12 0x4b58c337 in QWidget::event(QEvent*) () from /lib/libQtGui.so.4

umbrello/clipboard/umlclipboard.cpp function copy()
- In case fromView==true, guard against UMLApp::app()->currentView() being
  NULL, and also guard against its umlScene() being NULL.

M  +11   -2    umbrello/clipboard/umlclipboard.cpp
M  +14   -1    umbrello/umllistview.cpp

http://commits.kde.org/umbrello/518e457ddfaf94ff023bd0e23202b5189ab9bffb
Comment 7 Oliver Kellogg 2014-09-11 05:07:59 UTC
(In reply to Gabriela Serventi from comment #5)
> ok, I think that I upload the wrong trace.
> If I press the right mouse button -> Properties on the ERD, nothing happens,
> the diagram doesn't open. This is what happened when I try to open the ERD
> that I saved previously. If I create a new ERD on the same file, there's no
> problem, I can open it normally.
> But, the first ERD is completely unusable. For example, if I press right
> mouse button -> Export as Picture on the ERD, Umbrello crash again with this
> backtrace:
> [...]

Please attach the XMI file.
That will help narrowing down whether the problem is in the diagram creation/saving or in the loading.
Comment 8 Oliver Kellogg 2014-09-12 05:26:52 UTC
Git commit 467f3a82d75670047c01a9f2f3e9d65a8fa37c29 by Oliver Kellogg.
Committed on 12/09/2014 at 05:25.
Pushed by okellogg into branch 'master'.

UMLListView::slotDiagramCreated() : Call uError() for case (v == NULL).
This should help narrow down the mysterious NULL ERD.

M  +2    -0    umbrello/umllistview.cpp

http://commits.kde.org/umbrello/467f3a82d75670047c01a9f2f3e9d65a8fa37c29
Comment 9 Gabriela Serventi 2014-09-12 19:38:45 UTC
Created attachment 88680 [details]
der_stage2.xmi

I send you in the attach the XMI file

2014-09-12 2:26 GMT-03:00 Oliver Kellogg <okellogg@users.sourceforge.net>:
> https://bugs.kde.org/show_bug.cgi?id=338983
>
> --- Comment #8 from Oliver Kellogg <okellogg@users.sourceforge.net> ---
> Git commit 467f3a82d75670047c01a9f2f3e9d65a8fa37c29 by Oliver Kellogg.
> Committed on 12/09/2014 at 05:25.
> Pushed by okellogg into branch 'master'.
>
> UMLListView::slotDiagramCreated() : Call uError() for case (v == NULL).
> This should help narrow down the mysterious NULL ERD.
>
> M  +2    -0    umbrello/umllistview.cpp
>
> http://commits.kde.org/umbrello/467f3a82d75670047c01a9f2f3e9d65a8fa37c29
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
> You reported the bug.
Comment 10 Oliver Kellogg 2014-09-12 20:13:47 UTC
(In reply to Gabriela Serventi from comment #9)
> Created attachment 88680 [details]
> der_stage2.xmi
> 
> I send you in the attach the XMI file

Thanks.
Here is what I get:
* Both ERDs "diagrama de relación de entidad" and "DER Etapa 2" are empty
* Double click on "diagrama de relación de entidad" selects the diagram as expected.
  I can drap/drop entities onto the diagram as expected.
* Double click on "DER Etapa 2" does not select this diagram. Instead, error messages appear on the console:
umbrello(9697) UMLListView::mousePressEvent: QMouseEvent on "lvt_EntityRelationship_Diagram"
umbrello(9697) UMLListView::slotItemSelectionChanged: UMLListView selection changed to "DER Etapa 2"
umbrello(9697) UMLDoc::changeCurrentView: id= "SdB5dAEakgEp"
umbrello(9697) UMLDoc::changeCurrentView: New current view was not found with id= "SdB5dAEakgEp" ! 
umbrello(9697) UMLDoc::changeCurrentView: id= "SdB5dAEakgEp"
umbrello(9697) UMLDoc::changeCurrentView: New current view was not found with id= "SdB5dAEakgEp" !
Comment 11 Ralf Habacker 2014-10-27 09:04:42 UTC
Git commit e56318f173096134ef3c5db4d946ac1443c514d4 by Ralf Habacker, on behalf of Oliver Kellogg.
Committed on 12/09/2014 at 05:25.
Pushed by habacker into branch 'master'.

UMLListView::slotDiagramCreated() : Call uError() for case (v == NULL).
This should help narrow down the mysterious NULL ERD.

M  +2    -0    umbrello/umllistview.cpp

http://commits.kde.org/umbrello/e56318f173096134ef3c5db4d946ac1443c514d4
Comment 12 Ralf Habacker 2015-07-16 13:38:59 UTC
> But, the first ERD is completely unusable. For example, if I press right mouse button -> Export as Picture on the ERD, Umbrello crash again

For diagrams in the xmi file there is an entry for the tree view
     <listitem open="0" type="834" id="7MC2Ndm1LXcu" label="diagrama de relación de entidad"/>

and the diagram itself.
       <diagram ....  xmi.id="7MC2Ndm1LXcu" >

The broken diagram has an tree view entry 
     <listitem open="0" type="834" id="SdB5dAEakgEp" label="DER Etapa 2"/>

but no diagram entry, which means the file is corrupted.
Comment 13 Ralf Habacker 2015-09-05 18:54:09 UTC
(In reply to Ralf Habacker from comment #12)
> > But, the first ERD is completely unusable. For example, if I press right mouse button -> Export as Picture on the ERD, Umbrello crash again

Crash has been fixed with 4.14.1 by Oliver's patch.

> The broken diagram has an tree view entry 
>      <listitem open="0" type="834" id="SdB5dAEakgEp" label="DER Etapa 2"/>
> 
> but no diagram entry, which means the file is corrupted.
To fix the file, the related listitem entry could be removed from the xmi file.
Comment 14 Ralf Habacker 2015-09-05 18:54:28 UTC
Git commit 47e173363c610c9c9c36edd0ad1c68a22f49ea57 by Ralf Habacker.
Committed on 05/09/2015 at 18:51.
Pushed by habacker into branch 'Applications/15.08'.

Avoid potiental crash by guarding access to umlScene() in UMLClipboard::copy().

M  +7    -2    umbrello/clipboard/umlclipboard.cpp

http://commits.kde.org/umbrello/47e173363c610c9c9c36edd0ad1c68a22f49ea57
Comment 15 Ralf Habacker 2015-12-16 18:29:58 UTC
Git commit 996f75d3db8c59cf9ffd9b503d0732e0668efb1f by Ralf Habacker.
Committed on 16/12/2015 at 18:15.
Pushed by habacker into branch 'frameworks'.

Avoid potiental crash by guarding access to umlScene() in UMLClipboard::copy().

M  +7    -2    umbrello/clipboard/umlclipboard.cpp

http://commits.kde.org/umbrello/996f75d3db8c59cf9ffd9b503d0732e0668efb1f