- The Generic Script resource script contains an infinite loop (and therefore never exits).
- Calls to certain cluster application programming interfaces (APIs) are occurring. Calls to certain cluster APIs must be avoided from within a resource DLL or resource script because they can cause a cluster-wide deadlock. This script may be calling cluster APIs or starting Cluster.exe (which may result in calling cluster APIs that must be avoided) as one of the steps. For information about APIs that should not be called from a resource DLL or script, see “Function Calls to Avoid in Resource DLLs” in the Microsoft Platform SDK (PSDK).
- An action the Generic Script resource script is performing takes longer than the pending timeout value.
Changing Pending Timeout ValuesAny cluster resource operation should complete execution well inside the range of the pending timeout. For this reason, do not change the timeout value without a thorough understanding of why your script entry point exceeds this period of time. Also, consider all the implications of increasing this value because the cluster will be unresponsive until the timeout value is exceeded.
Recover and Restart the Cluster Service
- Disable the resource (in this example, named MyScript) by typing the following command: cluster resource "MyScript" /properties PersistentState=0
- Stop the Cluster service on the node that currently owns this resource’s group by typing the following command in a console window:net stop clussvc
- Fix any problem that you identify in the script that causes it to stop responding, loop, or exceed the pending timeout value. You may determine that the appropriate thing to do is to increase the pending timeout value, but make sure that you carefully consider the implications of doing so.
- Restart the Cluster service by typing the following command:net start clussvc
- Bring the resource back online manually by using Cluster Administrator or Cluster.exe. To do so, type the following command:cluster resource “MyScript” /onlineNote that bringing the resource back online automatically sets PersistentState to 1, so there is no need for an additional command to change the value from 0.
Article ID: 811685 - Last Review: Jan 7, 2008 - Revision: 1