Serious directory opus bug with creating a file collection, please fix!

Environment: Windows 10 Pro (shell script using dopusrt.exe to create a file collection)

If I shut down Directory Opus and have zero dopus processes running and validate this with:

tasklist | grep -i opus <== returns nothing

and then I run a script using dopusrt.exe <params> to create a file collection, the most unexpected thing happens.


I would expect, that dopusrt.exe would execute, create the file collection, and create whatever file or artifact it needs in some directory, so that when I launch Directory Opus, the file collection would be there, and then exit and not keep running or show a process running.

This is almost the case (except processes are started that I would not expect and do not exit).

What happens is that when running: dopusrt.exe, it remains resident and does not exit after the script ends. Additionally, it starts a Directory Opus lister, such that after my script has completed, I can see two executables running (and this causes problems, and leads to a bug) (and I see a lister in my icon tray)

tasklist | grep -i opus

will return:

dopusrt.exe
dopus.exe

and in my icon tray, I will see a Directory Opus Lister running.

I would not expect this.

Prior to running the script, I had shut down Directory Opus - all processes and would expect that dopusrt.exe would do it's thing and then exit, not stay resident, and not start a lister.


Because there are no dopus*.exe processes running when I run my script, it will correctly create a file collection.

However, when the script completes, and while there are still dopus*.exe processes running, and if I run another script to create another file collection, when I launch a directory opus lister, the two file collections will have the same result. This is unexpected. Even though the input files to dopusrt.exe are correct, and have the unique contents I expect, when I go to the lister and click between the two, the visual contents are the same (having the results of the first script run).

I would consider this as a bug. Clicking between the two file collections shows the same list.


Possible (requested) Fix:

  1. When I run dopusrt.exe, please exit.
  2. Please do not keep this .exe running,
  3. please do not start a lister.
  4. Additionally, it should run in it's own memory space
  5. and if another process is running dopusrt.exe at the same time, that should not affect anything.
  6. I should be allowed to run two or more scripts that run dopusrt.exe at the same time

At the end of my dopusrt.exe script, I have to add lines to kill both processes before I run another dopusrt.exe script to create a new file collection like so:

taskkill /IM dopusrt.exe /F
taskkill /IM dopus.exe /F

only after those processes are dead can I then run another script using dopusrt.exe to create a new file collection.

This is agitating.

I want to launch a dozen scripts at once, creating a dozen or so file collections all at once, running at the same time, but this is not possible. They have to be created sequentially because of this and a bug yet undiscovered.

My workflow, because of this (to get things to work) now becomes:

  1. kill all dopus .exe's (at the top of my script, just to make sure)
  2. run script to create a file collection
  3. kill all dopus .exe's (at the end of my script, just to make sure)
  4. run the next script to create a file collection
  5. repeat
  6. launch a dopus lister when I am done

I can do a Zoom screen share or create a video and share this directly with someone that has the ability to investigate and fix this bug.

It inhibits greatly the things I want to do with dopus and my use case (paid for x3 licenses - two desktops and one laptop)

The way it works is that dopusrt.exe doesn't do much by itself - it simply sends a message to the main process (dopus.exe). It's the main process that imports the files into the collection - and to do that it obviously has to be running.

Once it's running it doesn't shutdown automatically. You could use dopusrt.exe to ask it to close again afterwards if you wanted - but really the only purpose of using dopusrt.exe in this way is to import files into a collection while Opus is running.

If you want to put files in a collection when Opus isn't running, and without starting Opus at all, you can just write to the XML files directly.

irrespective of that, if it is running, the next call to dopusrt.exe will not create the expected results in the lister.

If they are to remain running, there is still a bug. I have just observed, that if I completely shut down the processes and run my scripts sequentially, and shut down both processes before running the next script, that I can get the results that I expect.

There is no way around this. While the two processes are running, if another dopusrt.exe script is run, it will create a file collection with the same visible contents as the previous run of dopusrt.exe

Here is a git repo with scripts that replicate the problem:

Here is a git repo that provides scripts that will replicate the problem:

All three scripts seem to output the find results to the same file ("d-file-collection.txt") and then convert that to the same file ("d-file-collection-dos.txt") so it doesn't seem that surprising that the file collections end up with the same and/or mixed contents if you're running the scripts simultaneously.

So this looks like a bug in your script, not Opus. I don't know why you made a second thread for it (original thread), other than to continue ignoring my requests that you link your account.

Since you won't link your account after multiple requests, you are banned.

1 Like