Created attachment 173771 [details] with this file i'm able to reproduce the bug above Dolphin will become unsresponsive when using "extract here" or "extract here and delete archive" when a folder with the name of the archive already exists and the zip file has a specific name and content. I'm not sure if it is because of the long file name or the signs used in the filename. I just created a file that would cause that behaviour and attached it. STEPS TO REPRODUCE 1. Use the file i provide (i placed it under ~/Downloads) 2. Extract the file with "extract here" you now should have a folder called "lol.crash.filename(2024).dolphin(101001)" 3. Now do step 2 again.. Dolphin will become unresponsive and do nothing. OBSERVED RESULT Becomes unresponsive EXPECTED RESULT It should create another folder named like "lol.crash.filename(2024).dolphin(101001) (1)" should be created or ask if files should be overwritten SOFTWARE/OS VERSIONS Operating System: EndeavourOS KDE Plasma Version: 6.1.5 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.2 Kernel Version: 6.10.10-arch1-1 (64-bit) Graphics Platform: offscreen Processors: 4 × Intel® Core™ i5-2500K CPU @ 3.30GHz Memory: 15.6 GiB of RAM
> It should create another folder named like "lol.crash.filename(2024).dolphin(101001) (1)" That's what it's trying to do, but the filename is so weird that KFileUtils::suggestName() goes into an infinite loop trying to create the new name
Can also confirm this issue with git master version of dolphin
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/464
Git commit 50c3c2ed1c7c03bacb47a1643741039b8cf274f0 by Akseli Lahtinen. Committed on 13/11/2024 at 09:03. Pushed by akselmo into branch 'master'. kfileutils: compare to basename in makeSuggestedName Instead of searching from oldName, search from baseName since that is what we want to modify anyway. When searching from oldName here and then modifying baseName, with weird filenames like "super.weird.filename(123).txt(54321)" it gets stuck in endless loop. This also adds a test for above filename. The regex has an added space before the parentheses match, since the number we append also has a space in front of it. M +1 -0 autotests/kfileutilstest.cpp M +3 -3 src/lib/io/kfileutils.cpp https://invent.kde.org/frameworks/kcoreaddons/-/commit/50c3c2ed1c7c03bacb47a1643741039b8cf274f0