Action is stuck in Running State - Even though its not performing anything

(imported topic written by SystemAdmin)

I am pushing an update to an outlook plugin, here is an snippit of the code:

continue if {(size of it = 2604831 AND sha1 of it = “ae43f551bb3075c20576dde7f736d8598a671bf5”) of file “MeetingPlace.tmp” of folder “__Download”}

extract MeetingPlace.tmp

//kill any existing actions - this will prevent the action from getting hung up

waithidden taskkill /F /IM msiexec.exe

waithidden taskkill /F /IM msiexec.exe

waithidden taskkill /F /IM msiexec.exe

// Uninstall previous version of Cisco MeetingPlace for Outlook

// Tries two types of uninstall, if the first one is unavailable (which is recommended, however not all workstations have the mpoutl.inf file)

If {exists key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{7D1B57D5-D7C2-4D0C-88F9-A68FA3F4C488}}” whose (value “DisplayName” of it = “Cisco MeetingPlace for Outlook”) of registry} and exists file " C:\WINDOWS\INF\MPOUTL.INF"

waithidden RunDll32.exe advpack.dll,LaunchINFSection C:\WINDOWS\INF\MPOUTL.INF, DefaultUninstall.ntx86,3

endif

and it runs fine on some of the clients, however i found that a couple get stuck on this part and no further action is taken to complete the update process:

Command succeeded (evaluated true) continue if {(size of it = 2604831 AND sha1 of it = “ae43f551bb3075c20576dde7f736d8598a671bf5”) of file “MeetingPlace.tmp” of folder “__Download”} (fixlet 152408)

Command succeeded extract MeetingPlace.tmp (fixlet 152408)

At 11:02:58 -0400 - actionsite (http://bigfixcoreserver:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=128) waithidden taskkill /F /IM msiexec.exe (fixlet 152408)

At 11:02:59 -0400 - actionsite (http://bigfixcoreserver:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=128) waithidden taskkill /F /IM msiexec.exe (fixlet 152408)

At 11:03:00 -0400 - actionsite (http://bigfixcoreserver:52311/cgi-bin/bfgather.exe/actionsite)

Command succeeded (Exit Code=128) waithidden taskkill /F /IM msiexec.exe (fixlet 152408)

At 11:12:41 -0400 -

Report posted successfully.

At 11:14:47 -0400 - CustomSite_Archive (http://bigfixcoreserver:52311/cgi-bin/bfgather.exe/CustomSite_Archive)

After it successfully gathers some of the sites, i saw these messages:

At 11:17:53 -0400 - actionsite (http://bigfixcoreserver:52311/cgi-bin/bfgather.exe/actionsite)

FAILED to Synchronize - Active action prevents gather.

At 11:18:56 -0400 - actionsite (http://bigfixcoreserver:52311/cgi-bin/bfgather.exe/actionsite)

FAILED to Synchronize - Active action prevents gather.

At 11:24:09 -0400 - actionsite (http://bigfixcoreserver:52311/cgi-bin/bfgather.exe/actionsite)

*FAILED to Synchronize - Active action prevents gather.

then it started gathering the sites successfully again - however the action never kept going, its almost like it was forgotten about.

(imported comment written by Lynnicus)

Too bad no one ever responded to your post… as I have the same error occurring and I need to know how to troubleshoot it.

FAILED to Synchronize - Active action prevents gather. - gather url -

(imported comment written by SystemAdmin)

Several questions.

  • Did the action expire? The client stops reporting on expired actions (its an open bug to complete that work)

  • The taskkill calls are doing nothing hence the error code 128

Any reason for doing this? If the user is installing anything you will kill that as well

But the most likely issue… especially as it is preventing gather

  • You said some get hung up in one point. Is the executable still running on the endpoint?

If the executable tries to do any form of UI (dialog box or anything) it will hang

as this isn’t allowed when running as a service, which the client is doing

The installs must be done as “silent” installs for the client to work with them

Additionally some installs perform a quick install with the executable you call and then spawns a different process. The “wait” command only sees the initial install executable and thus ends. If the binary or file you are using is in the __Download directory and does this, it is still running and will prevent a further action from running as the __Download directory is attempted to be cleared but the file is locked. It is best to move the file to a temporary location before running an executable. There are also in the 8.2 release and later some additional commands in ActionScript to wait on the entire job not just the first executable, but everything spawned from it. This would be the “override wait” command with the completion=job parameter.