[
https://jira.codehaus.org/browse/MNG-5676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=351713#comment-351713
]
BJ Hargrave commented on MNG-5676:
----------------------------------
Probably. The implementation of loadClass(String,boolean) incorrectly "forgets"
about class loading locks already returned to callers of getClassLoadingLock.
So if the code calls getClassLoadingLock and synchronizes on the lock and then
calls super.loadClass(String,boolean) before findLoadedClass/defineClass,
another thread that calls getClassLoadingLock after the first thread calls
super.loadClass(String,boolean) will get a different lock object. So both
threads can then race to define the class and boom.
> mvn -U crashes with IBM JDK
> ---------------------------
>
> Key: MNG-5676
> URL: https://jira.codehaus.org/browse/MNG-5676
> Project: Maven
> Issue Type: Bug
> Affects Versions: 3.1.1, 3.2.2
> Environment: IBM JDK, OpenSuSE enterprise server 11
> Reporter: Dan Tran
>
> details discussion is at
> http://maven.40175.n5.nabble.com/Upgrade-to-3-1-1-causes-problems-td5776875.html
> work around is replace boot/plexus-classworlds-2.5.x.jar with
> plexus-classworlds-2.4.1.jar as discussed at the link
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)