Fixlet Running States Question

I have been using BigFix for about two years now and there are some things that I still don’t quite understand.

I’m hoping someone on the forum can clarify.

I have a Fixlet whose Actionscript I’ve pasted below that has been running for several days.

When we look at the Status field of the Actions we see the following:
Completed 77
Evaluating 1
Not Relevant 5
Pending Downloads 2
Running 27
Waiting 14

Why would computers remain in states which should be transient, for multiple days? This is a problem for us because we never seem to get to 100% completion on any of our Fixlets, and we don’t want to spend our time troubleshooting all of the different failure modes.

This is a pretty typical result for us when we run Fixlets. Do other people see similar results? Does anyone have strategies for mitigating this behavior or improving the completion rate?

Actionscript
download as “unique_script_name.hta” "https://server/unique_script_name.hta"
download as “unique_archive.tar” “https://server/unique_archive.tar

if {operating system as string contains “Win”}
action uses wow64 redirection {not x64 of operating system}
folder create "C:\Options"
delete "C:\Options\unique_script_name.hta"
copy “__Download/unique_script_name.hta” "C:\Options\unique_script_name.hta"
override wait
runas=currentuser
wait mshta.exe c:\Options\unique_script_name.hta
waithidden reg add HKLM\Software\ORG /v graceful_termination /d “{(value “graceful_termination” of key “ORG” of user key of logged on user) as string | “dne”}” /f
elseif {operating system as string contains “Mac”}
folder delete "/opt/foo/bar"
folder create "/opt/foo/bar"
copy __Download/unique_archive.tar "/opt/foo/bar/unique_archive.tar"
wait tar xf /opt/foo/bar/unique_archive.tar --directory /opt/foo/bar/
run osascript /opt/foo/bar/unique_script_name.scpt
endif

Do the machines that are stuck in “running” have a logged-on user at the time the action runs? Is it possible the HTA application is being displayed but the user doesn’t close out the window?

A common issue is for a program that is started via ‘wait’ or ‘waithidden’ to display a confirmation prompt or something else that should be visible, but can’t display a user interface and thus never completes, leaving the client hung up on the running action. That shouldn’t be the case as you’re overriding with ‘runas=currentuser’ but even if the user interface is displayed properly, the action will still be stuck until the user closes the HTA window.

There have been postings in this forum on using ‘run’ rather than ‘wait’, along with a new feature to terminate ‘wait’ after a certain timeout period passes. If it spunds like this could be your issue we can look for some of those postings.