JDK-4343761 : Remove dead code pertaining to _lwp_{create,exit} interposition [appcert clean]
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.3.0
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,solaris_1
  • CPU: generic,sparc
  • Submitted: 2000-06-06
  • Updated: 2012-10-08
  • Resolved: 2000-06-21
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.3.0 sol-beta2Fixed
Related Reports
Duplicate :  
Description
Needed to pass appcert; else we have dependence on __lwp_create (for instance)
which appcert doesn't like. A pre-requisite to Solaris bundling.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: kest-sol-beta2 FIXED IN: kest-sol-beta2 INTEGRATED IN: kest-sol-beta2
14-06-2004

WORK AROUND Fail Appcert ;-)
11-06-2004

SUGGESTED FIX Removal of dead code (code became dead when Peter Kessler removed the use of interposition on these calls) fixes the symbol problem. y.s.ramakrishna@eng 2000-06-14Date: Tue, 13 Jun 2000 15:34:48 -0700 (PDT) From: "Y. S. Ramakrishna" <###@###.###> To: ###@###.### Subject: Code Manager notification Mime-Version: 1.0 Event: putback-to Parent workspace: /net/jano/export/disk05/hotspot/ws/1.3/solaris_baseline (jano:/export/disk05/hotspot/ws/1.3/solaris_baseline) Child workspace: /net/jano.eng/export/disk05/hotspot/imgr/ws/20000613122209.ysr.kestrel (jano.eng:/export/disk05/hotspot/imgr/ws/20000613122209.ysr.kestrel) User: ysr Comment: Original workspace: neeraja:/net/jde1/export/jtech1/ysr/kestrel Parent workspace: /net/jano/export/disk05/hotspot/ws/1.3/solaris_baseline Original user: ysr 4343761 Remove dead code pertaining to _lwp_{create,exit} interposition [appcert clean] Appcert complains about the presence of __lwp_create among the undefined symbols in our libjvm.so's. This is due to dead code that did not get removed when the _lwp_create et al. interposition was removed by Peter Kessler. I removed the dead code. This is clearly a no-risk fix that will allow us to pass appcert. While making the above changes, I found some inconsistencies in alternate signal stack maintenance, and fixed these. These are mainly the removal of the redundant flag MightUseStackBanging and consolidating the installation and removal of alternate signal stacks into thread initialization and thread destruction respectively. Added some asserts in the installation and removal methods to check for consistency. Corrected some erroneous uses of UseStackBanging flag to determine if alternate stacks should be used or not. This putback thus fixes two other bugs that came in recently, namely: 4344558 1.3 beta2 failed VolanoMark with -server flag 4344615 Modena test with client in mixed mode throws an unexpected exception Made UseStackBanging a develop flag. It defaults to true on Solaris and false elsewhere. Changing this default setting causes errors on both platforms, the latter somewhat worse than the former. Much help/advice from Peter Kessler. Approved for beta2 by jerryd. Reviews: jbarrett, pbk*2, sgoldman Tests: . Volano, Create2, SPEC (bound & unbound threads) . test in bug report 4344615 on prescribed large machines . various stack overflow tests (thanks to ajacobs, cox, jane, jbarrett, pbk for contributing the tests) . warm-and-breathing tests after last sync Note: the memory leak, most clearly manifested on phalanx, running Volano is orthogonal to this fix. Ken has almost fixed that. Performance: 2% improvement in Volano is probably in the noise (only 5 samples at 200 connections). passed solaris i486 compiler1 SPECjvm98 GeoMean 22.91 26.98 passed solaris i486 compiler2 SPECjvm98 GeoMean 18.03 31.54 passed solaris i486 core SPECjvm98 GeoMean 50.43 50.43 passed solaris sparc compiler1 SPECjvm98 GeoMean 14.63 15.69 passed solaris sparc compiler2 SPECjvm98 GeoMean 13.17 23.25 passed solaris sparc core SPECjvm98 GeoMean 31.42 31.42 passed win32 i486 compiler1 SPECjvm98 GeoMean 29.51 34.06 passed win32 i486 compiler2 SPECjvm98 GeoMean 23.69 38.61 passed win32 i486 core SPECjvm98 GeoMean 75.26 75.26 Files: update: src/os/solaris/vm/os_solaris.cpp update: src/os/solaris/vm/os_solaris.hpp update: src/os_cpu/solaris_i486/vm/os_solaris_i486.cpp update: src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp update: src/share/vm/includeDB_core update: src/share/vm/runtime/arguments.cpp update: src/share/vm/runtime/arguments.hpp update: src/share/vm/runtime/globals.cpp update: src/share/vm/runtime/globals.hpp update: src/share/vm/prims/jni.cpp A few clean-ups (none semantic) recommended in a review were missed in this putback and will be putback soon (re-using this bug-id).
11-06-2004

EVALUATION y.s.ramakrishna@eng 2000-06-06: Fixed by removing dead code. Testing fixed workspace. Fix is essentially zero-risk. y.s.ramakrishna@eng 2000-06-12: Some inconsistencies in alternate signal stack maintenance were found by code instapection while remving the above dead code. These have been fixed and tests are in progress. Changes will be put back by COB 12 June, and will probably appear in _b20 build of beta2. y.s.ramakrishna@eng 2000-06-21: Integrated in build 20 of Kestrel Solaris beta (refresh).
21-06-2000