I'm in a reasonably large project and I'm running into some problems with our weblogic server gradually slowing down and then crashing mysteriously. After a bit of digging around, I discovered the following site (
http://jroller.com/agileanswers/date/20060623) which alludes to some problem with Sun's JVM that causes this strangeness. Now, an extremely valid question would be "why are you posting on the Hibernate forums if you think this is a problem with Sun's JVM?". The reason I'm posting here is because I think that the problem may well be coming from
something about the way Hibernate is using strings, and because I've been told that using BEA's jvm isn't really an option if it can be helped.
I have several error logs, and they all look very much like the following:
Heap
PSYoungGen total 124416K, used 2702K [0xe3000000, 0xeac00000, 0xf8800000)
eden space 123904K, 2% used [0xe3000000,0xe32a3950,0xea900000)
from space 512K, 0% used [0xeab00000,0xeab00000,0xeab80000)
to space 512K, 56% used [0xeab80000,0xeabc8000,0xeac00000)
PSOldGen total 700416K, used 54096K [0xb8400000, 0xe3000000, 0xe3000000)
object space 700416K, 7% used [0xb8400000,0xbb8d42f8,0xe3000000)
PSPermGen total 131072K, used 131071K [0xb0400000, 0xb8400000, 0xb8400000)
object space 131072K, 99% used [0xb0400000,0xb83fffe8,0xb8400000)
Additionally, each of them seems to die when doing... something... with hibernate, as you can see below:
0x02721358 JavaThread "Store org.hibernate.cache.StandardQueryCache Expiry Thread" daemon [_thread_blocked, id=3844]
0x01d60bc8 JavaThread "Store org.hibernate.cache.StandardQueryCache Spool Thread" daemon [_thread_blocked, id=3843]
0x026acb88 JavaThread "Store org.hibernate.cache.UpdateTimestampsCache Expiry Thread" daemon [_thread_blocked, id=3842]
0x02610cc8 JavaThread "Store org.hibernate.cache.UpdateTimestampsCache Spool Thread" daemon [_thread_blocked, id=3841]
Additionally, I've noticed that periodically when deleting our application (the only one on the server) and reinstalling it, weblogic complains that it's out of PermGen space. However, this strikes me as a little odd -- why would weblogic have problems allocating memory after it just freed up everything it was using? This leads me to believe that string.intern() is messed up somehow, and it seems likely that it's hibernate that's causing this. A note to hibernate developers reading this: hibernate is a lovely product that's worked very well for all of us thus far and it's certainly possible that this error is coming from somewhere else or due to incorrect usage of hibernate on our side.
So, long winded explanations aside, I would be eternally grateful if someone could suggest anything to fix this problem, or if you have any suggestions to the root cause. Again, although I would love to just change the JVM and forget about it, but doing so will involve a lot of red tape.
Thanks very much for any replies.[/i]