Bug 429978 - Crash when moving class box
Summary: Crash when moving class box
Status: REPORTED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 2.30.3 (KDE releases 19.12.3)
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
: 429976 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-12-03 15:07 UTC by artem-werner
Modified: 2022-12-27 18:23 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
gdb trace (2.86 MB, text/plain)
2020-12-03 15:10 UTC, artem-werner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description artem-werner 2020-12-03 15:07:41 UTC
SUMMARY
I got a crash when moving a class box around the diagram.

STEPS TO REPRODUCE
1. Import python code using "Code Importing Wizard". Importing was successful.
2. Import some classes from a tree view.
3. A start positioning by move classes around the diagram.
4. "Show Grid" and "Snap to Grid" were enabled.

OBSERVED RESULT
Got a segmentation fault. Seems like a memory leak.

EXPECTED RESULT
Class box is positioning without crash.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 5.18.5
(available in About System)
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8

ADDITIONAL INFORMATION
Comment 1 artem-werner 2020-12-03 15:10:52 UTC
Created attachment 133838 [details]
gdb trace
Comment 2 Ralf Habacker 2020-12-03 15:25:19 UTC
(In reply to artem-werner from comment #1)
> Created attachment 133838 [details]
> gdb trace

From the back trace it looks to be a stack overflow caused by an endless loop inside Qt.
...
#56633 0x00007ffff58e8289 in QGraphicsScene::sceneRectChanged(QRectF const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56634 0x00005555558f8b77 in  ()
#56635 0x000055555587a75c in  ()
#56636 0x00005555558bb434 in  ()
#56637 0x00007ffff5902101 in QGraphicsScene::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56638 0x00007ffff55c5a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56639 0x00007ffff55cf0f0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56640 0x00007ffff4b0093a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#56641 0x00007ffff591d7eb in QGraphicsViewPrivate::mouseMoveEventHandler(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56642 0x00007ffff591dd0a in QGraphicsView::scrollContentsBy(int, int) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56643 0x00007ffff56b828a in QAbstractScrollAreaPrivate::_q_hslide(int) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56644 0x00007ffff4b2c300 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#56645 0x00007ffff56bd952 in QAbstractSlider::valueChanged(int) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56646 0x00007ffff56be00a in QAbstractSlider::setValue(int) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56647 0x00007ffff5916989 in QGraphicsViewPrivate::recalculateContentSize() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56648 0x00007ffff591ced2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56649 0x00007ffff4b2c300 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#56650 0x00007ffff58e8289 in QGraphicsScene::sceneRectChanged(QRectF const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
Comment 3 Oliver Kellogg 2020-12-22 19:53:19 UTC
Did you have debug symbols installed for Umbrello?
I ask because of the recurring three unidentified lines in the cycle, e.g.

#56634 0x00005555558f8b77 in  ()
#56635 0x000055555587a75c in  ()
#56636 0x00005555558bb434 in  ()

If those frames are within Umbrello then it would be helpful to know which source locations they are.
Comment 4 Oliver Kellogg 2022-12-27 18:23:58 UTC
*** Bug 429976 has been marked as a duplicate of this bug. ***