You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2018/03/06 23:26:11 UTC

[jira] [Closed] (GROOVY-8230) Deadlock in GroovyClassLoader

     [ https://issues.apache.org/jira/browse/GROOVY-8230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul King closed GROOVY-8230.
-----------------------------

> Deadlock in GroovyClassLoader
> -----------------------------
>
>                 Key: GROOVY-8230
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8230
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.5.0-beta-1
>            Reporter: Joel Bredeson
>            Assignee: John Wagenleitner
>            Priority: Major
>             Fix For: 2.5.0-beta-2
>
>         Attachments: GroovyClassLoaderDeadlock.txt
>
>
> The GroovyClassLoader.clearCache() method can deadlock when another thread is creating a new instance of a class. The clearCache() method locks the classCache, then when removing the class, through the InvokerHelper, locks the ClassInfo object. When a new instance is created that instance can lock the ClassInfo object first, then later request the lock for the classCache (This happens when requesting the entry getClassCacheEntry). If the timing between the two threads is unlucky a deadlock can occur. 
> Relevant stack trace attached.
> Groovy: 2.4.10 groovy-all-2.4.10-indy.jar
> Java: JRE 8u73_64



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)