Bug 504180 - Dolphin crashes when opening a New Tab
Summary: Dolphin crashes when opening a New Tab
Status: REPORTED
Alias: None
Product: dolphin
Classification: Applications
Component: general (other bugs)
Version First Reported In: 25.04.1
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-13 22:25 UTC by Martín Lucas Golini
Modified: 2025-05-19 05:53 UTC (History)
3 users (show)

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


Attachments
The stack-trace (3.90 KB, text/vnd.kde.kcrash-report)
2025-05-13 22:25 UTC, Martín Lucas Golini
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martín Lucas Golini 2025-05-13 22:25:38 UTC
Created attachment 181261 [details]
The stack-trace

STEPS TO REPRODUCE
1. Open a New Tab with any of the methods (shortcut, menu, etc).
2. That's it.

OBSERVED RESULT
Dolphin Crashes

EXPECTED RESULT
Opened a New Tab

SOFTWARE/OS VERSIONS
Dolphin: 25.04.1 
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.13.0
Qt Version: 6.9.0

ADDITIONAL INFORMATION
Crash I a `nullptr` exception, fix is trivial (I applied a local patch and just checking for `m_view` not being a `nullptr` in `DolphinViewContainer::showMessage` it's enough. Sorry for not collaborating directly but I know nothing about KDE/Plasma development.

Tentative patch:
```
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp
index ee4bb6e4c..9ea049c04 100644
--- a/src/dolphinviewcontainer.cpp
+++ b/src/dolphinviewcontainer.cpp
@@ -514,7 +514,7 @@ void DolphinViewContainer::showMessage(const QString &message, KMessageWidget::M
     m_messageWidget->animatedShow();
 
 #ifndef QT_NO_ACCESSIBILITY
-    if (QAccessible::isActive() && isActive()) {
+    if (QAccessible::isActive() && m_view != nullptr && isActive()) {
         // To announce the new message keyboard focus must be moved to the message label. However, we do not have direct access to the label that is internal
         // to the KMessageWidget. Instead we setFocus() on the KMessageWidget and trust that it has set correct focus handling.
         m_messageWidget->setFocus();
```
Comment 1 TraceyC 2025-05-15 23:58:39 UTC
Searchable backtrace

Application: Dolphin (dolphin), signal: Segmentation fault

[KCrash Handler]
#7  DolphinView::isActive (this=0x0) at /usr/src/debug/dolphin-25.04.1/src/views/dolphinview.cpp:282
#8  0x000055bd7dd0efc2 in DolphinViewContainer::isActive (this=0x55bd81348450) at /usr/src/debug/dolphin-25.04.1/src/dolphinviewcontainer.cpp:255
#9  DolphinViewContainer::showMessage (this=this@entry=0x55bd81348450, message=..., messageType=messageType@entry=KMessageWidget::Warning, buttonActions=Python Exception <class 'gdb.error'>: value has been optimized out
) at /usr/src/debug/dolphin-25.04.1/src/dolphinviewcontainer.cpp:473
#10 0x000055bd7dd1445e in DolphinViewContainer::DolphinViewContainer (this=0x55bd81348450, url=..., parent=<optimized out>, this=<optimized out>, url=<optimized out>, parent=<optimized out>) at /usr/src/debug/dolphin-25.04.1/src/dolphinviewcontainer.cpp:118
#11 0x000055bd7dd1f12f in DolphinTabPage::createViewContainer (this=this@entry=0x55bd815ba990, url=...) at /usr/src/debug/dolphin-25.04.1/src/dolphintabpage.cpp:488
#12 0x000055bd7dd22abc in DolphinTabPage::DolphinTabPage (this=0x55bd815ba990, primaryUrl=..., secondaryUrl=..., parent=0x55bd809a7170) at /usr/src/debug/dolphin-25.04.1/src/dolphintabpage.cpp:35
#13 DolphinTabWidget::openNewTab (this=this@entry=0x55bd809a7170, primaryUrl=..., secondaryUrl=..., position=position@entry=DolphinTabWidget::NewTabPosition::FollowSetting) at /usr/src/debug/dolphin-25.04.1/src/dolphintabwidget.cpp:185
#14 0x000055bd7dd2313b in DolphinTabWidget::openNewActivatedTab (this=0x55bd809a7170, primaryUrl=<optimized out>, secondaryUrl=<optimized out>) at /usr/src/debug/dolphin-25.04.1/src/dolphintabwidget.cpp:173
#15 0x000055bd7dd232b7 in DolphinTabWidget::openNewActivatedTab (this=0x55bd809a7170) at /usr/src/debug/dolphin-25.04.1/src/dolphintabwidget.cpp:158
#16 0x000055bd7dce9f2d in DolphinMainWindow::openNewActivatedTab (this=0x55bd80779770) at /usr/src/debug/dolphin-25.04.1/src/dolphinmainwindow.cpp:469
#17 0x00007f16062182a1 in ??? () at /lib64/libQt6Core.so.6
#18 0x00007f1606dc7da6 in QAction::triggered(bool) () at /lib64/libQt6Gui.so.6
#19 0x00007f1606dcd8d9 in QAction::activate(QAction::ActionEvent) () at /lib64/libQt6Gui.so.6
#20 0x00007f1606dcda30 in QAction::event(QEvent*) () at /lib64/libQt6Gui.so.6
#21 0x00007f16073e142a in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt6Widgets.so.6
#22 0x00007f16061b75e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt6Core.so.6
#23 0x00007f1606ddcf14 in QShortcutMap::dispatchEvent(QKeyEvent*) () at /lib64/libQt6Gui.so.6
#24 0x00007f1606ddd5cf in QShortcutMap::tryShortcut(QKeyEvent*) () at /lib64/libQt6Gui.so.6
#25 0x00007f1606a7de9a in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () at /lib64/libQt6Gui.so.6
#26 0x00007f1606a1bafe in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /lib64/libQt6Gui.so.6
#27 0x00007f1606a845dc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Gui.so.6
#28 0x00007f160078e60e in ??? () at /usr/lib64/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6
#29 0x00007f1603709678 in ??? () at /lib64/libglib-2.0.so.0
#30 0x00007f160370b3d8 in ??? () at /lib64/libglib-2.0.so.0
#31 0x00007f160370bbec in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#32 0x00007f160641a013 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#33 0x00007f16061c24db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#34 0x00007f16061baddc in QCoreApplication::exec() () at /lib64/libQt6Core.so.6
#35 0x000055bd7dce7b73 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/dolphin-25.04.1/src/main.cpp:258
[Inferior 1 (process 150680) detached]
Comment 2 TraceyC 2025-05-16 00:02:09 UTC
Thanks for the backtrace and the potential patch. While this is the right place to report the crash, we ask people to submit patches on GitLab. Please see 
Get_Involved/Issue_Reporting#Submit_patches_using_GitLab.2C_not_the_issue_tracker.