Bug 504942 - Modify Diagram > Open (Discard) > Birds Eye view crashes with a segfault
Summary: Modify Diagram > Open (Discard) > Birds Eye view crashes with a segfault
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (other bugs)
Version First Reported In: Git
Platform: Other Other
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-29 01:07 UTC by Dillon
Modified: 2025-08-15 11:31 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 25.08.1
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dillon 2025-05-29 01:07:13 UTC
SUMMARY
Deterministic sequence of UI interactions crashes with a segfault

STEPS TO REPRODUCE
1. Modify the diagram (e.g. double click then press ok)
2. Clock open, then discard
3. Close the file browser, then select Birds Eye view in the bottom right
4. Interact with the Birds Eye view tab

VIDEO
https://youtu.be/6txlKg_ffaA

BACKTRACE
Thread 1 "umbrello5" received signal SIGSEGV, Segmentation fault.
0x00007ffff6a67684 in QAbstractScrollArea::viewport() const () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#0  0x00007ffff6a67684 in QAbstractScrollArea::viewport() const () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#1  0x00005555562377ea in BirdView::mouseMoveEvent (this=0x5555573b9bc0, event=0x7fffffffd2d0) at /home/guifuzz/GUIFuzzBenchmarks/fuzzing/umbrello/umbrello/birdview.cpp:150
#2  0x00007ffff69b1258 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007ffff6a653a7 in QFrame::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff696bef5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007ffff69746af in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007ffff5ce8c98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007ffff697252d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff69cbcb7 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff69cf3cf in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff696bef5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff5ce8c98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff614ab87 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#13 0x00007ffff611afac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#14 0x00007ffff10103f6 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#15 0x00007ffff41b7397 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff4217dc7 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff41b68b3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff5d47afd in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff5ce75ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff5cf0286 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x0000555555668071 in main (argc=<optimized out>, argv=<optimized out>) at /home/guifuzz/GUIFuzzBenchmarks/fuzzing/umbrello/umbrello/main.cpp:258
A debugging session is active.

OBSERVED RESULT
Umbrello crashes with a segfault


SOFTWARE/OS VERSIONS
Ubuntu 24.10
Umbrello 25.07.70
Comment 1 Ralf Habacker 2025-08-15 11:29:36 UTC
Git commit 2936d89fc241d18df7d4584c53df7ac0fc63b69e by Ralf Habacker.
Committed on 15/08/2025 at 11:12.
Pushed by habacker into branch 'master'.

Prevent a crash when opening a new file with a modified document is canceled

When closing a document, the bird view is now deleted to avoid accessing
a view that no longer exist.
FIXED-IN:25.08.1

M  +7    -0    umbrello/birdview.cpp
M  +11   -0    umbrello/uml.cpp
M  +2    -0    umbrello/uml.h
M  +3    -0    umbrello/umldoc.cpp

https://invent.kde.org/sdk/umbrello/-/commit/2936d89fc241d18df7d4584c53df7ac0fc63b69e
Comment 2 Ralf Habacker 2025-08-15 11:31:13 UTC
Git commit 07c2fee1bcbd78a3f614d3a8dfedd305e953b6bc by Ralf Habacker.
Committed on 15/08/2025 at 11:30.
Pushed by habacker into branch 'release/25.08'.

Prevent a crash when opening a new file with a modified document is canceled

When closing a document, the bird view is now deleted to avoid accessing
a view that no longer exist.
FIXED-IN:25.08.1

(cherry picked from commit 2936d89fc241d18df7d4584c53df7ac0fc63b69e)

M  +7    -0    umbrello/birdview.cpp
M  +11   -0    umbrello/uml.cpp
M  +2    -0    umbrello/uml.h
M  +3    -0    umbrello/umldoc.cpp

https://invent.kde.org/sdk/umbrello/-/commit/07c2fee1bcbd78a3f614d3a8dfedd305e953b6bc