[JIRA] (JENKINS-53028) Deadlock in Pipeline jobs
Title: Message Title Andrew Bayer updated an issue Jenkins / JENKINS-53028 Deadlock in Pipeline jobs Change By: Andrew Bayer Component/s: workflow-cps-plugin Component/s: pipeline Add Comment This message was sent by Atlassian JIRA (v7.10.1#710002-sha1:6efc396) -- 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.
[JIRA] (JENKINS-53028) Deadlock in Pipeline jobs
Title: Message Title Ye Yang commented on JENKINS-53028 Re: Deadlock in Pipeline jobs hey just regarding any update on this Add Comment This message was sent by Atlassian JIRA (v7.10.1#710002-sha1:6efc396) -- 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.
[JIRA] (JENKINS-53028) Deadlock in Pipeline jobs
Title: Message Title Ye Yang created an issue Jenkins / JENKINS-53028 Deadlock in Pipeline jobs Issue Type: Bug Assignee: Unassigned Attachments: jstack_jenkins.txt Components: pipeline Created: 2018-08-14 05:31 Environment: Jenkins (major versions) Pipeline (major versions) Priority: Major Reporter: Ye Yang One thread called CpsFlowExecution.onProgramEnd, in which it will lock current object (CpsFlowExecution.this) since it's a synchronized block: synchronized /*ACQUIRED THE SYNC ROOT*/ void onProgramEnd(Outcome outcome) { ... this.getStorage().flush(); ... in this function, it will call a method: this.getStorage().flush(), in which it will go to acquire the write lock of readWriteLock in TimingFlowNodeStorage object: @Override public void flush() throws IOException { try (Timing t = time(TimingKind.flowNode)) { readWriteLock.writeLock().lock(); //WAITING THE READ LOCK HERE try {