No refresh on renaming, deleting etc

Another thing to check, as it can block notifications from reaching the process:

I never manually run Dopus as admin. Just open it clicking a shortcut on a status bar. Btw I’m on the last release of Windows 10 64 bit.

Sent the log.

The log seems to indicate Opus is seeing changes made on C:\ OK, but I don't know what to look for in it.

What were some of the files you deleted or renamed that should be in the log but aren't? Please give full paths.


A Process Monitor log or what happens when renaming/deleting a few of the affected files might also be worthwhile, so we can see what it thinks is happening:

  • Download Microsoft's Process Monitor and extract the zip somewhere. (No installation is required.)

  • Double-click Procmon.exe to launch it and accept the default filters.

  • Make sure it is logging filesystem events. It should be by default, by just in case, make sure the Procmon_Filesystem icon is activated, so the toolbar looks like this:

    Procmon_Modes

  • With Process Monitor still logging, perform the action in Opus, then wait about 10 seconds.

  • Back in Process Monitor, use File > Save, select the Native Process Monitor Format (PML), and save the log to somewhere.

  • Zip up the log. It will be quite large if not compressed, but much smaller when added to a zip file.

  • Send the result to crashdumps@gpsoft.com.au or via a private message. Don't post the log publicly, just in case it contains anything you don't want the world to see.

Hmmm... I thought all my activities were recorded to the log so I'm not sure the actual file names I renamed. They should be in Downloads follder: C:\Users\Fokin-EvgA\Downloads
That's all I remember.
Ok, I will try with Process Monitor and be back soon.

Sent a private message with a log

Thanks for the log! But I still don't know what to look for in it. Which actions did you do while making the Process Monitor log that I should look for?

I had a look in both the old and new log for items related to the Downloads folder, and it looks like events are coming through OK for that folder, but the only events in that folder (both according to Opus and Process Monitor) while either log was being taken were to do with Process Monitor and Debug View themselves.

It might be best to start again:

  • Start both programs logging.
  • Rename (etc.) some files and make a note of which ones.
  • Save the logs.
  • Send us the new logs and details of the files that were modified.

Hi,
Sent two new logs and description.

Hello,
Got a similar issue after updating to v12.17.4 from beta .3, in my case the lister was not refreshing while performing CRT+X/V on files to another lister, i had to use F5 to update the lister.
Killing Dopus.exe/dopust.exe and starting the app again solved the issue (no reboot needed).

Many thanks!

The problem is clear from the logs now.

When files are being renamed, Opus is told the new name but not the old name, so it doesn't know which file was just renamed. The information is not being sent to it by the operating system.

This looks like a problem caused by Kaspersky, which the logs show is on the machine:

Maybe you're right but this problem occurs only in Dopus.
Windows Explorer and Total Commander have no this issue.
Why the info isn't being sent to Dopus but is being sent to Total Commander? It's a bit strange.
Unfotrunately I can't turn off Kaspersky.
But maybe you can do some things to receive this info from OS as Total Commander does.

From the linked thread, it's to do with how Kaspersky is configured to treat each process. It's probably not blocking the information being sent to the others but needs configuring to treat Opus the same.

You may need to ask Kaspersky for help, since we don't know why it is breaking notifications from the OS. We can only say that the information simply isn't arriving, and point to that thread which saw the same issue until Kaspersky was configured to allow the process to do more. (It shouldn't need turning off entirely.)

Unfortunately I not only can't turn KAV off but also can't adjust it anyway. It's my office PC and security can't allow me to do anything.
To contact Kaspersky... You know, I have almost nothing to come with. A personal nobody confirmed opinion 4 years ago on Windows 7 (where Windows 8 resolved the issue) and old .NET Framework (is Dopus .NET app?). My Windows 10 and brand new KAV are not the same. I would believe Kaspersky even didn't open a ticket.
As I see the main problem is not in KAV (and the other side software) but in your app. If Total Commander and Adobe Bridge (a sort of file explorer) can do renaming etc with no issues but your app can't I'm sure it's something wrong inside...
Anyway If you can't help me I have to stay on Total Commander. So sad but I got nothing to do...

I've written a test app you can use to see if the same problem affects a simple, standalone piece of code:

It might be worth renaming ChangeTest_64.exe to dopus.exe when testing, in case the exe name is important (although it could be a lot of other things that trigger antivirus to treat one process differently to another, e.g. initialising Winsock or something).

Source code is included to verify how it works, and that it isn't doing anything complicated. It's just reporting the raw output from the Windows API.

If it's working correctly, you should see two lines for each rename, one with the old name and one with the new name:

If you see the same problems with that, then you can be 100% sure something on the system is broken, and have a very simple and verifiable case to send to Kaspersky's support.

If you get different results in that compared to Opus, that would be strange since Opus and this code are doing the exact same thing (other than all the other things Opus does, which should not affect things unless antivirus is triggered into a different behavior by something Opus does).

1 Like

Hi,
Many thanks for your patience. Just tested. Despite the name of the app: original, Dopus, totalcmd etc... the app returns only FILE_ACTION_RENAMED_NEW_NAME and FILE_ACTION_MODIFIED confirmation. And don't return FILE_ACTION_RENAMED_OLD_NAME.
I may agree it's a not exactly ok. But:

  1. It don't affect the other apps. At least I can't see it.
  2. Nobody can confirm it's a Kaspersky fault. So it's a bit not smart to email them: "My OS don't send message FILE_ACTION_RENAMED_OLD_NAME. Please fix it"
  3. As I said the other file managers don't need this OS message and works ok without it. Being a coder a bit I may wonder why do you still need a message with an old name?
    a) When a user try to change a name in the lister you know this old name for sure and the new name as well.
    b) You send a request to OS with the old and the new name.
    c) You only need a confirmation from OS that this renaming is successfully done. So mesages FILE_ACTION_RENAMED_NEW_NAME and FILE_ACTION_MODIFIED are enough.
    b) You should tell the lister to show the new file name and hide the old file name and voila everything fixed.
    c) The same with a deletion I can't test with the app provided. You need only a confirmation from OS that a deletion is succeed. And then you tell a lister to hide the file removed.

As I think it's not so difficult to perform.

If you don't get the "old name" message there's no way to tell which file is being renamed. Should we just pick one at random?

Your operating system is broken, and we can't fix it. There's a post from someone confirming Kaspersky can cause this exact problem, and you're running Kaspersky. It's the best lead there is.

Note that I didn't go looking for Kaspersky issues here. I searched for possible causes of the rename old-name data being missing and found Kaspersky.

The post about Kaspersky says it affected both .Net's object for change notification and a custom C++ app the same person wrote as a test to check it wasn't specific to .Net or his original code. Similar to the C++ Change Test I wrote, which confirms the issue has nothing to do with Opus, at least, and is your OS not sending the right information, at least to some apps.

The post about Kaspersky also explains how he fixed things by changing the per-app settings in Kaspersky. So you can try doing the same thing for either the Change Test exe or Opus to confirm that the problem really is Kaspersky before contacting them. Then you'll have more proof.

And, to be blunt, you have more reason to contact them about this issue than us at this point, now it's proven the issue is not specific to Opus and that ReadDirectoryChangesW is being broken on your system for multiple applications (even if not all of them, which just points to antivirus even more, seeing as it has rules and exceptions for different apps) in a way which there's evidence can be due to Kaspersky.

Not at all. When you send a request to OS to rename a file you send: a) old name with a path and b) new full name. You may store this info temporarily. So when you get a response from os with a new name you easily get an old name. It’s easy.

Once more. If it were impossible the other file managers couldn’t do it. But they do.

If another program renames the file, what do we do then?

And there are a million places even in our own code which rename files, some in libraries or components we don't control. We can't depend on every single place that might rename a file replicating the notification system built into the OS (and causing duplicate notifications on working systems!) just to work around a broken operating system on one person's machine.

It works in SOME other software either because they use another mechanism or, more likely because Kaspersky is configured (probably out of the box) to treat them differently. If Kaspersky broke Explorer they'd notice and fix it. Maybe someone reported the problem with TC and they added to the default configuration to fix that as well, but no one has reported the Opus issue to them yet, or the issue with .Net apps, or other things.

  • Your OS is broken and Kaspersky looks like the likely cause. We cannot fix a broken OS and we are not going to redesign the program around it. You need to fix your OS.

  • This does and will affect other software, not just Opus. Ignoring it or wanting one program to add a workaround will just mean you run into problems in something else later.

  • Try configuring Kaspersky to be less restrictive to Opus (or the Change Test exe) as per the StackOverflow thread. That will confirm my theory.

Just nothing. The only issue I'm hurted is renaming and deleting files by myself from a Dopus lister. Nothing else. I think it's the one and only place in your code.
I realized it's not your problem and you're not going to do something with it. But if you one day when you got nothing to do would find a time to fix it I would be very happy.
As I said I can do nothing with KAV (and OS) on my PC. It's not my property. I may only adapt.