Bug 112559
Summary: | IBM java freezes in a few hours. has to kill process with -9 | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 3 | Reporter: | chatpert <chatpert> |
Component: | IBMJava2-JRE | Assignee: | Karen Bennet <bennet> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 3.0 | CC: | jbs |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2004-09-20 14:35:16 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
chatpert
2003-12-22 21:16:06 UTC
I found out this is a bug in java 1.4. http://developer.java.sun.com/developer/bugParade/bugs/4959566.html more from this page: set environment variable LD_ASSUME_KERNEL=2.4.1, this will disable NPTL and avoid the memory leak. xxxxx@xxxxx 2003-12-04 Evaluation The errorid points to os_linux_i486.cpp, 774; further investigation shows that a pthread_getattr_np() call just failed with ENOMEM. JVM relies on pthread_getattr_np(), so it has no choice but to abort if the call fails. Starting from Redhat AS-3 (NPTL-0.60 and later), pthread_getattr_np() will allocate memory through malloc(), the memory is freed by pthread_attr_destroy(). In JVM, we didn't call pthread_attr_destroy() after pthread_getattr_np(), this causes a small memory leak whenever pthread_getattr_np() is called (it is called during thread creation). In a long running application, especially when it has created lots of threads, the memory leaks could add up and cause an out-of-memory error. A temporary workaround is to disable NPTL by setting LD_ASSUME_KERNEL to 2.4.1. xxxxx@xxxxx 2003-12-04 Fix is to call pthread_attr_destroy() after pthread_getattr_np(). It has been verified with 1.4.2_02 JDK. xxxxx@xxxxx 2003-12-08 Also I've been told that the issue has been fixed on the libc side too. It will be available in the first update RHEL3 U1. xxxxx@xxxxx 2003-12-08 Fixed in RHEL3 U2. Closing. |