[ 
https://issues.apache.org/jira/browse/LOGGING-119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795206#action_12795206
 ] 

Ralph Goers commented on LOGGING-119:
-------------------------------------

I also ran the test case on OSX 10.6 with Java 1.6 and can't don't get a 
deadlock. I also upped the number of threads and the loop count to try to make 
it happen but was still unable to reproduce it.  Of course, that doesn't mean 
the bug isn't valid.

> deadlock on re-registration of logger
> -------------------------------------
>
>                 Key: LOGGING-119
>                 URL: https://issues.apache.org/jira/browse/LOGGING-119
>             Project: Commons Logging
>          Issue Type: Bug
>    Affects Versions: 1.1.1
>         Environment: Java 1.5, Windows
>            Reporter: Nitzan Niv
>         Attachments: BugDeadlock.java, Patch-WeakHashtable-1.1.1.txt
>
>
> Reached a deadlock inside common-logging while concurrently re-deploying 2 
> WARs.
> In each WAR there is an attempt to get a logger:
> private final Log logger = LogFactory.getLog(ContextLoader.class);
> Thread dump:
> [deadlocked thread] Thread-96:
> -----------------------------
> Thread 'Thread-96' is waiting to acquire lock 
> 'java.lang.ref.referencequ...@5266e0' that is held by thread 'Thread-102'
> Stack trace:
> ------------
>         
> org.apache.commons.logging.impl.WeakHashtable.purge(WeakHashtable.java:323)
>         
> org.apache.commons.logging.impl.WeakHashtable.rehash(WeakHashtable.java:312)
>         java.util.Hashtable.put(Hashtable.java:414)
>         
> org.apache.commons.logging.impl.WeakHashtable.put(WeakHashtable.java:242)
>         
> org.apache.commons.logging.LogFactory.cacheFactory(LogFactory.java:1004)
>         org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:657)
>         org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
>         
> org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:145)
>  
> [deadlocked thread] Thread-102:
> ------------------------------
> Thread 'Thread-102' is waiting to acquire lock 
> 'org.apache.commons.logging.impl.
> weakhashta...@1e02138' that is held by thread 'Thread-96'
> Stack trace:
> ------------
>         java.util.Hashtable.remove(Hashtable.java:437)
>         
> org.apache.commons.logging.impl.WeakHashtable.purgeOne(WeakHashtable.java:338)
>         
> org.apache.commons.logging.impl.WeakHashtable.put(WeakHashtable.java:238)
>         
> org.apache.commons.logging.LogFactory.cacheFactory(LogFactory.java:1004)
>         org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:657)
>         org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
>         
> org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:145)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to