accept connections for 3 or 4 hours ... did you try taking some thread dumps like yonik suggested to see what all the threads were doing?
A kill -3 will not kill the process. It does nothing and there's no thread dump on the console. kill -9 does kill it though. btw, this has been a bigger problem for me because there's a separate hardware issue and the system freezes about every 12 hours. So I have to reboot it. After that I noticed solr not responding. I've done a temporary fix for this by running a proxy in front of tomcat. Then I updated my system startup to start solr, wait 20 seconds, run a few queries, wait 20 seconds, then start the proxy. This is working fine now. But I'd still like to fix the real problem. Let me know if there's anything else I can test or information I can provide. thanks, Kevin