We struggled with the same problem for almost two months. Having tried everything suggested here (and various and sundry other things) with no success, we finally downgraded glibc to version 2.2.4. It works and keeps running for weeks.
We were able to identify that the bug is in the garbage collection of the jvm - at least that's where our jvm was crashing all the time. It looks like libjvm.so is dependent upon a bug in glibc that is not there anymore. With any later version of glibc, we saw crashes in anywhere from minutes to a couple of hours, regardless of which jdk we used. After downgrading glibc, we could use virtually any jdk just fine.
If anyone seeing this problem is running tomcat 4.1.29 on a linux distro - and you can, try moving back your glibc.