I have already created https://issues.apache.org/jira/browse/MSHADE-467 and also might have a fix. Please watch the issue and the soon to be created PR to know when to get ready to re-test this with you real project.
-- Alexander Kriegisch https://scrum-master.de Alexander Kriegisch schrieb am 20.01.2024 10:01 (GMT +07:00): > Hi Estelle. > > Thanks for the reproducer, great job! > > When the mojo is running concurrently, each thread gets its own mojo > instance. I.e., there can only be a problem if > > a) the mojo uses static variables in a thread-unsafe way or > > b) the mojo uses some shared state from Maven itself. > > Case (a) seems not to be the case, I briefly looked throught the source > code. There are only static inner classes, static methods and final > static fields, nothing fishy. > > As for case (b), when calculating the dependency-reduced POM (DRP), the > plugin uses (a clone of) the Maven project model. There was a fix for > the endless loop problem in 3.4.1, see > https://issues.apache.org/jira/browse/MSHADE-413. My unverified > hypothesis for now is that the fix was imperfect and there is still some > shared state with Maven that the plugin is messing with unwillingly. > Maybe some cloned state is not cloned deeply enough or something that > ought have been clones was just referenced. > > To answer your question: Yes, I think it makes sense to create a MSHADE > issue, pointing to this conversation, MSHADE-413 and your reproducer. > Maybe today I have a little bit of time to look into it. If I am lucky > enough to identify and solve the problem, I can create an issue myself, > if none exists yet until then. > > Kind regards > > > Estelle Bremont schrieb am 20.01.2024 00:37 (GMT +07:00): > >> Hello ! >> I work with François. Here's a quite simple example reproducing the problem >> : https://github.com/stl543/shadeMT >> It has a parent pom so the 4 child modules have strictly the same >> configuration apart from their artifactId. >> >> The following command will give you results varying between 12, 16 and 20 >> showing that <exclusions> are sometimes missing from the generated >> dependency-reduced-pom.xml. Usually all the poms are generated the same >> (which is expected) but sometimes some have exclusions that others do not. >> >> mvn clean package -T 1C && find . -name "dependency-reduced-pom.xml" -exec >> bash -c 'cat $0 | grep exclu | wc -l ' {} \; >> >> >> >> - shade 3.5.1 & 3.4.1 : have the problem of missing exclusions >> - shade ranging from 3.2.1 to 3.4.0 have freeze problems (known bug) >> - shade 3.2.0 : ok >> - shade 3.1.0 : ok >> >> Do you think I should open an issue directly with the shade plugin ? >> Best regards, >> Estelle >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org