JDK-4709333 : Exceptions thrown in C++ JNI code cause JVM to Abort and Core
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.4.1
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2002-06-28
  • Updated: 2012-11-02
  • Resolved: 2002-06-28
Related Reports
Duplicate :  
Relates :  
Description

Name: nt126004			Date: 06/27/2002


FULL PRODUCT VERSION :
Java(TM) Runtime Environment, Standard Edition (build 1.4.1-beta-b14)
Java HotSpot(TM) Client VM (build 1.4.1-beta-b14, mixed mode)

FULL OPERATING SYSTEM VERSION :
Linux 2.4.9-12smp
glibc-2.2.4-19.3
Red Hat Linux release 7.1 (Seawolf)

A DESCRIPTION OF THE PROBLEM :
When C++ JNI code throws exceptions, the JVM cores without
allowing the code to catch the exception.  This was
documented int BUG 4389172.  The fix for this was to change
all references in libjvm.so from libstdc++-lib6.1-1.so.2 to
libstdc++-libc6.2-2.so.3.  In the 1.4.1-beta release, it
looks like this library is no longer linked in, but compiled
in.  This prevents users from making the fix.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See bug 4389172

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
See bug 4389172
---------- END SOURCE ----------

CUSTOMER WORKAROUND :
No longer any work around.
(Review ID: 158585) 
======================================================================

Comments
EVALUATION looks like a backwards compatibility issue. Maybe a hopper candidate. ###@###.### 2002-06-28 Again, C++ ABI compatibility issues. They are currently tracked by bug 4694590. Note that 4694590 is asking for compatibility with gcc-3.1, while this bug is logged for gcc-2.96. A decision will be made for Mantis (1.4.2) as to what gcc versions we will be supporting. dup this one with 4694590. BTW, it's reported by other customers that the workaround suggested in 4389172 can cause other problems. The only way to solve binary compatibility problems is to build VM and JNI libraries using the same version of gcc. ###@###.### 2002-06-28
28-06-2002