David Elliott created MNG-7536: ---------------------------------- Summary: Mojo execution locking in Maven 3.8.5 deadlocks my plugin Key: MNG-7536 URL: https://issues.apache.org/jira/browse/MNG-7536 Project: Maven Issue Type: Bug Affects Versions: 3.8.6, 3.8.5 Reporter: David Elliott Attachments: thread-example.tar.gz
I have an existing mojo which stopped working in Maven 3.8.5 but had been working for years. It looks like MNG-7156 is the cause. This mojo looks through its dependencies for other reactor projects, then looks at those projects for any plugin executions with a special phase name. For all found executions, it executes them in a thread pool as part of some other processing it is doing. My plugin is proprietary and I am unable to share it, but I am able to share a much smaller example illustrating the problem. Being example code, it just spawns a thread to run the mojo executions and attempts to join the thread. In the real code all executions for a given project will run sequentially on one thread, but each project's work will be scheduled concurrently on a thread pool. I didn't feel it was necessary to use a thread pool and schedule more than one project's executions for this example. The deadlock will occur simply by running any mojo at all on a secondary thread while the calling thread is running a mojo waiting for that secondary thread to complete. -- This message was sent by Atlassian Jira (v8.20.10#820010)