Insepctor Interrupted Error Analysis

I currently have an Analysis that is evaluating correctly on all machines/clients. However, in the console on the Results tab only some clients are displaying and when I hover over the error in the console I get a message of “Inspector Interrupted”. I can run the same relevance locally on the clients that the console returns this message as via the Fixlet Debugger and everything evaluates just fine and I receive the expected results. Is anyone familiar with why this “Inspector Interrupted” message would occur for some clients, but not others in the console? Below is the relevance if needed?

 unique values of ( ( (value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of keys whose ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") AND (not exists value "WindowsInstaller" of it OR value "WindowsInstaller" of it as string != "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of native registry) ; (if x64 of operating system then((value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of keys whose ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") AND (not exists value "WindowsInstaller" of it OR value "WindowsInstaller" of it as string != "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of registry) else nothing) ; ((value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of keys whose ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") AND (not exists value "WindowsInstaller" of it OR value "WindowsInstaller" of it as string != "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of keys "Software\Microsoft\Windows\CurrentVersion\Uninstall" of keys whose (exists key "Software\Microsoft\Windows\CurrentVersion\Uninstall" of it) of key "HKU" of registry) ; ((value "ProductName" of item 0 of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else ("")) of key "InstallProperties" of item 1 of it) of it whose ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") of key "InstallProperties" of item 1 of it AND exists value "ProductName" of item 0 of it) of (keys of item 0 of it, keys of item 1 of it) whose (name of item 0 of it = name of item 1 of it) of (key "Software\Microsoft\Installer\Products" of item 0 of it, key "Products" of item 1 of it) of (keys of key "HKU" of it, keys of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData" of it) whose ((exists key "Software\Microsoft\Installer\Products" of item 0 of it and exists key "Products" of item 1 of it)) of native registry) ; (elements of (set of ((value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of it whose ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") AND (exists value "WindowsInstaller" of it AND value "WindowsInstaller" of it as string = "1") AND exists value "DisplayName" of it) of keys "InstallProperties" of items 1 of (keys of key "HKLM\Software\Classes\Installer\Products" of it, keys of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products" of it) whose (name of item 0 of it = name of item 1 of it) of native registry) - set of ((value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of keys whose ((exists value "SystemComponent" of it AND value "SystemComponent" of it as string = "1") AND (exists value "WindowsInstaller" of it AND value "WindowsInstaller" of it as string = "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of native registry ; (if (x64 of operating system) then((value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of keys whose ((exists value "SystemComponent" of it AND value "SystemComponent" of it as string = "1") AND (exists value "WindowsInstaller" of it AND value "WindowsInstaller" of it as string = "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of registry) else nothing)))) ; ( (value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of items 1 of (keys of key "HKLM\Software\Classes\Installer\Products" of it, keys of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of it) whose ((value "ProductName" of item 0 of it = value "DisplayName" of item 1 of it) AND ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") AND (exists value "WindowsInstaller" of it AND value "WindowsInstaller" of it as string = "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of item 1 of it) of native registry ; (value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of items 1 of (keys of key "HKLM\Software\Classes\Installer\Products" of native registry, keys of key "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall" of registry) whose ((value "ProductName" of item 0 of it = value "DisplayName" of item 1 of it) AND ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") AND (exists value "WindowsInstaller" of it AND value "WindowsInstaller" of it as string = "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of item 1 of it) ; (value "DisplayName" of it as string & (if (exists value "DisplayVersion" of it) then (" | " & value "DisplayVersion" of it as string) else (""))) of items 1 of (keys of key "HKLM\Software\Classes\Installer\Products" of it, keys "Software\Microsoft\Windows\CurrentVersion\Uninstall" of keys whose (exists key "Software\Microsoft\Windows\CurrentVersion\Uninstall" of it) of key "HKU" of it) whose ((value "ProductName" of item 0 of it = value "DisplayName" of item 1 of it) AND ((not exists value "SystemComponent" of it OR value "SystemComponent" of it as string != "1") AND (exists value "WindowsInstaller" of it AND value "WindowsInstaller" of it as string = "1") AND exists value "UninstallString" of it AND not exists value "ParentKeyName" of it AND exists value "DisplayName" of it) of item 1 of it) of native registry ) )

I’ve been seeing that a bit as well.
By default a relevance query is only allowed to execute for 60 seconds, then it is interrupted/terminated. A query taking 60 seconds is a symptom that something is wrong and it would probably never complete anyway.

I’m seeing that for a few systems using the default “Installed Applications - Windows” Analysis. When I right-click the affected computer and use “Send Refresh”, the client will update the results after a few minutes and all looks good again.

I’m running on 9.5.2, but I don’t know whether this issue is new.

Our TEM server is also on 9.5.2 with our clients/relays using version 9.2.7.53 (due to a previous PMR issue and this was the resolution). The machines I’ve manually run the analysis through the fixlet debugger seems to be evaluating anywhere from 3000 - 6000 ms which should be well below the 60 second time frame. I believe we’ve seen this issue for a while, however are just now asking about it.

The ‘inspector interrupted’ message indicates that the Client chose to interrupt the evaluation of a relevance expression due to receiving a UDP notification to perform some other activity. By default, the Client will postpone acting on a UDP notification for 60 seconds before interrupting a long-evaluating relevance expression. This is configurable via the following Client setting (with a maximum of 600):

_BESClient_Resource_InterruptSeconds

Note that we generally do not recommend increasing the value of this setting unless necessary.

To help avoid this scenario, you can try to improve the evaluation time of the relevance expression (by optimizing the relevance for instance, or allowing the Client to leverage more CPU resources) and/or reduce the likelihood that the Client will receive a UDP notification while evaluating it (by increasing the evaluation interval of the property for instance, or reducing the number of UDP notifications the endpoint receives).

Note also that the Fixlet Debugger will almost always have more resources available to it by default than the Client (which is limited to 2% CPU or less), and so the evaluation times in Fixlet Debugger cannot be directly compared with how long it will take the Client to evaluate a given relevance expression.

4 Likes

Thanks for the clarification!

@Aram Hey, I know it’s been almost two years since this post, but I was wondering if the client setting you are recommending is:

_BESClientResource_InterruptSeconds

or

_BESClient_Resource_InterruptSeconds

The IBM BigFix wiki page for properties lists the second version: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli%20Endpoint%20Manager/page/Configuration%20Settings/

1 Like

You’re right, it was a typo on my part. I will edit the post above to reflect the correct setting. Thanks!

1 Like