JDK-8040085 : dtrace/jsdt tests crash on solaris. found an unadvertised bad scavengable oop in the code cache
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8,9
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • Submitted: 2014-04-14
  • Updated: 2019-09-13
  • Resolved: 2014-04-28
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.
JDK 8 JDK 9
8u20Fixed 9 b14Fixed
Description
test dtrace/jsdt/creation/CheckAllTypesTest crashes

Almost all dtrace/jsdt tests crashes like this on Solaris.

log:
#  Internal Error (/opt/jprt/T/P1/184029.amurillo/s/src/share/vm/code/nmethod.cpp:2478), pid=15261, tid=2
#  fatal error: found an unadvertised bad scavengable oop in the code cache

hs_err file is attached. Summary of hs_err:
V  [libjvm.so+0x1070b72]  void report_fatal(const char*,int,const char*)+0x55a;;  __1cMreport_fatal6Fpkci1_v_+0x55a
V  [libjvm.so+0x22aaaba]  void nmethod::verify_scavenge_root_oops()+0x9f2;;  __1cHnmethodZverify_scavenge_root_oops6M_v_+0x9f2
V  [libjvm.so+0x228e57f]  nmethod::nmethod #Nvariant 1(Method*,int,CodeOffsets*,CodeBuffer*,int)+0x383;;  __1cHnmethod2t6MpnGMethod_ipnLCodeOffsets_pnKCodeBuffer_i_v_+0x383
V  [libjvm.so+0x228c63c]  nmethod*nmethod::new_dtrace_nmethod(methodHandle,CodeBuffer*,int,int,int,int)+0x3d8;;  __1cHnmethodSnew_dtrace_nmethod6FnMmethodHandle_pnKCodeBuffer_iiii_p0_+0x3d8
V  [libjvm.so+0x2690280]  nmethod*SharedRuntime::generate_dtrace_nmethod(MacroAssembler*,methodHandle)+0x5a1c;;  __1cNSharedRuntimeXgenerate_dtrace_nmethod6FpnOMacroAssembler_nMmethodHandle__pnHnmethod__+0x5a1c


Comments
Problem: JDK-7017732 added 'CodeCache::add_scavenge_root_nmethod(this)' to the constructors of nmethod, except for the dtrace-constructor version. Solution: Add CodeCache::add_scavenge_root_nmethod(this) to the dtrace-constructor of nmethod.
28-04-2014

The same assert fails also in 8, starting from b107. From build b58-b106 we get a different failure: # after -XX: or in .hotspotrc: SuppressErrorAt=/nmethod.cpp:107 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/tmp/workspace/8-2-build-solaris-amd64/jdk8/131/hotspot/src/share/vm/code/nmethod.cpp:107), pid=1066, tid=2 # assert(compiler() != NULL) failed: must be # # JRE version: Java(TM) SE Runtime Environment (8.0-b106) (build 1.8.0-ea-fastdebug-b106) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b48-fastdebug mixed mode solaris-amd64 compressed oops) # Core dump written. Default location: /export/anoll/core or core.1066 # # An error report file with more information is saved as: # /export/anoll/hs_err_pid1066.log Locks owned: Mutex: [0x43eaf8/0x1] tty_lock - owner: 0x442800 Mutex: [0x43ef08/0x762201] CodeCache_lock - owner: 0x442800 Mutex: [0x440b78/0x1] AdapterHandlerLibrary_lock - owner: 0x442800 Phoning home... Using server: 10.161.186.18, port 4711 # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # Current thread is 2 The last build with which the test does not crash (but still fails) is JDK8/b57.
24-04-2014

ILW=breaks lots of dtrace tests, sometimes, none=HMH=P1
23-04-2014

It would be good if we had the disassembly: [2014-04-12T09:22:52.81] Could not load hsdis-amd64.so; library not loadable; PrintAssembly is disabled
16-04-2014

Here is the additional output that DebugScavangeRoot produces: [2014-04-12T09:22:52.81] Compiled method (nm) 939 0 ! 0 dtrace.jsdt.creation.CheckAllTypesTest.$DTraceTracingProxy0::method_Byte (34 bytes) [2014-04-12T09:22:52.81] total in heap [0xfffffd7feca5a110,0xfffffd7feca5a280] = 368 [2014-04-12T09:22:52.81] relocation [0xfffffd7feca5a238,0xfffffd7feca5a240] = 8 [2014-04-12T09:22:52.81] main code [0xfffffd7feca5a240,0xfffffd7feca5a278] = 56 [2014-04-12T09:22:52.81] oops [0xfffffd7feca5a278,0xfffffd7feca5a280] = 8 [2014-04-12T09:22:52.81] Could not load hsdis-amd64.so; library not loadable; PrintAssembly is disabled [2014-04-12T09:22:52.81] pc-bytecode offsets: [2014-04-12T09:22:52.82] *** scavengable oop 0xfffffd7fe724fa88 found at 0xfffffd7feca5a278 (offset 360) [2014-04-12T09:22:52.82] sun.misc.Launcher$AppClassLoader [2014-04-12T09:22:52.82] - klass: 'sun/misc/Launcher$AppClassLoader' [2014-04-12T09:22:52.82] - ---- fields (total size 11 words): [2014-04-12T09:22:52.82] - private final 'parent' 'Ljava/lang/ClassLoader;' @12 a 'sun/misc/Launcher$ExtClassLoader' (15874bf 158a185) [2014-04-12T09:22:52.82] - private final strict 'parallelLockMap' 'Ljava/util/concurrent/ConcurrentHashMap;' @16 a 'java/util/concurrent/ConcurrentHashMap' (158a185 158a18d) [2014-04-12T09:22:52.82] - private final strict 'package2certs' 'Ljava/util/Map;' @20 a 'java/util/concurrent/ConcurrentHashMap' (158a18d 158a15c) [2014-04-12T09:22:52.82] - private final strict 'classes' 'Ljava/util/Vector;' @24 a 'java/util/Vector' (158a15c 158a167) [2014-04-12T09:22:52.82] - private final 'defaultDomain' 'Ljava/security/ProtectionDomain;' @28 a 'java/security/ProtectionDomain' (158a167 158a19d) [2014-04-12T09:22:52.82] - private final strict 'domains' 'Ljava/util/Set;' @32 a 'java/util/Collections$SynchronizedSet' (158a19d 158a174) [2014-04-12T09:22:52.82] - private final strict 'packages' 'Ljava/util/HashMap;' @36 a 'java/util/HashMap' (158a174 158a17a) [2014-04-12T09:22:52.82] - private strict 'nativeLibraries' 'Ljava/util/Vector;' @40 a 'java/util/Vector' (158a17a 158a1a0) [2014-04-12T09:22:52.82] - final 'assertionLock' 'Ljava/lang/Object;' @44 a 'java/lang/Object' (158a1a0 0) [2014-04-12T09:22:52.82] - private strict 'packageAssertionStatus' 'Ljava/util/Map;' @48 NULL (0 0) [2014-04-12T09:22:52.82] - strict 'classAssertionStatus' 'Ljava/util/Map;' @52 NULL (0 930778) [2014-04-12T09:22:52.82] - private 'defaultAssertionStatus' 'Z' @64 false [2014-04-12T09:22:52.82] - private final 'initialized' 'Z' @68 true [2014-04-12T09:22:52.82] - private final strict 'pdcache' 'Ljava/util/HashMap;' @72 a 'java/util/HashMap' (158a1a2 158a1be) [2014-04-12T09:22:52.82] - private final 'ucp' 'Lsun/misc/URLClassPath;' @76 a 'sun/misc/URLClassPath' (158a1be 158a204) [2014-04-12T09:22:52.82] - private final 'acc' 'Ljava/security/AccessControlContext;' @80 a 'java/security/AccessControlContext' (158a204 158a1a8) [2014-04-12T09:22:52.82] - private strict 'closeables' 'Ljava/util/WeakHashMap;' @84 a 'java/util/WeakHashMap' (158a1a8 1)
16-04-2014

RULE dtrace/jsdt/creation/CheckAllTypesTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/ContextTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/ManyProvidersDeclarationTest1 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/ManyProvidersDeclarationTest2 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/ManyProvidersDeclarationTest30 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/ManyProvidersDeclarationTest31 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/ManyProvidersDeclarationTest32 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/isEnabled/OverlayedIsEnabledTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/isEnabled/Prov4IsEnabledTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/isEnabled/SimpleEnabledTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/nameAttributes/Big30Test Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/nameAttributes/Big30UniqTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/nameAttributes/SmallerTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/nameAttributes/SmallerUniqTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/stability/ArgsAttributesTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/stability/FunctionAttributesTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/stability/MaxArgsAttributesTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/stability/ModuleAttributesTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/creation/stability/NameAttributesTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/dispose/DisposeMiddleFireTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/dispose/IsEnabledDisposeTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/dispose/ManualDisposeTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/dispose/ManyProvidersDisposeTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/dispose/NameDoubleDisposeTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/dispose/OverlayedIsEnabledDisposeTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/dispose/SimpleDisposeFireTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/ContextFireTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypes/FireAllTypes0ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypes/FireAllTypes10ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypes/FireAllTypes12ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypes/FireAllTypes25ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypes/FireAllTypes6ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes10ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes6ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes7ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes8ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypesArgn/FireAllTypes9ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireAllTypesOnce Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireCharTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireManual/FireManualAllTypes0ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireManual/FireManualAllTypes12ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireManual/FireManualAllTypes25ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireManual/FireManualAllTypes6ArgsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireNative Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireNullString Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/FireStringTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/InvalidTrigger Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/ManyProbesDeclarationTest100 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/ManyProbesDeclarationTest30 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/MiscTypesTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/madtest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/multithreaded/ManyCallsManualTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/multithreaded/ManyCallsTest Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/multithreaded/ManyProbesDeclarationManualTest100 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/invocation/multithreaded/ManyProbesDeclarationTest100 Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/runtime_permission/declaration/grant Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/runtime_permission/fire/grant Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/tracing_property/declaration/enabled Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache RULE dtrace/jsdt/tracing_property/fire/enabled Crash Internal Error ...nmethod.cpp...fatal error: found an unadvertised bad scavengable oop in the code cache
14-04-2014