Still looking for help with "<closed>" notation

Questions about YourKit Java Profiler
Post Reply
sapotech
Posts: 2
Joined: Fri Oct 28, 2016 3:51 pm

Still looking for help with "<closed>" notation

Post by sapotech »

As I mentioned yesterda y in a message that seems to have been deleted, I'm seeing a lot of threads marked <closed> in my application, despite the fact that there are stack traces associated with the threads that make them look like they're waiting. A typical example might look like this:

Code: Select all

java.lang.Object.wait() Object.java: 502
com.day.j2ee.servletengine.HttpListener$Worker.await() HttpListener.java: 606
com.day.j2ee.servletengine.HttpListener$Worker.run() HttpListener.java: 631
java.lang.Thread.run() Thread.java: 745
What I'd like to understand, is exactly what "<closed>" means in this case. Is the thread deleted? The socket on which it was waiting closed? Some other status?

Any explanation anyone could give on what this precisely means would be appreciated.
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Still looking for help with "<closed>" notation

Post by Anton Katilin »

In which view do you see those "<closed>"? Could you please clarify or provide a screenshot.
sapotech
Posts: 2
Joined: Fri Oct 28, 2016 3:51 pm

Re: Still looking for help with "<closed>" notation

Post by sapotech »

Maybe this will help:
Image

Each are titled:

Code: Select all

10.12.66.122 [ ... ] <closed> tid=## [WAITING] [DEMON]  [Open object]
  java.lang.Object.wait() Object.java: 502
  com.day.j2ee.servletengine.HttpListener$Worker.await() HttpListener.java: 606
  com.day.j2ee.servletengine.HttpListener$Worker.run() HttpListener.java: 631
  java.lang.Thread.run() Thread.java: 745
I have no idea what state these threads are in, or why they're called both <closed> and [WAITING] at the same time.
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Still looking for help with "<closed>" notation

Post by Anton Katilin »

"<closed>" is a part of the threads' names. The profiler just shows the names as is. Please check your application code to see how it gives/updates names to/of its threads.
Post Reply