TOAD compare seems to launch hanging powershell

I am using TOAD 14.2, when I launch toad compare via the command line eg:

Toad.exe -a App1->compare | F:/git/nsfreleases/minerva/2021_09/patch.001/temp/ini/minerva_ingestion.ini

It looks like a powershell process is started in the background.

Regularly(not all the time) this powershell process keeps running, and keeps locks on the output files.

When I check via process explorer the 'parent' (toad process) is no longer running, powershell becomes some kind of 'zombie' process.

When I kill the powershell process, the output is correct and no longer locked.

Any idea?

Regards

Christophe

Toad does not launch PowerShell. There are various tasks that do a ShellExecute, but nothing I'm seeing explicitly launching PowerShell or PowerShell Core. Is that PowerShell you're seeing your shell prompt? Windows has been pushing PowerShell as the default command line utility for a while now. Do you see the same PowerShell process when you launch cmd.exe from the Windows Run dialog (WindowsButton+R) or is that how you're doing it already?

I launch my script via cmd.exe, this launches (several times for different schemas)

Toad.exe -a App1->compare | F:/git/nsfreleases/minerva/2021_09/patch.001/temp/ini/minerva_ingestion.ini

When I try to copy eg SyncScript.sql to another location it is locked by a powershell proces.

I can see the process if I use my taskmanager or similar tools from sysinternals(eg pslist).

I see powershell process appear and disappear when toad-compares get launched. Most of the time they disappear. In some cases the powershell keeps running, and the parent-process id does no longer exist (a zombee proces)

Toad just writes the sync script file to disk after it creates it. I don't know where powershell is coming from.

Hi

I used the tool "Process explorer" sysinternals to monitor my processes as a tree view.
When I launch toad via the cmd-line(example above) I see a lot of powershells appearing and disappearing as a child process from toad.exe. I attached a screenshot in this reply when de compare was running and a screenshot when the compare was done with the details of the powershell process.

I can repeat this, if you need more details, please let me know!

Regards

Christophe

Thank you the added detail.

Here's the scoop with that PowerShell process. Many Quest products have the "Toad Improvement Program" built-in. This is an anonymous usage reporting service that helps us know where to focus development efforts as well as captures exception logs from unhandled errors that may arise. Much effort has gone in to fixing these errors in recent releases (courtesy of John Dorlon). That usage service is using that PowerShell command to get information about your processor. A basic system profile of the machine running Toad is captured and submitted as part of the data and the command in question collects information on your processor.

Get-CimInstance -ClassName Win32_Processor | Select-Object -Property Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed, Manufacturer, ProcessorId

So that's the background on it, but I do not know why that would be causing file locks. The command is executed, its results converted to XML, and the XML is parsed all in-memory. There is no disk usage involved that I see. I think that something else may be going on here, but I'll send a message to the team that maintains the usage reporting component and see what they think about it. Are your output files going to the same folder that's reported as the Current Working Directory there in the Process Explorer properties dialog for the PowerShell process?

I did a re-rest, with extra system-monitoring


The powershell process 19324 parent process CertifiedVersionEngine (20264)
takes a file lock on F:\git\nsfreleases\terminus\2021_10\patch.004\temp\runparallelexecute.utils.2932808377.out
--> This file is not produced by toad-compare, it is produced as a outputfile by my script to capture stdout.

Your question
<<
Are your output files going to the same folder that's reported as the Current Working Directory there in the Process Explorer properties dialog for the PowerShell process?

The toad output files get produced in F:\git\nsfreleases\terminus\2021_10\patch.004\temp\output
see screenshot (multiple schemas in this folder)

-->but the lock is not on these "toad-compare-files"
My stack-trace:
POSIX EACCES {permission denied}} -errorinfo {error renaming "./runparallelexecute.utils.2932808377.out" to ...

The moment I kill eg. pskill 19324
the problem is solved. As mentioned before, the problem does not always occur, but very often.

If you need more info, please let me know.

Regards

Christophe

Any news on this topic?

Is it an option to temporary disable the "Toad Improvement Program" (until fixed?)

regards

Christophe

Hi, Any news on this topic? We use TOAD compare every day, as a workaround I have to manually kill the powershell proces to continue...

Regards

Christophe

Sorry I missed this when you posted it. Go to Toad Options -> Online. You can disable Toad Improvement Program there. Let us know if it helps.

Thanks, for the fast response.
I did some tests... no blocking powershells anymore...

1 Like