public class DeadlockAnalyzer extends ListenerAdapter
Constructor and Description |
---|
DeadlockAnalyzer(Config config,
JPF jpf) |
Modifier and Type | Method and Description |
---|---|
void |
objectLocked(VM vm,
ThreadInfo ti,
ElementInfo ei)
notify if an object lock was taken (this includes automatic
surrender during a wait())
|
void |
objectNotify(VM vm,
ThreadInfo ti,
ElementInfo ei)
notify if an object notifies a single waiter
|
void |
objectNotifyAll(VM vm,
ThreadInfo ti,
ElementInfo ei)
notify if an object notifies all waiters
|
void |
objectUnlocked(VM vm,
ThreadInfo ti,
ElementInfo ei)
notify if an object lock was released (this includes automatic
reacquisition after a notify())
|
void |
objectWait(VM vm,
ThreadInfo ti,
ElementInfo ei)
notify if a wait() is executed
|
void |
publishPropertyViolation(Publisher publisher) |
void |
stateAdvanced(Search search)
got the next state
Note - this will be notified before any potential propertyViolated, in which
case the currentError will be already set
|
void |
stateBacktracked(Search search)
state was backtracked one step
|
void |
stateRestored(Search search)
a previously generated state was restored
(can be on a completely different path)
|
void |
stateStored(Search search)
somebody stored the state
|
void |
threadBlocked(VM vm,
ThreadInfo ti,
ElementInfo ei)
thread waits to acquire a lock
// NOTE: vm.getLastThreadInfo() does NOT have to be the running thread, as this
// notification can occur as a result of a lock operation in the current thread
|
void |
threadStarted(VM vm,
ThreadInfo ti)
new Thread entered run() method
|
void |
threadTerminated(VM vm,
ThreadInfo ti)
Thread exited run() method
|
choiceGeneratorAdvanced, choiceGeneratorProcessed, choiceGeneratorRegistered, choiceGeneratorSet, classLoaded, exceptionBailout, exceptionHandled, exceptionThrown, executeInstruction, gcBegin, gcEnd, instructionExecuted, loadClass, methodEntered, methodExited, objectCreated, objectReleased, propertyViolated, publishConstraintHit, publishFinished, publishStart, publishTransition, searchConstraintHit, searchFinished, searchStarted, stateProcessed, statePurged, threadInterrupted, threadNotified, threadScheduled, threadWaiting, vmInitialized
public void objectLocked(VM vm, ThreadInfo ti, ElementInfo ei)
VMListener
objectLocked
in interface VMListener
objectLocked
in class ListenerAdapter
public void objectUnlocked(VM vm, ThreadInfo ti, ElementInfo ei)
VMListener
objectUnlocked
in interface VMListener
objectUnlocked
in class ListenerAdapter
public void objectWait(VM vm, ThreadInfo ti, ElementInfo ei)
VMListener
objectWait
in interface VMListener
objectWait
in class ListenerAdapter
public void objectNotify(VM vm, ThreadInfo ti, ElementInfo ei)
VMListener
objectNotify
in interface VMListener
objectNotify
in class ListenerAdapter
public void objectNotifyAll(VM vm, ThreadInfo ti, ElementInfo ei)
VMListener
objectNotifyAll
in interface VMListener
objectNotifyAll
in class ListenerAdapter
public void threadBlocked(VM vm, ThreadInfo ti, ElementInfo ei)
VMListener
threadBlocked
in interface VMListener
threadBlocked
in class ListenerAdapter
public void threadStarted(VM vm, ThreadInfo ti)
VMListener
threadStarted
in interface VMListener
threadStarted
in class ListenerAdapter
public void threadTerminated(VM vm, ThreadInfo ti)
VMListener
threadTerminated
in interface VMListener
threadTerminated
in class ListenerAdapter
public void stateAdvanced(Search search)
SearchListener
stateAdvanced
in interface SearchListener
stateAdvanced
in class ListenerAdapter
public void stateBacktracked(Search search)
SearchListener
stateBacktracked
in interface SearchListener
stateBacktracked
in class ListenerAdapter
public void stateStored(Search search)
SearchListener
stateStored
in interface SearchListener
stateStored
in class ListenerAdapter
public void stateRestored(Search search)
SearchListener
stateRestored
in interface SearchListener
stateRestored
in class ListenerAdapter
public void publishPropertyViolation(Publisher publisher)
publishPropertyViolation
in interface PublisherExtension
publishPropertyViolation
in class ListenerAdapter