Hello Folks!
Some days ago I began to experience OutOfMemoryExceptions with my
XmlBlaster server instance. It's not the newest version (will try that
now though). The interesting thing is that is began only a few days
ago, before that there were no problems, I had my server running for
many weeks. In my use case there are many non-persistent, small
messages to one topic. After I got the exception I dumped the state of
the server and the thread list looked like this (which, I think, is
the cause for the problem):
Thread Group: main Max Priority:
10
Thread: XmlBlaster.MainThread Priority:
5
Thread: XmlBlaster.SessionTimer Priority: 5
Daemon
Thread: XmlBlaster.SocketDriver Priority: 5
Daemon
Thread: XmlBlaster.HttpIORServer Priority: 5
Daemon
Thread: Timer-0 Priority: 5
Daemon
[... lots of other normal things ...]
Thread: XmlBlaster.SSLSOCKET.SSL.tcpListener-poka Priority: 5
Daemon
[80+ more of this!]
So the user poka connects through SSL, and somehow it left a thread
for every single login I did. The client automatically disconnects
every time, and this user has a session timeout of a few ten minutes,
so everything should be cleared at most one hour after the last
activity of user poka.
What could have gone wrong? I can't stress enough that the XmlBlaster
version did not change, nor did the configuration.
I'll try a new version from SVN right now. Also did increate max.
stack size, but this does not fix the "thread leak" issue.
thanks for any tips,
Balázs Póka