Bug 149357 - crash on saving phonon design.xmi with Advanced Code Generators enabled
Summary: crash on saving phonon design.xmi with Advanced Code Generators enabled
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-29 22:40 UTC by Oliver Kellogg
Modified: 2013-11-06 17:34 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Kellogg 2007-08-29 22:40:55 UTC
Version:           trunk r706272 (using KDE Devel)
Installed from:    Compiled sources

On loading
http://websvn.kde.org/trunk/KDE/kdelibs/phonon/DESIGN/design.xmi?revision=698532&view=markup
Umbrello crashes as follows:

Program received signal SIGSEGV, Segmentation fault.
0x4200ae9d in __dynamic_cast () from /usr/lib/libstdc++.so.5
(gdb) bt  
#0  0x4200ae9d in __dynamic_cast () from /usr/lib/libstdc++.so.5
#1  0x08321e95 in UMLPackage::removeAllObjects (this=0x84b5668) at /home/kellogg/kdesdk/umbrello/umbrello/package.cpp:170
#2  0x0834c3f1 in UMLDoc::closeDocument (this=0x84b54d0) at /home/kellogg/kdesdk/umbrello/umbrello/umldoc.cpp:286
#3  0x0833fd90 in UMLApp::queryExit (this=0x848ccb8) at /home/kellogg/kdesdk/umbrello/umbrello/uml.cpp:832
#4  0x407e7da8 in KMainWindowPrivate::_k_shuttingDown (this=0x848cea0) at /home/kellogg/kdelibs/kdeui/widgets/kmainwindow.cpp:957
#5  0x407e8181 in KMainWindow::qt_metacall (this=0x848ccb8, _c=InvokeMetaMethod, _id=7, _a=0xbfffed38) at kmainwindow.moc:90
#6  0x4081c2bc in KXmlGuiWindow::qt_metacall (this=0x848ccb8, _c=InvokeMetaMethod, _id=38, _a=0xbfffed38) at kxmlguiwindow.moc:92
#7  0x08344871 in UMLApp::qt_metacall (this=0x848ccb8, _c=InvokeMetaMethod, _id=38, _a=0xbfffed38) at uml.moc:214
#8  0x4016a588 in QMetaObject::activate (sender=0xbfffee80, from_signal_index=4, to_signal_index=4, argv=0x0) at qobject.cpp:3063
#9  0x4016a7a2 in QMetaObject::activate (sender=0xbfffee80, m=0x401d9940, local_signal_index=0, argv=0x0) at qobject.cpp:3125
#10 0x4018dd5e in QCoreApplication::aboutToQuit (this=0xbfffee80) at moc_qcoreapplication.cpp:119
#11 0x40156197 in QCoreApplication::exec () at qcoreapplication.cpp:733
#12 0x416b94b5 in QApplication::exec () at qapplication.cpp:3035
#13 0x083094be in main (argc=2, argv=0xbffff0a4) at /home/kellogg/kdesdk/umbrello/umbrello/main.cpp:111
Comment 1 Oliver Kellogg 2007-08-29 22:41:29 UTC
Ralf Habacker found more problems, see
http://sourceforge.net/mailarchive/forum.php?thread_name=46D053B8.3080508%40freenet.de&forum_name=uml-devel
Comment 2 Ralf Habacker 2007-08-29 23:11:54 UTC
I used a local svn checkout of design.xmi. 

May be the following link returning the raw xml file works better in your case http://websvn.kde.org/*checkout*/trunk/KDE/kdelibs/phonon/DESIGN/design.xmi?revision=698532

Ralf 

Comment 3 Oliver Kellogg 2007-08-30 08:59:42 UTC
> I used a local svn checkout of design.xmi.

Yes, actually I also used the URL you gave.
Correction: The backtrace given at comment #1 does not happen loading but on exiting Umbrello after loading the file.

Here is the backtrace on saving:

Program received signal SIGSEGV, Segmentation fault.
0x082cb97f in CodeClassField::setAttributesOnNode (this=0x8e135c0, doc=@0xbfffd7f0, cfElem=@0xbfffd540)
    at /kdesdk/umbrello/umbrello/codeclassfield.cpp:254
254         m_declCodeBlock->saveToXMI(doc, cfElem);
(gdb) bt
#0  0x082cb97f in CodeClassField::setAttributesOnNode (this=0x8e135c0, doc=@0xbfffd7f0, cfElem=@0xbfffd540)
    at /kdesdk/umbrello/umbrello/codeclassfield.cpp:254
#1  0x082cbfcd in CodeClassField::saveToXMI (this=0x8e135c0, doc=@0xbfffd7f0, root=@0xbfffd580)
    at /kdesdk/umbrello/umbrello/codeclassfield.cpp:320
#2  0x082c448f in ClassifierCodeDocument::setAttributesOnNode (this=0x8e13298, doc=@0xbfffd7f0, docElement=@0xbfffd5e0)
    at /kdesdk/umbrello/umbrello/classifiercodedocument.cpp:712
#3  0x082c42f3 in ClassifierCodeDocument::saveToXMI (this=0x8e13298, doc=@0xbfffd7f0, root=@0xbfffd640)
    at /kdesdk/umbrello/umbrello/classifiercodedocument.cpp:677
#4  0x081ff969 in CPPCodeGenerator::saveToXMI (this=0x8db66e8, doc=@0xbfffd7f0, root=@0xbfffd680)
    at /kdesdk/umbrello/umbrello/codegenerators/cppcodegenerator.cpp:172
#5  0x08352a8b in UMLDoc::saveToXMI (this=0x84b5648, file=@0xbfffd850) at /kdesdk/umbrello/umbrello/umldoc.cpp:1329
#6  0x0834e7af in UMLDoc::saveDocument (this=0x84b5648, url=@0xbfffda90) at /kdesdk/umbrello/umbrello/umldoc.cpp:613
#7  0x083407f8 in UMLApp::slotFileSaveAs (this=0x848d040) at /kdesdk/umbrello/umbrello/uml.cpp:946
#8  0x08344942 in UMLApp::qt_metacall (this=0x848d040, _c=InvokeMetaMethod, _id=7, _a=0xbfffe030) at uml.moc:226
#9  0x4016a588 in QMetaObject::activate (sender=0x84b9110, from_signal_index=5, to_signal_index=6, argv=0xbfffe030) at qobject.cpp:3063
#10 0x4016a84b in QMetaObject::activate (sender=0x84b9110, m=0x41cc0900, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfffe030)
    at qobject.cpp:3145
#11 0x416af16e in QAction::triggered (this=0x84b9110, _t1=false) at moc_qaction.cpp:208
#12 0x416ae946 in QAction::activate (this=0x84b9110, event=Trigger) at qaction.cpp:1087
#13 0x41a5e59f in QMenuPrivate::activateAction (this=0x84d3948, action=0x84b9110, action_e=Trigger, self=true) at qmenu.cpp:897
#14 0x41a62157 in QMenu::mouseReleaseEvent (this=0x8518160, e=0xbfffe750) at qmenu.cpp:1974
#15 0x407eacbc in KMenu::mouseReleaseEvent (this=0x8518160, e=0xbfffe750) at /kdelibs/kdeui/widgets/kmenu.cpp:423
#16 0x41704c6c in QWidget::event (this=0x8518160, event=0xbfffe750) at qwidget.cpp:6031
#17 0x41a6268b in QMenu::event (this=0x8518160, e=0xbfffe750) at qmenu.cpp:2063
#18 0x416bb0db in QApplicationPrivate::notify_helper (this=0x84268c0, receiver=0x8518160, e=0xbfffe750) at qapplication.cpp:3538
#19 0x416b9ebf in QApplication::notify (this=0xbfffedf0, receiver=0x8518160, e=0xbfffe750) at qapplication.cpp:3237
#20 0x40745ba2 in KApplication::notify (this=0xbfffedf0, receiver=0x8518160, event=0xbfffe750)
    at /kdelibs/kdeui/kernel/kapplication.cpp:300
#21 0x40155bf9 in QCoreApplication::notifyInternal (this=0xbfffedf0, receiver=0x8518160, event=0xbfffe750) at qcoreapplication.cpp:509
#22 0x40f0b149 in QCoreApplication::sendSpontaneousEvent (receiver=0x8518160, event=0xbfffe750) at qcoreapplication.h:189
#23 0x4171a70c in QETWidget::translateMouseEvent (this=0x8518160, event=0xbfffea60) at qapplication_x11.cpp:3746
#24 0x417182b7 in QApplication::x11ProcessEvent (this=0xbfffedf0, event=0xbfffea60) at qapplication_x11.cpp:2902
#25 0x4174248e in x11EventSourceDispatch (s=0x8428e10, callback=0, user_data=0x0) at qguieventdispatcher_glib.cpp:122
#26 0x4219d967 in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#27 0x4219fce2 in g_main_context_acquire () from /opt/gnome/lib/libglib-2.0.so.0
#28 0x4219fdf3 in g_main_context_iteration () from /opt/gnome/lib/libglib-2.0.so.0
#29 0x4017fca6 in QEventDispatcherGlib::processEvents (this=0x8424438, flags={i = 20}) at qeventdispatcher_glib.cpp:325
#30 0x417429b1 in QGuiEventDispatcherGlib::processEvents (this=0x8424438, flags=Cannot access memory at address 0x1
) at qguieventdispatcher_glib.cpp:178
#31 0x40153bc5 in QEventLoop::processEvents (this=0xbfffed60, flags={i = 20}) at qeventloop.cpp:126
#32 0x40153cb1 in QEventLoop::exec (this=0xbfffed60, flags={i = 0}) at qeventloop.cpp:168
#33 0x40156158 in QCoreApplication::exec () at qcoreapplication.cpp:729
#34 0x416b94b5 in QApplication::exec () at qapplication.cpp:3035
#35 0x083094be in main (argc=2, argv=0xbffff014) at /kdesdk/umbrello/umbrello/main.cpp:111
Comment 4 Oliver Kellogg 2007-08-30 14:56:51 UTC
SVN commit 706449 by okellogg:

newCodeClassField(ClassifierCodeDocument*, UMLRole*): Add missing call to
 CodeClassField::finishInitialization() on the retval.
BUG:149357


 M  +1 -0      ChangeLog.2  
 M  +1 -0      umbrello/codegenerators/codegenfactory.cpp  


--- trunk/KDE/kdesdk/umbrello/ChangeLog.2 #706448:706449
@@ -31,3 +31,4 @@
 * RMB LogicalView->New->Class in treeview creates TWO classes (144537)
 * New code generator for D language
 * Add option for automatic drawing attribute associations in class diagram (147061)
+* Crash on saving phonon design.xmi with Advanced Code Generators enabled (149357)
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/codegenfactory.cpp #706448:706449
@@ -288,6 +288,7 @@
         default:
             break;
     }
+    retval->finishInitialization();
     return retval;
 }
 
Comment 5 Ralf Habacker 2013-11-06 17:34:47 UTC
set version-fixed-in from 4.0.0 changelog