File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Threads and Synchronization and the fly likes EDU.oswego.cs.dl.util.concurrent in threadump Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "EDU.oswego.cs.dl.util.concurrent in threadump" Watch "EDU.oswego.cs.dl.util.concurrent in threadump" New topic

EDU.oswego.cs.dl.util.concurrent in threadump

Joshua Emerson

Joined: Apr 21, 2008
Posts: 19
Getting the below in threadump. "EDU.oswego.cs.dl.util.concurrent.LinkedQueue.poll" is seen and have not used any such reference in pom file. Any help, how it refers to EDU package and how to proceed debugging

"Thread-66058" daemon prio=10 tid=0x00002ab9e3a14800 nid=0x4982 in Object.wait() [0x00002ab9f1243000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00002ab95ecfb180> (a java.lang.Object)
at EDU.oswego.cs.dl.util.concurrent.LinkedQueue.poll(Unknown Source)
- locked <0x00002ab95ecfb180> (a java.lang.Object)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(Unknown Source)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$ Source)
Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42965
That library may be a dependency of a library you're using directly.

how to proceed debugging

Debugging what? A thread dump is just a snapshot of all threads in a JVM; it does not indicate any problem. Is there a problem?
Chris Hurst
Ranch Hand

Joined: Oct 26, 2003
Posts: 443

The class is from backport / concurrent .jar , it was the predecessor to the Java 5 concurrency classes and is pretty much the same code, give or the take the package names / one collection and the Java 5 has a habit of using a bit more memory. It was written by Doug Lea (I think ;-) ) when proposing the Java 5 classes I believe and is also used when you need to run Java 4 code that can use Java 5 like concurrency classes.

I'd just google it or JAD (decompile it) to view the code, though in this case just looking at the equivalent Java 5 class should be enough. You can step to say eclipse with JAD or other decompiler and you should be able to add breakpoints step wound the code base etc but ...

basically you have a thread pool that sits waiting for jobs, you add a job it excutes it on a thread and waits for the next one. Your thread is waiting for a task to come in to work on, that's all expected behavior.

Maybe this (you might want an older version) ...

"Eagles may soar but weasels don't get sucked into jet engines" SCJP 1.6, SCWCD 1.4, SCJD 1.5,SCBCD 5
Joshua Emerson

Joined: Apr 21, 2008
Posts: 19
Thank you so much for the details provided Chris
I agree. Here's the link:
subject: EDU.oswego.cs.dl.util.concurrent in threadump
It's not a secret anymore!