thread dump from abayer shows that something weird is happening with SplittableBuildListener.

Below is my analysis of the issue from one of our customers (ZD-19531), which turns out to be the same problem:

3 threads appear to be blocked on SplittableBuildListener.synchronizeOnMark of the same object, which is odd, as the execution of this is supposed to be sequential.

  • Computer.threadPoolForRemoting [#1099] is waiting to enter SplittableBuildListener.synchronizeOnMark.
  • Computer.threadPoolForRemoting [#1108] is inside synchronizeOnMark and on markCountLock.wait.
  • Computer.threadPoolForRemoting [#1113] has found the mark and trying to report that, but blocked to get in
  • Computer.threadPoolForRemoting [#1104] is inside synchronizeOnMark waiting for Future.get()

I think there's incorrect use of synchronization here. When wait() happens, the lock is released, which allows another thread to enter synchronizedOnMark. We need to use another lock to ensure synchronizeOnMark is not concurrently invoked.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to