I have run into a strange issue where "jstack -l <pid>" does not work. I have tried this as the user that solr (5.4.1) is running as. I get following error.

$ jstack -l 24064
24064: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding

I am running Solr 5.4.1, JDK 8 with latest updates.

I have also downloaded Jetty separately, installed and started the server. However, jstack on directly downloaded jetty (not solr bundled) works just fine. After some research, I have found that /tmp/hsperfdata_<user>/<pid> files is not created by the bundled Solr while similar file is created by standalone jetty server. After some more debugging, it appears that the solr startup process creates the file (/tmp/hsperfdata_<user>/<pid>) and then removes it. I have tried with "-F" option but no use. I have also set "-XX:+UsePerfData" explicitly to no avail. I have enabled JMX and connected via visualvm to get thread dump as of now. But, for me jstack is more convenient to trigger a series of thread dumps. Any ideas? Thanks.

Reply via email to