Bug 443580 - Crashes on cancelling the creation of a new class with the "Creation" tool in sequence diagram
Summary: Crashes on cancelling the creation of a new class with the "Creation" tool in...
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 2.32.0 (KDE releases 20.08.0)
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-10-11 06:20 UTC by bingtimren@gmail.com
Modified: 2022-02-11 20:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.33.80 (KDE releases 22.03.80)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bingtimren@gmail.com 2021-10-11 06:20:41 UTC
SUMMARY


STEPS TO REPRODUCE
1. Create a sequence diagram 
2. Create a new class "new_class" in the sequence diagram
3. Select "Creation" (the dashed arrow line) from toolbar
4. Click on the lifeline of the "new_class" and extend the line to the right, click again, the "New class" dialog pops up, asking the name of the new class
5. Press "ESC", or click "Cancel" or the "close" button to cancel the operation


OBSERVED RESULT

Crashes


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: X11
macOS: 
Linux/KDE Plasma: Ubuntu 20.04.3 LTS
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

I don't know how to find the KDE & QT version information of my system. Ubuntu seems to use Gnome not KDE. Checking the installed packages it seems that KDE Framework 5 & QT 5 are installed but I'm not sure. Also I cannot find the core dump file. Hope you can duplicate the crash on your end. 

console output is as follows:

bing@bing-e480:~/temp$ umbrello
Qt: Session management error: Could not open network socket
Icon theme "Adwaita" not found.
kf.xmlgui: Shortcut for action  "delete_selected" "Delete &Selected" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
kf.xmlgui: Shortcut for action  "move_tab_left" "&Move Tab Left" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
kf.xmlgui: Shortcut for action  "move_tab_right" "&Move Tab Right" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
kf.xmlgui: Shortcut for action  "previous_tab" "Select Diagram on Left" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
kf.xmlgui: Shortcut for action  "next_tab" "Select Diagram on Right" set with QAction::setShortcut()! Use KActionCollection::setDefaultShortcut(s) instead.
QCursor: Cannot create bitmap cursor; invalid bitmap(s)
QCursor: Cannot create bitmap cursor; invalid bitmap(s)
umbrello: searching for "/snap/umbrello/46/usr/bin/../doc/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/bin/../share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/bin/../share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/bin/../share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/home/bing/snap/umbrello/46/.local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/home/bing/snap/umbrello/46/.local/share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/home/bing/snap/umbrello/46/.local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/local/share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/usr/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/kf5/usr/local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/kf5/usr/local/share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/kf5/usr/local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/kf5/usr/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/kf5/usr/share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/snap/umbrello/46/kf5/usr/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/share/ubuntu/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/share/ubuntu/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/share/ubuntu/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/local/share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/local/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/share/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/usr/share/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/var/lib/snapd/desktop/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/var/lib/snapd/desktop/doc/HTML/en_AU/umbrello/apphelp/index.cache.bz2"
umbrello: searching for "/var/lib/snapd/desktop/doc/HTML/en/umbrello/apphelp/index.cache.bz2"
umbrello: CodeGenerator is NULL : Assume UMLPrimitiveTypes
umbrello: "Create UML object : String"  [ 1 ]
umbrello: "Create UML object : Boolean"  [ 2 ]
umbrello: "Create UML object : UnlimitedNatural"  [ 3 ]
umbrello: "Create UML object : Integer"  [ 4 ]
umbrello: "Create UML object : Real"  [ 5 ]
umbrello: view is NULL
umbrello: "folder"  : umlPackage not set on object
umbrello: view is NULL
umbrello: screen dpi: 96 file dpi: 96 scale: 1
umbrello: folder= "Logical View"  / type= "Class"  / name= "class diagram"
umbrello: "class diagram"  to folder  UMLFolder: localName="Logical View", folderFile="", diagrams=0  ( "Logical View" )
umbrello: id= "ukrFhFrax1WNR"
umbrello: setZoom 100
umbrello: could not find  "class diagram"  in  UMLListViewItem: "Logical View", type="lvt_Logical_View", id="Logical_View", children=1
umbrello: Changed view to UMLScene: "class diagram" / type="Class" / id="ukrFhFrax1WNR" / isOpen=true
umbrello: setZoom 100
umbrello: could not find  "class diagram"  in  UMLListViewItem: "Logical View", type="lvt_Logical_View", id="Logical_View", children=1
umbrello: Changed view to UMLScene: "class diagram" / type="Class" / id="ukrFhFrax1WNR" / isOpen=true
umbrello: setZoom 100
umbrello: setZoom 100
umbrello: id= "ukrFhFrax1WNR"
umbrello: setZoom 100
umbrello: Changed view to UMLScene: "class diagram" / type="Class" / id="ukrFhFrax1WNR" / isOpen=true
umbrello: "Create UML object : char"  [ 6 ]
umbrello: "Create UML object : int"  [ 7 ]
umbrello: "Create UML object : float"  [ 8 ]
umbrello: "Create UML object : double"  [ 9 ]
umbrello: "Create UML object : bool"  [ 10 ]
umbrello: "Create UML object : string"  [ 11 ]
umbrello: "Create UML object : unsigned char"  [ 12 ]
umbrello: "Create UML object : signed char"  [ 13 ]
umbrello: "Create UML object : unsigned int"  [ 14 ]
umbrello: "Create UML object : signed int"  [ 15 ]
umbrello: "Create UML object : short int"  [ 16 ]
umbrello: "Create UML object : unsigned short int"  [ 17 ]
umbrello: "Create UML object : signed short int"  [ 18 ]
umbrello: "Create UML object : long int"  [ 19 ]
umbrello: "Create UML object : signed long int"  [ 20 ]
umbrello: "Create UML object : unsigned long int"  [ 21 ]
umbrello: "Create UML object : long double"  [ 22 ]
umbrello: "Create UML object : wchar_t"  [ 23 ]
umbrello: setZoom 100
umbrello: QMouseEvent on "lvt_Datatype_Folder"
umbrello: UMLListView selection changed to "Datatypes"
umbrello: QMouseEvent on "lvt_Class_Diagram"
umbrello: UMLListView selection changed to "class diagram"
umbrello: id= "ukrFhFrax1WNR"
umbrello: setZoom 100
umbrello: Changed view to UMLScene: "class diagram" / type="Class" / id="ukrFhFrax1WNR" / isOpen=true
umbrello: Modified file= "Untitled"
umbrello: id= "ukrFhFrax1WNR"
umbrello: setZoom 100
umbrello: Changed view to UMLScene: "class diagram" / type="Class" / id="ukrFhFrax1WNR" / isOpen=true
umbrello: Modified file= "Untitled"
umbrello: Could not add autolayout entries because graphviz installation has not been found.
umbrello: Object_Factory::createUMLObject( "" ):  parentPkg is not set, assuming Model_Type  "Logical"
qt.xkb.compose: failed to create compose table
umbrello: Could not add autolayout entries because graphviz installation has not been found.
umbrello: Action's data field does not contain ListPopupMenu pointer!
umbrello: unknown ListPopupMenu::MenuType  "mt_Undefined"
umbrello: QMouseEvent on "lvt_Logical_View"
umbrello: UMLListView selection changed to "Logical View"
umbrello: folder= "Logical View"  / type= "Sequence"  / name= "sequence diagram"
umbrello: "sequence diagram"  to folder  UMLFolder: localName="Logical View", folderFile="", diagrams=1  ( "Logical View" )
umbrello: id= "uDJRi9TLSQCG6"
umbrello: setZoom 100
umbrello: could not find  "sequence diagram"  in  UMLListViewItem: "Logical View", type="lvt_Logical_View", id="Logical_View", children=2
umbrello: Changed view to UMLScene: "sequence diagram" / type="Sequence" / id="uDJRi9TLSQCG6" / isOpen=true
umbrello: Modified file= "Untitled"
umbrello: setZoom 100
umbrello: could not find  "sequence diagram"  in  UMLListViewItem: "Logical View", type="lvt_Logical_View", id="Logical_View", children=2
umbrello: Changed view to UMLScene: "sequence diagram" / type="Sequence" / id="uDJRi9TLSQCG6" / isOpen=true
umbrello: setZoom 100
umbrello: setZoom 100
umbrello: setZoom 100
umbrello: setZoom 100
umbrello: Modified file= "Untitled"
umbrello: id= "uDJRi9TLSQCG6"
umbrello: setZoom 100
umbrello: Changed view to UMLScene: "sequence diagram" / type="Sequence" / id="uDJRi9TLSQCG6" / isOpen=true
umbrello: Modified file= "Untitled"
umbrello: "Create diagram Sequence: sequence diagram"  [ 1 ]
umbrello: Modified file= "Untitled"
umbrello: Could not add autolayout entries because graphviz installation has not been found.
umbrello: Object_Factory::createUMLObject( "" ):  parentPkg is not set, assuming Model_Type  "Logical"
umbrello: Could not add autolayout entries because graphviz installation has not been found.
umbrello: Action's data field does not contain ListPopupMenu pointer!
umbrello: unknown ListPopupMenu::MenuType  "mt_Undefined"
umbrello: QMouseEvent on "lvt_Logical_View"
umbrello: UMLListView selection changed to "Logical View"
umbrello: Action's data field does not contain ListPopupMenu pointer!
umbrello: QMouseEvent on "lvt_Sequence_Diagram"
umbrello: UMLListView selection changed to "sequence diagram"
umbrello: id= "uDJRi9TLSQCG6"
umbrello: setZoom 100
umbrello: Changed view to UMLScene: "sequence diagram" / type="Sequence" / id="uDJRi9TLSQCG6" / isOpen=true
umbrello: Modified file= "Untitled"
umbrello: id= "uDJRi9TLSQCG6"
umbrello: setZoom 100
umbrello: Changed view to UMLScene: "sequence diagram" / type="Sequence" / id="uDJRi9TLSQCG6" / isOpen=true
umbrello: Modified file= "Untitled"
umbrello: Could not add autolayout entries because graphviz installation has not been found.
umbrello: Object_Factory::createUMLObject( "" ):  parentPkg is not set, assuming Model_Type  "Logical"
umbrello: "Create UML object : new_class"  [ 2 ]
umbrello: Modified file= "Untitled"
umbrello: Widget_Factory::createWidget( 309 )
ObjectWidget(0x55862fdff570, pos=-462,80, z=2, flags=(ItemIsSelectable))
ObjectWidget(0x55862fdff570, pos=-462,80, z=2, flags=(ItemIsSelectable))
ObjectWidget(0x55862fdff570, pos=-462,80, z=2, flags=(ItemIsSelectable))
ObjectWidget(0x55862fdff570, pos=-462,80, z=2, flags=(ItemIsSelectable))
umbrello: Modified file= "Untitled"
ObjectWidget(0x55862fdff570, pos=-462,80, z=2, flags=(ItemIsSelectable))
ObjectWidget(0x55862fdff570, pos=-462,80, z=2, flags=(ItemIsSelectable))
ObjectWidget(0x55862fdff570, pos=-462,80, z=2, flags=(ItemIsSelectable))
umbrello: "Create widget : new_class"  [ 2 ]
umbrello: Modified file= "Untitled"
umbrello: virtual void ToolBarStateMessages::setCurrentElement() Object detected
umbrello: virtual void ToolBarStateMessages::setCurrentElement() Object NOT detected
umbrello: Object_Factory::createUMLObject( "" ):  parentPkg is not set, assuming Model_Type  "Logical"
umbrello: "Create UML object : new_class_1"  [ 3 ]
umbrello: Modified file= "Untitled"
umbrello: Widget_Factory::createWidget( 309 )
ObjectWidget(0x558630940720, pos=-315,80, z=2, flags=(ItemIsSelectable))
ObjectWidget(0x558630940720, pos=-315,80, z=2, flags=(ItemIsSelectable))
ObjectWidget(0x558630940720, pos=-315,80, z=2, flags=(ItemIsSelectable))
MessageWidget(0x5586307b0740, pos=-420,199, z=2, flags=(ItemIsSelectable))
FloatingTextWidget(0x558630957400, pos=0,0, z=10, flags=(ItemIsSelectable))
FloatingTextWidget(0x558630957400, pos=0,0, z=10, flags=(ItemIsSelectable))
MessageWidget(0x5586307b0740, pos=-420,187, z=2, flags=(ItemIsSelectable))
FloatingTextWidget(0x558630957400, pos=0,0, z=10, flags=(ItemIsSelectable))
umbrello: "" : duplicate entry !
umbrello: "" : duplicate entry !
MessageWidget(0x5586307b0740, pos=-420,187, z=2, flags=(ItemIsSelectable))
umbrello: "Create widget : "  [ 4 ]
umbrello: Modified file= "Untitled"
umbrello: virtual void ToolBarStateMessages::setCurrentElement() Object detected
umbrello: virtual void ToolBarStateMessages::setCurrentElement() Object NOT detected
umbrello: Object_Factory::createUMLObject( "" ):  parentPkg is not set, assuming Model_Type  "Logical"
Segmentation fault (core dumped)
bing@bing-e480:~/temp$
Comment 1 Oliver Kellogg 2022-02-11 20:50:05 UTC
Git commit f2c182d21684c0be6241916155f48bcbc64f2d8a by Oliver Kellogg.
Committed on 11/02/2022 at 20:48.
Pushed by okellogg into branch 'master'.

Fix 'Crashes on cancelling the creation of a new class with the "Creation" tool in sequence diagram'

umbrello/toolbarstatemessages.cpp
- In function mouseReleaseEmpty test return value from
  Object_Factory::createUMLObject() to be non null.
  If null then do not call Widget_Factory::createWidget and its follow-
  on operations.

umbrello/object_factory.cpp
- At function createUMLObject document the fact that the function may
  return nullptr.
FIXED-IN:2.33.80 (KDE releases 22.03.80)

M  +2    -0    umbrello/object_factory.cpp
M  +13   -9    umbrello/toolbarstatemessages.cpp

https://invent.kde.org/sdk/umbrello/commit/f2c182d21684c0be6241916155f48bcbc64f2d8a