Bug 437501 - Dolphin crashes when encountering a tag containing just a single slash
Summary: Dolphin crashes when encountering a tag containing just a single slash
Status: REOPENED
Alias: None
Product: baloo-widgets
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: yushuoqi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-22 12:50 UTC by tagwerk19
Modified: 2025-11-09 19:14 UTC (History)
4 users (show)

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


Attachments
Dolphin crashdump after meeting single "/" tag (13.60 KB, text/plain)
2021-05-22 12:50 UTC, tagwerk19
Details
Dolphin crashdump after meeting single "/" tag (2025-11-09) (7.90 KB, text/plain)
2025-11-09 19:14 UTC, tagwerk19
Details

Note You need to log in before you can comment on or make changes to this bug.
Description tagwerk19 2021-05-22 12:50:10 UTC
Created attachment 138684 [details]
Dolphin crashdump after meeting single "/" tag

SUMMARY:

    Dolphin crashes when encountering a tag containing just a single slash

STEPS TO REPRODUCE:

    Create a testfile and create, with Assign Tags, a tag with just "/"
    in it. Confirm the tag has been written "as given" with getfattr:

        getfattr -d testfile.txt

        # file: testfile.txt
        user.xdg.tags="/"

    Enable the Information Panel (with F11) and move to highlight
    the file...

OBSERVED RESULTS

    Dolphin crashes

    ... Hopefully with a usable crashdump (attached)

EXPECTED RESULTS

    "Assign Tag" should not accept a single "/" as a tag if typed in. The
    Information Panel "edit tag" seems to do this.

    The Information Panel should also be proof against weird tags as it
    might meet just *anything*

SOFTWARE/OS VERSIONS

    Checked on Neon Unstable...
    Plasma: 5.22.80
    Frameworks: 5.83.0
    Qt: 5.15.2

ADDITIONAL INFORMATION

    If you restart Dolphin it tries to restore its state - and crashes
    again immediately.

    There are other instances, less dramatic, cf: Bug 433990 and Bug 437494

    [Hunting for source of Bug 437176]
Comment 1 reports_go_brrr 2024-09-17 17:00:21 UTC
Able to reproduce this.
It crashes only when "Information Panel" (F11) is opened and file with "/" tag is selected or shown in the panel.

Operating System: Arch Linux
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.10.7-arch1-1 (64-bit)
Graphics Platform: Wayland

Terminal gives me:
KCrash: Application 'dolphin' crashing... crashRecursionCounter = 2
fish: Job 1, 'dolphin' terminated by signal SIGSEGV (Address boundary error)

DEBUG INFO BELOW:
           PID: 8987 (dolphin)
           UID: 1000 (user)
           GID: 987 (users)
        Signal: 11 (SEGV)
     Timestamp: Tue 2024-09-17 16:55:23 UTC (10s ago)
  Command Line: dolphin
    Executable: /usr/bin/dolphin
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.kde.konsole@4ce661d46c37491cbf1dc68d55cd6bfd.service
          Unit: user@1000.service
     User Unit: app-org.kde.konsole@4ce661d46c37491cbf1dc68d55cd6bfd.service
         Slice: user-1000.slice
     Owner UID: 1000 (user)
       Boot ID: c38f0d017ed749f898654a7b3bbfb1de
    Machine ID: 24156967181b4b6a9b04902cfa7b2008
      Hostname: Work-PC
       Storage: /var/lib/systemd/coredump/core.dolphin.1000.c38f0d017ed749f898654a7b3bbfb1de.8987.1726592123000000.zst (present)
  Size on Disk: 7M
       Message: Process 8987 (dolphin) of user 1000 dumped core.
                
                Stack trace of thread 8987:
                #0  0x000072b2556a53f4 n/a (libc.so.6 + 0x963f4)
                #1  0x000072b25564c120 raise (libc.so.6 + 0x3d120)
                #2  0x000072b25735c711 _ZN6KCrash19defaultCrashHandlerEi (libKF6Crash.so.6 + 0x6711)
                #3  0x000072b25564c1d0 n/a (libc.so.6 + 0x3d1d0)
                #4  0x000072b2574ec4a4 n/a (libKF6BalooWidgets.so.6 + 0x124a4)
                #5  0x000072b25750939d n/a (libKF6BalooWidgets.so.6 + 0x2f39d)
                #6  0x000072b257503c6c n/a (libKF6BalooWidgets.so.6 + 0x29c6c)
                #7  0x000072b2551a3397 n/a (libQt6Core.so.6 + 0x1a3397)
                #8  0x000072b2574f2e65 n/a (libKF6BalooWidgets.so.6 + 0x18e65)
                #9  0x000072b2551a3397 n/a (libQt6Core.so.6 + 0x1a3397)
                #10 0x000072b256ef3784 _ZN4KJob8finishedEPS_NS_14QPrivateSignalE (libKF6CoreAddons.so.6 + 0x67784)
                #11 0x000072b256efb026 n/a (libKF6CoreAddons.so.6 + 0x6f026)
                #12 0x000072b25518d89f _ZN7QObject5eventEP6QEvent (libQt6Core.so.6 + 0x18d89f)
                #13 0x000072b2562fc8cc _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfc8cc)
                #14 0x000072b255145aa8 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x145aa8)
                #15 0x000072b255145e6b _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt6Core.so.6 + 0x145e6b)
                #16 0x000072b2553aa00c n/a (libQt6Core.so.6 + 0x3aa00c)
                #17 0x000072b25230e299 n/a (libglib-2.0.so.0 + 0x5d299)
                #18 0x000072b252370ec7 n/a (libglib-2.0.so.0 + 0xbfec7)
                #19 0x000072b25230d795 g_main_context_iteration (libglib-2.0.so.0 + 0x5c795)
                #20 0x000072b2553a82bd _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3a82bd)
                #21 0x000072b25514ff66 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x14ff66)
                #22 0x000072b25514a11d _ZN16QCoreApplication4execEv (libQt6Core.so.6 + 0x14a11d)
                #23 0x0000617b7d06d5a4 n/a (dolphin + 0x475a4)
                #24 0x000072b255634e08 n/a (libc.so.6 + 0x25e08)
                #25 0x000072b255634ecc __libc_start_main (libc.so.6 + 0x25ecc)
                #26 0x0000617b7d06ebe5 n/a (dolphin + 0x48be5)
                
                Stack trace of thread 8990:
                #0  0x000072b25571a63d __poll (libc.so.6 + 0x10b63d)
                #1  0x000072b251711257 n/a (libQt6WaylandClient.so.6 + 0x60257)
                #2  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #3  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #4  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 9000:
                #0  0x000072b25571abb0 ppoll (libc.so.6 + 0x10bbb0)
                #1  0x000072b2552bccb3 _Z12qt_safe_pollP6pollfdm14QDeadlineTimer (libQt6Core.so.6 + 0x2bccb3)
                #2  0x000072b254557e73 n/a (libQt6Network.so.6 + 0x11ce73)
                #3  0x000072b2544ddc39 n/a (libQt6Network.so.6 + 0xa2c39)
                #4  0x000072b2544dac5e _ZN15QAbstractSocket16waitForReadyReadEi (libQt6Network.so.6 + 0x9fc5e)
                #5  0x000072b2573a0e9a n/a (libKF6KIOCore.so.6 + 0x3de9a)
                #6  0x000072b2574898fd n/a (libKF6KIOCore.so.6 + 0x1268fd)
                #7  0x000072b257465524 n/a (libKF6KIOCore.so.6 + 0x102524)
                #8  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #9  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #10 0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 9003:
                #0  0x000072b25569fa19 n/a (libc.so.6 + 0x90a19)
                #1  0x000072b2556a27e2 pthread_cond_timedwait (libc.so.6 + 0x937e2)
                #2  0x000072b2552d1bf8 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2d1bf8)
                #3  0x000072b2552cb852 n/a (libQt6Core.so.6 + 0x2cb852)
                #4  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #5  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #6  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 8994:
                #0  0x000072b25569fa19 n/a (libc.so.6 + 0x90a19)
                #1  0x000072b2556a27e2 pthread_cond_timedwait (libc.so.6 + 0x937e2)
                #2  0x000072b2552d1bf8 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2d1bf8)
                #3  0x000072b2552cb852 n/a (libQt6Core.so.6 + 0x2cb852)
                #4  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #5  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #6  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 8996:
                #0  0x000072b25571a63d __poll (libc.so.6 + 0x10b63d)
                #1  0x000072b252370e0d n/a (libglib-2.0.so.0 + 0xbfe0d)
                #2  0x000072b25230d795 g_main_context_iteration (libglib-2.0.so.0 + 0x5c795)
                #3  0x000072b2553a82bd _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3a82bd)
                #4  0x000072b25514ff66 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x14ff66)
                #5  0x000072b25523d7a0 _ZN7QThread3runEv (libQt6Core.so.6 + 0x23d7a0)
                #6  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #7  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #8  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 8988:
                #0  0x000072b25571a63d __poll (libc.so.6 + 0x10b63d)
                #1  0x000072b252370e0d n/a (libglib-2.0.so.0 + 0xbfe0d)
                #2  0x000072b25230d795 g_main_context_iteration (libglib-2.0.so.0 + 0x5c795)
                #3  0x000072b2553a82bd _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3a82bd)
                #4  0x000072b25514ff66 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x14ff66)
                #5  0x000072b25523d650 _ZN7QThread4execEv (libQt6Core.so.6 + 0x23d650)
                #6  0x000072b256a4ff0e n/a (libQt6DBus.so.6 + 0x2df0e)
                #7  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #8  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #9  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 8989:
                #0  0x000072b25569fa19 n/a (libc.so.6 + 0x90a19)
                #1  0x000072b2556a2479 pthread_cond_wait (libc.so.6 + 0x93479)
                #2  0x000072b2552d1c60 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2d1c60)
                #3  0x000072b2517111ef n/a (libQt6WaylandClient.so.6 + 0x601ef)
                #4  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #5  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #6  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 9010:
                #0  0x000072b25571abb0 ppoll (libc.so.6 + 0x10bbb0)
                #1  0x000072b2552bccb3 _Z12qt_safe_pollP6pollfdm14QDeadlineTimer (libQt6Core.so.6 + 0x2bccb3)
                #2  0x000072b254557e73 n/a (libQt6Network.so.6 + 0x11ce73)
                #3  0x000072b2544ddc39 n/a (libQt6Network.so.6 + 0xa2c39)
                #4  0x000072b2544dac5e _ZN15QAbstractSocket16waitForReadyReadEi (libQt6Network.so.6 + 0x9fc5e)
                #5  0x000072b2573a0e9a n/a (libKF6KIOCore.so.6 + 0x3de9a)
                #6  0x000072b2574898fd n/a (libKF6KIOCore.so.6 + 0x1268fd)
                #7  0x000072b257465524 n/a (libKF6KIOCore.so.6 + 0x102524)
                #8  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #9  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #10 0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 9014:
                #0  0x000072b25571abb0 ppoll (libc.so.6 + 0x10bbb0)
                #1  0x000072b2552bccb3 _Z12qt_safe_pollP6pollfdm14QDeadlineTimer (libQt6Core.so.6 + 0x2bccb3)
                #2  0x000072b254557e73 n/a (libQt6Network.so.6 + 0x11ce73)
                #3  0x000072b2544ddc39 n/a (libQt6Network.so.6 + 0xa2c39)
                #4  0x000072b2544dac5e _ZN15QAbstractSocket16waitForReadyReadEi (libQt6Network.so.6 + 0x9fc5e)
                #5  0x000072b2573a0e9a n/a (libKF6KIOCore.so.6 + 0x3de9a)
                #6  0x000072b2574898fd n/a (libKF6KIOCore.so.6 + 0x1268fd)
                #7  0x000072b257465524 n/a (libKF6KIOCore.so.6 + 0x102524)
                #8  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #9  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #10 0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 8993:
                #0  0x000072b25569fa19 n/a (libc.so.6 + 0x90a19)
                #1  0x000072b2556a27e2 pthread_cond_timedwait (libc.so.6 + 0x937e2)
                #2  0x000072b2552d1bf8 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2d1bf8)
                #3  0x000072b2552cb852 n/a (libQt6Core.so.6 + 0x2cb852)
                #4  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #5  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #6  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 9007:
                #0  0x000072b25571abb0 ppoll (libc.so.6 + 0x10bbb0)
                #1  0x000072b2552bccb3 _Z12qt_safe_pollP6pollfdm14QDeadlineTimer (libQt6Core.so.6 + 0x2bccb3)
                #2  0x000072b254557e73 n/a (libQt6Network.so.6 + 0x11ce73)
                #3  0x000072b2544ddc39 n/a (libQt6Network.so.6 + 0xa2c39)
                #4  0x000072b2544dac5e _ZN15QAbstractSocket16waitForReadyReadEi (libQt6Network.so.6 + 0x9fc5e)
                #5  0x000072b2573a0e9a n/a (libKF6KIOCore.so.6 + 0x3de9a)
                #6  0x000072b2574898fd n/a (libKF6KIOCore.so.6 + 0x1268fd)
                #7  0x000072b257465524 n/a (libKF6KIOCore.so.6 + 0x102524)
                #8  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #9  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #10 0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 8995:
                #0  0x000072b25569fa19 n/a (libc.so.6 + 0x90a19)
                #1  0x000072b2556a27e2 pthread_cond_timedwait (libc.so.6 + 0x937e2)
                #2  0x000072b2552d1bf8 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2d1bf8)
                #3  0x000072b2552cb852 n/a (libQt6Core.so.6 + 0x2cb852)
                #4  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #5  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #6  0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                
                Stack trace of thread 9013:
                #0  0x000072b25571abb0 ppoll (libc.so.6 + 0x10bbb0)
                #1  0x000072b2552bccb3 _Z12qt_safe_pollP6pollfdm14QDeadlineTimer (libQt6Core.so.6 + 0x2bccb3)
                #2  0x000072b254557e73 n/a (libQt6Network.so.6 + 0x11ce73)
                #3  0x000072b2544ddc39 n/a (libQt6Network.so.6 + 0xa2c39)
                #4  0x000072b2544dac5e _ZN15QAbstractSocket16waitForReadyReadEi (libQt6Network.so.6 + 0x9fc5e)
                #5  0x000072b2573a0e9a n/a (libKF6KIOCore.so.6 + 0x3de9a)
                #6  0x000072b2574898fd n/a (libKF6KIOCore.so.6 + 0x1268fd)
                #7  0x000072b257465524 n/a (libKF6KIOCore.so.6 + 0x102524)
                #8  0x000072b2552cd237 n/a (libQt6Core.so.6 + 0x2cd237)
                #9  0x000072b2556a339d n/a (libc.so.6 + 0x9439d)
                #10 0x000072b25572849c n/a (libc.so.6 + 0x11949c)
                ELF object binary architecture: AMD x86-64
Comment 2 yushuoqi 2025-08-01 02:31:10 UTC
I have reproduced the problem and tried to fix it.
Comment 3 Bug Janitor Service 2025-08-01 10:37:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/libraries/baloo-widgets/-/merge_requests/94
Comment 4 Méven 2025-11-07 12:18:22 UTC
Git commit 985e7d9cdc3270c5f8660657c4c53f51a7a57377 by Méven Car, on behalf of yu shuoqi.
Committed on 07/11/2025 at 10:51.
Pushed by meven into branch 'master'.

TagCheckBox: Handle dolphin crashes when encountering a tag containing slash '/' character

Use KEditTagsDialog so the user can create and select hierarchical tags

FIXED-IN: 25.08

M  +4    -2    src/kedittagsdialog.cpp
M  +3    -1    src/kedittagsdialog_p.h
M  +1    -0    src/tagsfileitemactionplugin/CMakeLists.txt
M  +13   -7    src/tagsfileitemactionplugin/tagsfileitemaction.cpp

https://invent.kde.org/libraries/baloo-widgets/-/commit/985e7d9cdc3270c5f8660657c4c53f51a7a57377
Comment 5 tagwerk19 2025-11-09 10:17:55 UTC
I'm going to reopen this, not because the patch doesn't work but that there are more gaps that need fixing...

Looking at Neon Unstable, leading "/" are ignored when you open the F11, information, panel and add a tag to a file. You can give a "/" as a tag and it is not written to the extended attributes.

It is still possible to add a "/" tag to a file if you use the drop down context menu for the file and click on "Assign Tags > "Create New". You can assign a "/" tag and it will be written the xattr.

If you have a file with a "/" tag, have the F11, information, panel open and move the cursor over the file to highlight it, Dolphin crashes.
Comment 6 tagwerk19 2025-11-09 19:14:43 UTC
Created attachment 186656 [details]
Dolphin crashdump after meeting single "/" tag (2025-11-09)

Crash on Neon Unstable - revisited.