[reopened] RestoreMaxiTree with network drive kills performance

Things you’d like to miss in the future...
daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

[reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

In a previous bug report, I experienced XYplorer to freeze when I right-clicked files on a Samba share. Back then, the 64-bit context menu was the culprit.

Unfortunately, a similar issue is plaguing me now. Sometimes, when I open files from the Samba share by double clicking in XYplorer, XYplorer freezes for several seconds. Apparently, the program that opens the file is part of the issue. E.g., I can open JPGs with XnView MP without XYplorer freezing, but opening PDFs with PDF-XChange Editor or CBRs with SumatraPDF does freeze XYplorer.
Like in the previous bug report, RestoreMaxiTree=1 and MaxiTreePaths pointing to the Samba share cause these freezes. Interestingly, opening files from a local hard drive does not freeze XYplorer.

Looking at the Samba log of the file server (XigmaNAS), there is no difference between opening a file from XYplorer and Windows Explorer. The log also shows no apparent difference between opening a JPG and a PDF. Therefore, I am inclined to think that XYplorer causes itself to become unresponsive.

Could some programs opening files cause XYplorer to refresh the tree, even though that would not be necessary? Is there a way to see what XYplorer is doing, like a log file?

admin
Site Admin
Posts: 60288
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by admin »

Are you really saying the problem does not appear when RestoreMaxiTree=0 (i.e. Configuration | General | Tree and List | Tree | Remember state of tree is unticked)?

This is still true (quoting from the other thread):
There is no connection between right-click menu and the RestoreMaxiTree setting, so that cannot possibly affect the speed.

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

admin wrote: 14 Sep 2021 16:43 Are you really saying the problem does not appear when RestoreMaxiTree=0 (i.e. Configuration | General | Tree and List | Tree | Remember state of tree is unticked)?

This is still true (quoting from the other thread):
There is no connection between right-click menu and the RestoreMaxiTree setting, so that cannot possibly affect the speed.
Yes, when I set RestoreMaxiTree=0, XYplorer does not freeze when I open files. Or at least the time XYplorer does not respond is so short that it isn't interfering.

I enabled the 64-bit context menu and tested the response time of XYplorer. With RestoreMaxiTree=0, the context menu might freeze XYplorer for 1 second. With RestoreMaxiTree=1, XYplorer freezes for 5-10 seconds. In contrast to opening files, the 64-context menu freezes XYplorer also when I right click a file on a local HDD.

I noticed that I open PDFs with PDF-XChange Editor from PortableApps.com. When I open PDFs with an installed version of PDF-XChange Editor, I don't see XYplorer freezing.
Hm ... I tried to find more information about PortableApps.com executables. Could their portable apps be a silent NSIS "installation" that sets up the app's environment, executes the app, and deletes temporary data and registry keys?
Does XYplorer wait for programs to respond with a status message when XYplorer/Windows starts them to open a file? In the case of PortableApps.com, the (NSIS based) app launcher would receive the path of the file to open from XYplorer, and then start the actual portable app. I assume the portable app would send any status messages to the portable app launcher, and XYplorer would not see any messages at all. Maybe these apps from PortableApps.com are similar in that way to the 64-bit AutoHotkey context menu? Although ... this wouldn't explain why RestoreMaxiTree=1 causes XYplorer to freeze. Would an NSIS installation trigger XYplorer to reload the tree?

Sorry, too many speculations from someone who can't even code more than a simple script :biggrin:

admin
Site Admin
Posts: 60288
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by admin »

1) It happens only when you open a file from the 64-bit context menu?
2) You use the Maxi Tree (not Mini Tree)?
3) Is your tree locked?

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

admin wrote: 14 Sep 2021 19:15 1) It happens only when you open a file from the 64-bit context menu?
2) You use the Maxi Tree (not Mini Tree)?
3) Is your tree locked?
Sorry for the confusion I caused :-)

1) It happens when I double (left-) click files on my Samba share (network drive) to open them with a program from PortableApps.com (like PDF-XChange Editor).

2) I use the Maxi Tree with RestoreMaxiTree=1, and MaxiTreePaths points to several folders on the Samba share.

3) The Tree is not locked.

admin
Site Admin
Posts: 60288
Joined: 22 May 2004 16:48
Location: Win8.1 @100%, Win10 @100%
Contact:

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by admin »

I assume the problem is not the setting RestoreMaxiTree=1 but the presence of certain folders in the tree which is caused by this setting. So you should be able to reproduce the problem while Configuration | General | Tree and List | Tree | Remember state of tree is OFF. Can you?

PS: You might try if unticking this makes any difference: Configuration | General | Refresh, Icons, History | Auto-Refresh | Include network locations

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

Thanks for the suggestions. I will try to narrow down what causes the freezes and report back :-)

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

admin wrote: 15 Sep 2021 09:21 I assume the problem is not the setting RestoreMaxiTree=1 but the presence of certain folders in the tree which is caused by this setting. So you should be able to reproduce the problem while Configuration | General | Tree and List | Tree | Remember state of tree is OFF. Can you?

PS: You might try if unticking this makes any difference: Configuration | General | Refresh, Icons, History | Auto-Refresh | Include network locations
I did some more testing:

1) Unticking Configuration | General | Tree and List | Tree | Remember state of tree "unfreezes" XYplorer directly after start-up (with 10 tabs pointing to folders on my network drive; one of them directly visible after start-up)
1.1) Switching to different tabs (pointing to folders on my network drive) slowly increases the time XYplorer freezes after double clicking (opening) a file. It is not one particular folder on the network drive that causes XYplorer to freeze, but the sheer number of them. Each tab/folder may contribute with 0.5 seconds.
2) Unticking Configuration | General | Refresh, Icons, History | Icons | Use generic icons for super-fast browsing makes no difference
3) Unticking Configuration | General | Refresh, Icons, History | Auto-Refresh | Include network locations makes no difference
3.1) Unticking Configuration | General | Refresh, Icons, History | Auto-Refresh "unfreezes" XYplorer
4) Unticking Configuration | General | Tree and List | Tree | Check existence of subfolders in tree | In network locations as well "unfreezes" XYplorer
5) Windows File Explorer does not experience freezes, even when I expand lots of folders in its tree that Windows File Explorer has to check for subfolders.
6) Interestingly, when I open files on the network drive from within Windows File Explorer, XYplorer freezes.

To make one point very clear: I do not blame XYplorer for these freezes in any way. Apparently, XYplorer gets triggered by something that does not affect the Windows File Explorer. My persistence on resolving this (my) issue results from me not being able to live without XYplorer :biggrin:

My suspicion is that programs (packaged with the NSIS installer) from PortableApps.com, like PDF-XChange Editor, Sumatra PDF, or LibreOffice trigger XYplorer to refresh the tree and check for sub-folders (if the option is enabled). The corresponding programs directly from the developers (not packaged with the PortableApps.com NSIS installer) do not trigger a tree refresh.

Right now, I am trying to debug the samba server on my XigmaNAS. This will take a while because the web interface only exposes a few lines of the log files and I have to find out how to get a full log ...

highend
Posts: 13260
Joined: 06 Feb 2011 00:33

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by highend »

I've used a fresh v22.20.0208 instance only with the settings changed that should cause problems.

Opened 4 tabs to paths on my samba fileserver, added a line to open doc;docx files via CFA, pointing to
"R:\LibreOfficePortable\LibreOfficeWriterPortable.exe"

Double clicking a .doc file does not freeze XY here (the XY instance is on the second monitor and LibreOffice opens on the first and I can work inside XY just fine while Writer is starting)...
One of my scripts helped you out? Please donate via Paypal or paypal_donate (at) stdmail (dot) de

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

I will try a fresh instance as well.

My log files show that, while XYplorer is frozen, smb gets flooded with file requests. XYplorer seems to access not only all directories in tabs, but each and every file as well. Unfortunately, the logs don't tell me why ...

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

A new instance of XYplorer did not work out any better, unfortunately.

The most problematic setting seems to be
Configuration | General | Tree and List | Tree | Check existence of subfolders in tree | In network locations as well
in combination with
Configuration | General | Refresh, Icons, History | Auto-Refresh (disabling "Include network locations" doesn't make a difference, even though it should)

When I close all tabs but one, which points to the root of my network drive, and I open a PDF, XYplorer accesses every file and folder directly under root, and every file and folder within the root folders. (Out of curiosity, why does XYplorer not stop reading folder contents as soon as one subfolder was found? Shouldn't this be enough to mark a folder as "contains subfolders"? Or is there no other way than requesting the whole folder content from the system?)

I guess I have to pester the people at PortableApps.com to find out what their NSIS packaged apps trigger.
Weirdly, opening a PortableApps.com PDF-XChange Editor does not trigger anything. Opening a PDF from PDF-XChange Editor does trigger XYplorer. And, as mentioned earlier, double clicking a PDF in Windows File Explorer also triggers XYplorer.

Damn it, this is a difficult one to figure out.

@highend Are you using LibreOffice from PortableApps.com? What is CFA?
I used the Windows internal "Open with" to create file associations.

Hm, funny: When I right-click a file, choose "Open with" => "Choose another app" => "More apps" => "Look for another app on this PC", XYplorer opens an "Open with..." window ... and freezes. When I do the same in Windows File Explorer, XYplorer freezes again (due to a tree refresh with subfolder scan).

highend
Posts: 13260
Joined: 06 Feb 2011 00:33

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by highend »

@highend Are you using LibreOffice from PortableApps.com?
Yepp. Will delete it afterwards but wanted to have something to test with
What is CFA?
Custom file association
One of my scripts helped you out? Please donate via Paypal or paypal_donate (at) stdmail (dot) de

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

Thanks for trying out the portable LibreOffice :)
I made a CFA and got the same result :(
(To make sure the CFA with the portable PDF-XChange Editor works, I made a new Windows file association for PDFs with Sumatra PDF. Double clicking a PDF indeed launched PDF-XChange Editor)

How many files and folders, and "subfiles and subfolders" do you have in those 4 tabs? What kind of fileserver do you have?
On my XimaNAS, I see thousands of files and folders being accessed, supposedly to scan for the existence of subfolders.

highend
Posts: 13260
Joined: 06 Feb 2011 00:33

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by highend »

3750 files
725 folders

An older Samba server, v4.11.5
Don't have logging enabled on it...
One of my scripts helped you out? Please donate via Paypal or paypal_donate (at) stdmail (dot) de

daniel_m
Posts: 120
Joined: 11 Apr 2010 11:47

Re: [reopened] RestoreMaxiTree with network drive kills performance

Post by daniel_m »

highend wrote: 17 Sep 2021 18:41 3750 files
725 folders

An older Samba server, v4.11.5
Don't have logging enabled on it...
That should be enough to make an impact. Disabling smb logging did not help...
I am at my wits end. The "Open with" issue tells me that PortableApps are not the main/only trigger. My Windows installation is "fresh and clean" too, since I had to re-install just a few weeks ago. Defender real-time scanning is disabled ... I don't know what else it could be.

Post Reply