File Copy Progess Display Problem

I am running Vista Ultimate X64 Service Pack1 & Dopus 9.1.0.6.3044.

I have an odd problem with the progress full function copy progress display.
If I copy a set of files from one disk on my PC to another on my PC, the progress window displays and shows the progress of each file being copied etc. The progress bars progress in an orderly fashion Showing about 30 MB/s.

Likewise if I copy the same group of files from an XP Pro PC on my network to my (Vista) PC the display is fine.

However if I copy from my (Vista) PC to the XP Pro PC (on the network) the progress bar behaves in a strange way. The top progress bar for each file very quickly goes to 100% and shows a speed of say 936 MB/s and then stays stuck at 100% until the file actually finishes copying and then the next file does the same thing.

I suspect I might have done something to one of my Vista settings to cause this when I was trying to resolve slow network copy problems?

Any ideas how to resolve this would be appreciated :slight_smile:

That'll happen if the OS buffers up the entire file in memory and then only sends it over the network when the destination file is closed. I don't know why the OS would start doing that, though.

[quote="leo"].... the destination file is closed.[/quote]Did you mean the source file i.e. after it has all been read into memory?
I am running a system with 8GB of RAM so maybe that has an effect. I think I must have altered a registry setting or something when trying to fix my network speed problem.

No, the destination. The source file will be read into memory and "written" to the network bit by bit (using the buffer size set in Opus's copying options, which is 64KB by default), but in reality the OS can choose to buffer those writes into a huge block of its own memory and not to send the data over the network until the destination file is closed.

When the source file is closed doesn't really matter, though it'll usually be around the same time that the destination is closed.

[quote="leo"]No, the destination. [/quote]Thanks for the clarification :slight_smile:
So in this case Dopus thinks the destination file has been closed (because the OS has told it that has been) but in fact the data is still sitting in RAM on the PC but then DOpus isn't allowed to proceed until the OS has actually sent the data over the network and the file has been saved on the target PC?
Maybe I need to look for a Vista buffer setting or some such.
Thanks for the pointers :slight_smile:

That's more or less it, yeah.

I am now running version 9.1.1.7.3307.x64 and still have this problem :frowning:

To summarise again: When I copy a large file (say 1.0GB) then the copy progress bar quickly goes to 100% and then remains at 100% for a period of time before completing. If I look in the Performance tab of the Task Manager I can see memory use quickly increase by 1.0GB and then slowly start to reduce. The peak is achieved at about the same same as the 100% is shown and the progress bar remains stuck at 100% whilst the memory reduces (presumably as the file is copied over the network). I suspect there must be a buffer figure set at 1.0GB because if I copy a larger file then the memory increases and then flat lines for a period and then start reducing. In this case the progress bar will speed up to say 60% and then track slowly to 100% and then get stuck whilst the memory reduces.

I have just done a test where I uninstalled Directory Opus and rebooted into "Safe Mode + net" and the problem disappeared - a nice straight line on the memory usage whilst the copy was in progress + 100% reached when copy was complete.
I then rebooted back into normal mode and repeated the test. Again it all worked as it should.
I then re-installed Directory Opus and the problem is back.

So the question is why is it that Windows Explorer works OK and Directory Opus doesn't. The only setting I can find in DOPus that refers to buffer size is under the 'File Operations' node in 'Settings | Preferences...' - it is set to 64K.

I am wondering if anything in Vista update SP1 changed that Dopus hasn't allowed for as I believe MS changed some aspects of file copying in this update?

Windows Explorer is copying the file using a slightly different API to Opus, presumably ones which don't trigger whatever is going wrong.

Opus itself is not the thing allocating that 1gig buffer. It will be the network filesystem driver, anti-virus/firewall or the network stack/driver itself.

You may be able to use Task Manager to see which process is allocating the memory (be sure to set it to show processes for all users in case it's a system process). However, Task Manager may attribute the memory to dopus.exe even if it isn't Opus that's actually allocating it (since most of the things I listed run, in part, within every process and may allocate memory within those processes). Still, it's worth a try to see if it points at another process which can then be investigated to see if other people are talking about a similar issue. Also look for high CPU usage which could indicate an anti-virus scanner looking at the files before they are sent, for example.

If you are copying using the right-click drag & drop menu then the problem could also be a shell extension. If so try using the Copy button on the Opus toolbar to rule that out.

Another thing you could try is checking whether the same stuff happens if you do the copy from a Command Prompt.

BTW, there is no need to uninstall Opus between tests. Opus has no effect on the way Explorer copies files.

Vista SP1 had changes to the way Explorer copied files, which would also affect other programs that use the Shell file-copy APIs, but Opus does not use them.

I'm using Vista SP1 and copy large files to network drives all the time without seeing what you're seeing.

[quote="leo"]... Opus itself is not the thing allocating that 1gig buffer. It will be the network filesystem driver, anti-virus/firewall or the network stack/driver itself.[/quote]Thanks for the help on this :slight_smile:

I think it is an interaction between my anti-virus program 'f-secure 2009' and DOpus. If I disconnect from the internet and disable the ant-virus then DOPus performs normally. As soon as I turn on the anti-virus it exhibits this odd behaviour.

I have configured f-secure to treat the network adapter as trusted (it is a direct connect with another PC) and added the folder I am copying to as an exclusion. It hasn't made any difference :frowning:

I guess the next step may be to contact f-secure support and see what they say?

Anyway, once again many thanks for your help :slight_smile:

[quote="logrunner"][quote="leo"]... Opus itself is not the thing allocating that 1gig buffer. It will be the network filesystem driver, anti-virus/firewall or the network stack/driver itself.[/quote]... I guess the next step may be to contact f-secure support and see what they say?[/quote]I contacted f-secure who suggested that I unloaded the anti-virus whilst running the copy :open_mouth: I suggested this wasn't a good idea so they came back with just disable the real-time scanning whilst the copy was in progress. :unamused:
Well this does work, i.e. disable the real-time scanning and DOpus then behaves normally i.e. as Windows Explorer does.
This is not a very satisfactory solution IMHO but f-secure Support said there was no other way round the issue.
Maybe it is time to look for a different anti-virus program :wink: