slachiewicz opened a new pull request, #40:
URL: https://github.com/apache/maven-executor/pull/40

   Closes #38.
   
   `dad2243` bounded the stall with a fork timeout, but a wedged test still 
burns nine minutes and reports `Tests run: 0` — no method name, no stack trace, 
and the reports discarded with the workspace.
   
   The reasoning in #38 was wrong about why the existing `@Timeout(60)` does 
nothing. It does fire: the thread dumps on apache/maven#12761 show the 
watcher's queue already drained while the test thread is still parked. What 
defeats it is that `FastTerminal.getTerminal` catches `Exception`, 
`InterruptedException` included, and the caller re-enters the blocking call, so 
the watcher's single interrupt is swallowed. `SEPARATE_THREAD` reports from the 
watcher side and does not depend on the worker ever unblocking.
   
   Verified with a probe that swallows the interrupt and re-parks: under 
`SAME_THREAD` it reproduces the CI signature exactly (`Tests run: 0`, `There 
was a timeout in the fork`); under `SEPARATE_THREAD` it fails in 5 s as `Tests 
run: 1, Errors: 1` carrying the stack frame that blocked.
   
   The stall itself is apache/maven#12761, a self-deadlock in `FastTerminal`; 
this PR does not fix it. Until that lands the job goes red in about a minute 
instead of hanging.
   
   *This change was created with AI assistance.*
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to