Bug 420481 - Dolphin hangs on leaving (!) big directories on a network share
Summary: Dolphin hangs on leaving (!) big directories on a network share
Status: REPORTED
Alias: None
Product: dolphin
Classification: Applications
Component: panels: folders (show other bugs)
Version: 19.12.3
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-23 20:48 UTC by virusmater
Modified: 2020-04-26 17:36 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description virusmater 2020-04-23 20:48:08 UTC
SUMMARY
I have a cifs mounted directory  (/mnt/share) with 700+ sub directories (/mnt/share/sub1,  /mnt/share/sub2 etc) with only few files under. Going inside of that directory (/mnt/share) happens immediately, but clicking on the sub directory takes 3-4 seconds. Also going from /mnt/share to /mnt also takes the same amount of the time. So exiting directory hangs, but entering it happens quick.

STEPS TO REPRODUCE
1. Mount cifs share with 700+ subfolders
sudo mount -t cifs //192.168.1.20/share/ /mnt/share -o username=user,password="pass",workgroup=workgroup,iocharset=utf8,uid=1000,gid=1000
2. Go inside of /mnt/share - it happens immediately
3. Enter any subfolder or click mnt /mnt - dolphin hangs for 3-4 seconds

OBSERVED RESULT
Dolphin hangs for 3-4 seconds

EXPECTED RESULT
Dolphin opens sub directory immediately

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kubuntu 20.04

KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8

Also tried with most current development version of KDE Neon Live CD - the same result

ADDITIONAL INFORMATION
Previews are disabled, columns with size and recent edit are hidden.
In konsole everything works quick - cd works immediately. Thunar also works fast.

I would understand a slowdown on enter a directory, but on leave?

I tried to include logs, but there is no dbg version of Dolphin, so the instruction on wiki didn't work. Tried to run it with dbg, but Dolphin forked out and --no-fork parameter doesn't exist anymore.
Comment 1 Méven Car 2020-04-25 06:23:36 UTC
> I tried to include logs, but there is no dbg version of Dolphin, so the instruction on wiki didn't work. Tried to run it with dbg, but Dolphin forked out and --no-fork parameter doesn't exist anymore.

Which instructions ? I am guessing https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports.
Well dophin never had a --nofork option to begin with. Just close all your dolphin instances when you test, you will be good.
For gdb you need to include the threads `thread apply all bt`
Plus you can use `KDE_FORK_SLAVES=1 dolphin` https://userbase.kde.org/KDE_System_Administration/Environment_Variables#KDE_FORK_SLAVES to have the ioslaves spawned from dolphin directly.

I imitated your setup with a samba mount creating a folder with a 1000 subfolders.
`for i in {1..1000}; do mkdir "test-$i"; done` but did not reproduce.
How many subfolders are they in your 700 subfolders ?
How soon do you leave your big folder ?
Comment 2 virusmater 2020-04-26 17:30:43 UTC
I can reproduce it with your script as well.
gdb dolphin doesn't show any useful info as well. It doesn't produce any new logs on enter or exit the directory. Also I wasn't able to run KDE_FORK_SLAVES=1 in gdb. How to do it? Also I tried to put option "thread apply all bt" after start, but GDB prompt never reappeared after start.


kompot@kompot$ gdb dolphin
GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from dolphin...
(No debugging symbols found in dolphin)
(gdb) set logging file ~/gdblog.txt
(gdb) set logging on
Copying output to /home/kompot/gdblog.txt.
Copying debug output to /home/kompot/gdblog.txt.
(gdb) thread apply all bt
(gdb) start
Function "main" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Temporary breakpoint 1 (-qualified main) pending.
Starting program: /usr/bin/dolphin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff06c2700 (LWP 64249)]
[New Thread 0x7fffefae8700 (LWP 64250)]
[New Thread 0x7fffecbe7700 (LWP 64251)]
[New Thread 0x7fffdbdb0700 (LWP 64252)]
[New Thread 0x7fffdb5af700 (LWP 64253)]
[New Thread 0x7fffdadae700 (LWP 64254)]
[New Thread 0x7fffd974d700 (LWP 64255)]
[Detaching after fork from child process 64258]
[Detaching after fork from child process 64260]
[Detaching after fork from child process 64262]
[Detaching after fork from child process 64265]
[Detaching after fork from child process 64267]
[Detaching after fork from child process 64269]
Qt: Session management error: networkIdsList argument is NULL
[Detaching after fork from child process 64277]
[Detaching after fork from child process 64278]
[New Thread 0x7fffd8bf9700 (LWP 64285)]
[New Thread 0x7fffcbfff700 (LWP 64286)]
[New Thread 0x7fffcb7fe700 (LWP 64287)]
[New Thread 0x7fffcaffd700 (LWP 64288)]
[New Thread 0x7fffca7fc700 (LWP 64289)]
[New Thread 0x7fffc9ffb700 (LWP 64290)]
[New Thread 0x7fffc97fa700 (LWP 64291)]
Comment 3 virusmater 2020-04-26 17:36:26 UTC
i tried to exit the directory after 3 seconds and after 3 minutes - got the same result. I'm connecting to cifs mount over wifi.
If I access share using kio (smb://share@odroid.lan/data) - it takes some time to load the directory (few secs), but I can leave it without any lag.
Comment 4 virusmater 2020-04-26 17:36:59 UTC
reported more data