1. A method for detecting stalling comprising: receiving identification of a work process thread group for a task executing in a work process executing on a computer system, wherein the work process thread group includes a work process thread and the receiving includes receiving identification of the work process thread by a control process executing on the computer system; getting stack traces for the work process thread via calls of an application programming interface; calculating instances of a hash at respective times for each of the stack traces; comparing respective instances of the hash calculated at least the first predetermined amount of time apart in order to detect whether a state change has occurred for the work process thread; marking the task as running responsive to the comparing indicating that a state change has occurred for the work process thread; marking the task as stalled responsive to the comparing indicating that no state change has occurred for the work process thread for at least a first predefined amount of time; and marking the work process as stalled responsive to detecting an absence of a predetermined signal from the work process for at least a second predefined amount of time.