+Slow network makes a pane listing to take forever

Bug reports will be moved here when the described bug has been fixed

Moderators: Hacker, petermad, Stefan2, white

cwahlgren
Junior Member
Junior Member
Posts: 13
Joined: 2011-12-16, 08:48 UTC
Location: Stockholm, Sweden

+Slow network makes a pane listing to take forever

Post by *cwahlgren »

Hi,

I'll begin with saying that this is not a specific TC8.5 bug since I can reproduce it also in 8.01.

If I have one of the panes to show the contents over a very slow network connection, it is unusable since the pane seems take 1 second to list every item (folder or file), and then it seems like TC wants to refresh the whole pane contents every 5-6 seconds, so it starts all over with refreshing the content information for the rows listed so far (each row blinks shortly for a second, then next row. In some of the pane refreshing, it seems it doesn't start from the top but from the middle of the pane rows so far, so TC manages to show 2-3 rows more, then the refresh starts again, blinking rows from the top, 1 every second.

To compare, if I list the contents of this network share in Explorer, it does take some 15-20 seconds before I see anything at all, but then I see the whole list of folders and files, and I can scroll in this list, select a new subfolder and wait another 10-15 seconds for its contents to show up. But it works.

Copying something from this share seems to have the throughput of over 2 MB/s (tested by copying a 200MB file), but I think latency could be very high since it is between Europe and Australia.

Are there any refresh settings that could be adjusted, or is it the implementation on how TC wants to refresh before it has even completed listing the pane contents?

BR,
Christian W
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Try playing a bit with the icon and overlay settings, these can make TC slow if some of the associated programs are located on network shares (and for EXE files located there).
Author of Total Commander
https://www.ghisler.com
cwahlgren
Junior Member
Junior Member
Posts: 13
Joined: 2011-12-16, 08:48 UTC
Location: Stockholm, Sweden

Post by *cwahlgren »

Thanks for the tip and yes, checking setting Icons/"EXE/LNK not on net" solved it.

The reason I didn't have it checked is that I have some of my svn WC on a share (not on this slow one), and I have to live without svn telling me with the icons of local changes etc on these WC:s.

I don't know if a future release could make selection on which shares you want to enable (or disable) icon overlays on, just as you can in a similay way do when selecting drives under Copy/Delete?
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Sometimes TC really hangs w/o displaying 'Connecting...' window (e.g. if you click its window some times and Windows replaces it with ghost window). It would be great if TC react on async Escape and interrupted waitings immediately.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Unfortunately putting all functions in separate threads is a LOT of work. Sorry, I don't have the time to do that right now. I'm trying to put functions in threads where I know that they can hang. But I need to be able to reproduce it.
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

You can enable all icons and then open network path to virtual machine. Then disable network adapter in that machine (via control panel) and switch from TC to another application and then back to TC, it should hang (but it will show dialog after a while). To be sure it works as we want to see, click TC window multiple times until it turns to white. Now try to unfreeze it, it is almost impossible (I don't know how, two possible actions: wait for 20-30 seconds or kill and restart TC).
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OK, before I spend too much time, can you give me more information about your test setup?
- Vmware or Virtualbox, or something else?
- Which host and which guest operating system?
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I've noticed such behaviour with Win7x64 host and Win7/8x64 guest systems, usually I use VirtualBox. It often happens when I work in VM via remote desktop (and access its shares via host TC) and then suspend VM and return to my host TC.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OK, I will try that.
Author of Total Commander
https://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OK, I have made some tests now, but didn't notice anything bad. Here is what I tried:
1. Run Virtualbox with Windows 8
2. Connect to it from Windows 7 x64 host
3. Right click on network adapter icon, change connection from bridged to none
4. Returned to TC -> after 5 seconds, a dialog box is shown that TC is reading the directory -> TC remains responsive

This is what happens when I'm in \\server\share.

When I am in \\server, TC freezes for a few seconds, and then Windows itself shows a dialog box that the connection isn't available. Do you mean that?
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I just tried with notebook, after disabling network adapter and returning to TC (I clicked both panels with mouse some times) TC become frozen ((Not responding) in title and further clicks make it white), and only after a minute or two it become responsive again, no dialog was shown.

If I disable overlays and enable option 'not when on net' I'm still able to reproduce this freeze.

I tested it also with virtual machine (Windows Server 2012), entered \\aa.bb.cc.dd\C$\Windows, then switched to maximized window (VS2010), then disabled network adapter from virtual machine's network adapters window (right click network icon in tray, ...). Then I returned back to TC, one or two times changed panel with mouse and then with Tab... and it become frozen.

Another test with clean INI: same dir, same steps, after switching back to TC it become frozen, after 10-15 seconds 'Reading directories (Esc to abort)' window appeared, I clicked main TC window and it turned to white (Esc doesn't work there because dialog doesn't receive messages if Windows replaced it with ghost window, only async Esc may help).
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

As I understand you, this happens only on administrative shares like C$ ? What about regular shares?
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I haven't compared different shares, I only opened dir with some number of files where I can reproduce this bug.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

But you wrote that it happens in
\\aa.bb.cc.dd\C$\Windows

Does it also happen when you share drive C regularly and go to some subdirectory?
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8711
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I can try it but I think that C$ works just like regular share when you know about it.
Post Reply