...
Failure to encase the wait() or await() methods inside a while loop can lead to indefinite blocking and denial of service (DoS).
Rule | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
THI03-J | Low | Unlikely | Yes | NoMedium | P2 | L3 |
Automated Detection
| Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Klocwork |
| JAVA.WAIT.IN.LOOP | |||||||
| Parasoft Jtest |
| CERT.THI03.UWIL | Call 'wait()' and 'await()' only inside a loop that tests the liveness condition | ||||||
| SonarQube |
| S2274 | "Object.wait(...)" and "Condition.await(...)" should be called inside a "while" loop |
...