Bug 513745 - Dolphin hangs after creating a new directory
Summary: Dolphin hangs after creating a new directory
Status: RESOLVED DUPLICATE of bug 513345
Alias: None
Product: dolphin
Classification: Applications
Component: general (other bugs)
Version First Reported In: 25.12.0
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-23 14:11 UTC by Thomas Moerschell
Modified: 2025-12-23 20:49 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Moerschell 2025-12-23 14:11:53 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY
When the last directory change went up using the keyboard (Alt + up, or depending on the history, Backspace and Alt + left), and no entry is selected (folder or file), creating a directory makes dolphin hang indefinitely.

STEPS TO REPRODUCE
1. Navigate to a directory
2. Go up one step, by pressing Alt + up (not clicking on the access bar)
3. (optional, for further demo): change item focus by using up and down keys, then press Escape or click on an empty area. The last focused item may be a folder or a file (box drawn 
4. Create a new folder (using Ctrl + Shift + N or the menu)

OBSERVED RESULT
Dolphin hangs indefinitely after the folder is created on the filesystem (not shown in the GUI until application restart).

EXPECTED RESULT
Newly created folder is focused

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20251220
KDE Plasma Version: 6.5.4
KDE Frameworks Version: 6.21.0
Qt Version: 6.10.1

ADDITIONAL INFORMATION
GDB backtrace after interrupting during the hang:
```
(gdb) bt
#0  0x00007ffff51b0d20 in QUrl::detach() () at /lib64/libQt6Core.so.6
#1  0x00007ffff51b7f9a in QUrl::adjusted(QUrlTwoFlags<QUrl::UrlFormattingOption, QUrl::ComponentFormattingOption>) const () at /lib64/libQt6Core.so.6
#2  0x00007ffff7f11be3 in DolphinView::observeCreatedDirectory(QUrl const&) () at /lib64/libdolphinprivate.so.6
#3  0x00007ffff5235b20 in ??? () at /lib64/libQt6Core.so.6
#4  0x00007ffff7ef7c6a in DolphinNewFileMenuObserver::directoryCreated(QUrl const&) () at /lib64/libdolphinprivate.so.6
#5  0x00007ffff5235b20 in ??? () at /lib64/libQt6Core.so.6
#6  0x00007ffff7d6d67a in KNewFileMenu::directoryCreated(QUrl const&) () at /lib64/libKF6KIOFileWidgets.so.6
#7  0x00007ffff7d7638e in KNewFileMenu::slotResult(KJob*) () at /lib64/libKF6KIOFileWidgets.so.6
#8  0x00007ffff5235b20 in ??? () at /lib64/libQt6Core.so.6
#9  0x00007ffff6d8cab1 in KJob::result(KJob*, KJob::QPrivateSignal) () at /lib64/libKF6CoreAddons.so.6
#10 0x00007ffff6d91b6b in ??? () at /lib64/libKF6CoreAddons.so.6
#11 0x00007ffff5235b20 in ??? () at /lib64/libQt6Core.so.6
#12 0x00007ffff78d6d45 in ??? () at /lib64/libKF6KIOCore.so.6
#13 0x00007ffff78c6c44 in ??? () at /lib64/libKF6KIOCore.so.6
#14 0x00007ffff78c84a0 in ??? () at /lib64/libKF6KIOCore.so.6
#15 0x00007ffff5235b20 in ??? () at /lib64/libQt6Core.so.6
#16 0x00007ffff52239c4 in QObject::event(QEvent*) () at /lib64/libQt6Core.so.6
#17 0x00007ffff63e7a78 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt6Widgets.so.6
#18 0x00007ffff51ce298 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt6Core.so.6
#19 0x00007ffff51d093a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt6Core.so.6
#20 0x00007ffff548ee07 in ??? () at /lib64/libQt6Core.so.6
#21 0x00007ffff2106b36 in ??? () at /lib64/libglib-2.0.so.0
#22 0x00007ffff2109a28 in ??? () at /lib64/libglib-2.0.so.0
#23 0x00007ffff210a26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#24 0x00007ffff548ca28 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#25 0x00007ffff51dc1ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#26 0x00007ffff51d3183 in QCoreApplication::exec() () at /lib64/libQt6Core.so.6
#27 0x00005555555bcd7b in ??? ()
#28 0x00007ffff482b2fb in __libc_start_call_main () at /lib64/libc.so.6
#29 0x00007ffff482b3cb in __libc_start_main_impl () at /lib64/libc.so.6
#30 0x00005555555bdc25 in ??? ()
```
The application is stuck in the while loop because `parentUrl != m_url` is always true. For some reason, the function is only called in the specific conditions listed above.
Comment 1 Bug Janitor Service 2025-12-23 16:43:34 UTC
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/1130
Comment 2 Thomas Moerschell 2025-12-23 20:49:44 UTC
Found out there already was a bug report for this.

*** This bug has been marked as a duplicate of bug 513345 ***