I am facing an issue with the JVM memory levels of my JBoss 4.2.3GA App Server. The problem is that every few days the JVM reaches to a very low level (approx 100 MB free) and then the server chokes and is not taking any requests.
Now, to have a closer look at the issue, I took a heap dump of the App server at various times and found there were a few objects which were growing in size.
I picked up the worker threads with this highest size, and I found that instances of org.jboss.remoting.transport.socket.ServerThread is the one which is holding most of the references.
When I do a more detailed study, it shows me that the thread is holding the security information (authentication).
I am using JAAS in my project. Where first the client is authorized using a un/password and then authorized through a LDAP server for all the tasks like accessing EJB's etc.
Now, for every client call i am doing a jbosslogincontext.login(). But there is no place where I am doing a logout. Could this be a reason why the objects are growing ?
I am using App Server version 4.2.3 GA
I am using Sun Directory Server 4 as my LDAP server
Any pointers, or information from someone who has an idea about the same would be of great help.
Thanks a ton in advance
SCJP 5 , SCBCD [Prep Started ] , WLS 8.1 Server Admin
A login should be followed by a logout. However i don't know whether not having a logout would increase the memory footprint or lead to any leaks. But fixing the code to logout the user would be the right thing to do.