Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hangs while listing a large directory #14023

Open
yyshk opened this issue Dec 27, 2022 · 10 comments
Open

Hangs while listing a large directory #14023

yyshk opened this issue Dec 27, 2022 · 10 comments
Assignees
Labels
bug interface User Interface
Milestone

Comments

@yyshk
Copy link

yyshk commented Dec 27, 2022

Cyberduck hangs while listing a large directory (with 30,000+ files) on Google Cloud Storage.

I noticed that the file listing limit prompt had been disabled, so I tried re-enabling it. Now the dialog box is displayed,
but when I answer to it, the application hangs. It doesn't matter whether I choose CONTINUE or CANCEL.

file_listing_limit

Version 8.4.5 - 8.5.3 (Version8.4.4 works fine)
Windows 10

@dkocher dkocher added this to the 8.5.4 milestone Dec 28, 2022
@dkocher dkocher modified the milestones: 8.5.4, 8.5.5 Jan 10, 2023
@dkocher dkocher changed the title Cyberduck hangs while listing a large directory on Google Cloud Storage Hangs while listing a large directory on Google Cloud Storage Jan 10, 2023
@dkocher dkocher modified the milestones: 8.5.5, 8.5.6 Jan 26, 2023
@dkocher dkocher modified the milestones: 8.5.6, 8.5.7 Feb 17, 2023
@dkocher
Copy link
Contributor

dkocher commented Mar 21, 2023

I cannot reproduce with a bucket of <10'000 files.

@dkocher dkocher removed this from the 8.5.7 milestone Mar 21, 2023
@yyshk
Copy link
Author

yyshk commented Mar 22, 2023

Thank you for your response.
I found that the issue is reproducible only when the directory contains a large number of folders.

(1) A directory with 10,000+ text files

  • File listing limit prompt is displayed.
  • Click on "Continue".
  • The directory is listed successfully (i.e. the issue is not reproduced).

(2) A directory with 10,000 folders (each folder contains one text file)

  • File listing limit prompt is displayed.
  • Click on "Continue".
  • The application hangs.

14023

Cyberduck 8.5.6
Windows10 Pro 22H2

@AliveDevil
Copy link
Contributor

Diff from 8.4.4 to 8.4.5 is #13774, which updated the tree view you are seeing from an ancient to a newer, still ancient, version.
Maybe something changed there, that the rendering just can't keep up, thus locking up.

Checking what we can do to mitigate this.

@AliveDevil AliveDevil added interface User Interface and removed core labels Mar 23, 2023
@AliveDevil
Copy link
Contributor

Can't reproduce it directly … it takes a while, until all 10000 items are displayed, taking a bit of a CPU load there, eventually gets displayed. Until all 10000 items are shown, Cyberduck is unresponsive.

@AliveDevil
Copy link
Contributor

So, Cyberduck retrieves the items in sub-second speed, then forwards these to the ObjectListView which takes forever to rebuild the entire tree - synchronously. May need to check source of OLV 2.5 and 2.9 what changed here.

@AliveDevil
Copy link
Contributor

Grabbed latest sources, rebuilt them to include source information for easier instrumentation.
Result:

image

@AliveDevil
Copy link
Contributor

There's something interesting.
If I just expand a bucket with 10000 items, then that runs immediately - while navigating into that bucket takes forever to load.

@dkocher dkocher changed the title Hangs while listing a large directory on Google Cloud Storage Hangs while listing a large directory Apr 12, 2023
@AliveDevil
Copy link
Contributor

Options here:
Get rid of ObjectListView, redoing the browser, history, bookmarks and bonjour views with more performant WPF-components
Try to fix ObjectListView

@dkocher dkocher added this to the 8.6.0 milestone May 10, 2023
@dkocher dkocher modified the milestones: 8.6.0, 9.0 May 30, 2023
@dkocher
Copy link
Contributor

dkocher commented May 30, 2023

Will be part of #13036.

@gianluca-poli
Copy link

Hi, what about dir listing with more than one million objects?
CD take extraordinarily long time to display the list and sometimes hangs.
thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug interface User Interface
Projects
None yet
Development

No branches or pull requests

4 participants