Robert Munteanu created SLING-7432:
--------------------------------------

             Summary: Thread pool clean up code can lead to infinite loops in 
ThreadLocal.get
                 Key: SLING-7432
                 URL: https://issues.apache.org/jira/browse/SLING-7432
             Project: Sling
          Issue Type: Bug
          Components: Commons
    Affects Versions: Commons Threads 3.2.10
            Reporter: Robert Munteanu
            Assignee: Robert Munteanu
             Fix For: Commons Threads 3.2.14


The thread local clean up code added in SLING-6261 leads to Threads stuck in 
{{ThreadLocal.get}}.

I am working on a simplified test case, but the stack trace is similar to

{noformat}
"pool-1-thread-1" prio=10 tid=0x00007f47f4374800 nid=0xb19 runnable 
[0x00007f47e734e000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.ThreadLocal$ThreadLocalMap.set(ThreadLocal.java:429)
        at java.lang.ThreadLocal$ThreadLocalMap.access$100(ThreadLocal.java:261)
        at java.lang.ThreadLocal.set(ThreadLocal.java:183)
        at 
org.apache.sling.commons.threads.impl.ThreadPoolExecutorCleaningThreadLocalsTest$RunnableImplementation.run(ThreadPoolExecutorCleaningThreadLocalsTest.java:100)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
{noformat}



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

Reply via email to