JDK-4864136 : JVM_handle_linux_signal is private in 1.4.2-beta
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.4.2
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: generic
  • Submitted: 2003-05-14
  • Updated: 2012-10-08
  • Resolved: 2003-05-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.4.2 b24Fixed
Related Reports
Relates :  
Relates :  
Description
Function JVM_handle_linux_signal() is hidden in 1.4.2-beta:

raq:~> strings libjvm.so | grep beta
1.4.2-beta-b19
raq:~> nm -D libjvm.so | grep JVM_handle_linux_signal
raq:~> 

This function is public before 1.4.2, for example, with 1.4.1:

[huanghui@raq client]$ strings libjvm.so|grep "1.4.1-"
1.4.1-b21
[huanghui@raq client]$ nm -D libjvm.so|grep JVM_handle_linux_signal
0029df90 T JVM_handle_linux_signal

This can cause applications to fail if they follow our suggestion
on how to install their own signal handlers and chain JVM signal
handler, because they won't be able to call JVM_handle_linux_signal().
The technique is discussed here:

 http://developer.java.sun.com/developer/bugParade/bugs/4361067.html

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mantis-rc FIXED IN: mantis-rc INTEGRATED IN: mantis-b24 mantis-rc tiger-b08
14-06-2004

SUGGESTED FIX [huanghui@raq makefiles]$ diff mapfile-vers-product.new mapfile-vers-product 187c187 < JVM_handle_linux_signal; --- > JVM_handle_solaris_signal; [huanghui@raq makefiles]$ diff mapfile-vers-debug.new mapfile-vers-debug 187c187 < JVM_handle_linux_signal; --- > JVM_handle_solaris_signal;
11-06-2004

EVALUATION The problem is in Linux mapfiles (build/linux/makefiles/mapfile-vers-product, and build/linux/makefiles/mapfile-vers-debug). They were copied over from Solaris. As the result, Linux mapfiles incorrectly include the symbol for "JVM_handle_solaris_signal", which doesn't exist. It should be "JVM_handle_linux_signal". See suggested fix. ###@###.### 2003-05-14
14-05-2003