hy,
we have some problems with our server. after 3 weeks we got an OutOfMemory problem. we have 2 GB heap space and only around 50 concurrent users. so there have to be some memory problems.
the first i have found is in the gateway plugin. on every login there is an timer created that will not be removed on logout. after ~320 logins from a test-script i got this open threads:
“Timer-318” daemon prio=10 tid=0x08226400 nid=0x1c68 in Object.wait()
“Timer-317” daemon prio=10 tid=0x08227400 nid=0x1c58 in Object.wait()
“Timer-316” daemon prio=10 tid=0x08224800 nid=0x1c3c in Object.wait()
“Timer-315” daemon prio=10 tid=0x08941800 nid=0x1c2c in Object.wait()
“Timer-314” daemon prio=10 tid=0x08227c00 nid=0x1c1c in Object.wait()
“Timer-313” daemon prio=10 tid=0x08941000 nid=0x1c05 in Object.wait()
“Timer-312” daemon prio=10 tid=0x08944400 nid=0x1bf5 in Object.wait()
“Timer-311” daemon prio=10 tid=0x08a28000 nid=0x1be5 in Object.wait()
“Timer-310” daemon prio=10 tid=0x080d5800 nid=0x1bd4 in Object.wait()
“Timer-309” daemon prio=10 tid=0x080d3400 nid=0x1bc4 in Object.wait()
“Timer-308” daemon prio=10 tid=0x08b15800 nid=0x1bb3 in Object.wait()
“Timer-307” daemon prio=10 tid=0x08b17c00 nid=0x1b9f in Object.wait()
.
.
.
“Timer-11” daemon prio=10 tid=0x08669800 nid=0x681 in Object.wait()
“Timer-10” daemon prio=10 tid=0x086a2400 nid=0x66f in Object.wait()
“Timer-9” daemon prio=10 tid=0x0835e000 nid=0x65d in Object.wait()
“Timer-8” daemon prio=10 tid=0x084e6c00 nid=0x64b in Object.wait()
“Timer-7” daemon prio=10 tid=0x0887a000 nid=0x637 in Object.wait()
“Timer-6” daemon prio=10 tid=0x084e8000 nid=0x60a in Object.wait()
“Timer-5” daemon prio=10 tid=0x08444000 nid=0x326 in Object.wait()
“Timer-4” daemon prio=10 tid=0x08534800 nid=0x25d in Object.wait()
“Timer-3” prio=10 tid=0x08790000 nid=0x7dc4 in Object.wait()
“Timer-2” prio=10 tid=0x0869a400 nid=0x7dc3 in Object.wait()
“Timer-1” prio=10 tid=0x08699800 nid=0x7dc2 in Object.wait()
“Timer-0” prio=10 tid=0x08681000 nid=0x7dc1 in Object.wait()
the account has an registered an aim/icq/msn account (aim/icq fails after some logins - too many logins)
after restarting the plugin i have the same amount of “timer threads”:
“Timer-322” prio=10 tid=0x088d0000 nid=0x219b in Object.wait()
“Timer-321” prio=10 tid=0x08e4c000 nid=0x2199 in Object.wait()
“Timer-320” prio=10 tid=0x08c99800 nid=0x2197 in Object.wait()
“Timer-319” prio=10 tid=0x08ead000 nid=0x2194 in Object.wait()
“Timer-318” daemon prio=10 tid=0x08226400 nid=0x1c68 in Object.wait()
“Timer-317” daemon prio=10 tid=0x08227400 nid=0x1c58 in Object.wait()
“Timer-316” daemon prio=10 tid=0x08224800 nid=0x1c3c in Object.wait()
“Timer-315” daemon prio=10 tid=0x08941800 nid=0x1c2c in Object.wait()
“Timer-314” daemon prio=10 tid=0x08227c00 nid=0x1c1c in Object.wait()
.
.
.
.
“Timer-10” daemon prio=10 tid=0x086a2400 nid=0x66f in Object.wait()
“Timer-9” daemon prio=10 tid=0x0835e000 nid=0x65d in Object.wait()
“Timer-8” daemon prio=10 tid=0x084e6c00 nid=0x64b in Object.wait()
“Timer-7” daemon prio=10 tid=0x0887a000 nid=0x637 in Object.wait()
“Timer-6” daemon prio=10 tid=0x084e8000 nid=0x60a in Object.wait()
“Timer-5” daemon prio=10 tid=0x08444000 nid=0x326 in Object.wait()
“Timer-4” daemon prio=10 tid=0x08534800 nid=0x25d in Object.wait()
so only 4 timers have been removed an where added again.
we currently use version 1.0.2.
notz