JDK-8131153 : SIGSEGV at oopDesc*java_lang_ClassLoader::non_reflection_class_loader(oopDesc*)+0x7c
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 9
  • Priority: P2
  • Status: Closed
  • Resolution: Cannot Reproduce
  • Submitted: 2015-07-14
  • Updated: 2016-04-26
  • Resolved: 2016-04-26
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 9
9Resolved
Related Reports
Relates :  
Description
#  SIGSEGV (0xb) at pc=0xfffffff2c9d4c484, pid=5382, tid=0x0000000000000015
#
# JRE version: Java(TM) SE Runtime Environment (9.0) (build 1.9.0-internal-20150702211628.amurillo.jdk9-hs-2015-07--b00)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-20150702211628.amurillo.jdk9-hs-2015-07--b00 compiled mode solaris-sparc compressed oops)
# Problematic frame:
# V  [libjvm.so+0xa4c484]  oopDesc*java_lang_ClassLoader::non_reflection_class_loader(oopDesc*)+0x7c
#
# Core dump will be written. Default location: /scratch/local/aurora/sandbox/results/ResultDir/stressDictionary/core or core.5382
#

Comments
I can't reproduce this and the aurora links are gone. Looked through the code and didn't see what the bug was.
26-04-2016

[~coleenp] It doesn't look similar to me. Class loader OOP seems invalid. The crash happens here: ld [ %i0 + 8 ], %i3 I0=0x0000000700000007 is an unknown value oop java_lang_ClassLoader::non_reflection_class_loader(oop loader) { if (loader != NULL) { // See whether this is one of the class loaders associated with // the generated bytecodes for reflection, and if so, "magically" // delegate to its parent to prevent class loading from occurring // in places where applications using reflection didn't expect it. Klass* delegating_cl_class = SystemDictionary::reflect_DelegatingClassLoader_klass(); // This might be null in non-1.4 JDKs if (delegating_cl_class != NULL && loader->is_a(delegating_cl_class)) { return parent(loader); } } return loader; } Class loader OOP comes from: ciKlass* ciEnv::get_klass_by_name_impl(ciKlass* accessing_klass, const constantPoolHandle& cpool, ciSymbol* name, bool require_local) { ... Handle loader(THREAD, (oop)NULL); Handle domain(THREAD, (oop)NULL); if (accessing_klass != NULL) { loader = Handle(THREAD, accessing_klass->loader()); where accessing_klass == ciBytecodeStream::_holder It seems _holder is always a VM anonymous class (e.g., in hs_err_pid10144.log crash happens when parsing a field getter from java.nio.file.Files$$Lambda$99/161642380). Since _holder is ciInstanceKlass*, ciObjectFactory::create_new_metadata() should keep it from being GCed. Also, I don't see any class unloading events. Event: 45,412 Thread 0x000000010037a000 11163 b 2 java.nio.file.Files$$Lambda$99/161642380::run (8 bytes) Last GC: Event: 45,319 GC heap before {Heap before GC invocations=20 (full 0): garbage-first heap total 143360K, used 97792K [0x0000000734000000, 0x0000000734100460, 0x00000007c0000000) region size 1024K, 7 young (7168K), 1 survivors (1024K) Metaspace used 15179K, capacity 16210K, committed 18560K, reserved 1064960K class space used 1499K, capacity 1662K, committed 2176K, reserved 1048576K Event: 45,384 GC heap after Heap after GC invocations=21 (full 0): garbage-first heap total 143360K, used 88064K [0x0000000734000000, 0x0000000734100460, 0x00000007c0000000) region size 1024K, 1 young (1024K), 1 survivors (1024K) Metaspace used 15179K, capacity 16210K, committed 18560K, reserved 1064960K class space used 1499K, capacity 1662K, committed 2176K, reserved 1048576K } Event: 45,318 Executing VM operation: G1IncCollectionPause Event: 45,384 Executing VM operation: G1IncCollectionPause done Event: 45,387 Thread 0x00000001006f0800 Uncommon trap: trap_request=0x00000004 fr.pc=0xffffffff72696e70 Event: 45,387 Thread 0x00000001006f0800 DEOPT PACKING pc=0xffffffff72696e70 sp=0xffffffff5abfdd30 Event: 45,387 Thread 0x00000001006f0800 DEOPT UNPACKING pc=0xffffffff6a43a0d0 sp=0xffffffff5abfdc10 mode 2 Event: 45,404 Thread 0x00000001006d4800 Uncommon trap: trap_request=0x00000004 fr.pc=0xffffffff726977f0 Event: 45,404 Thread 0x00000001006d4800 DEOPT PACKING pc=0xffffffff726977f0 sp=0xffffffff5b1fdb00 Event: 45,404 Thread 0x00000001006d4800 DEOPT UNPACKING pc=0xffffffff6a43a0d0 sp=0xffffffff5b1fd9e0 mode 2
11-04-2016

[~vlivanov] Would this be another symptom of JDK-8141420 ?
08-04-2016

ILW=SEGV;stress test, intermittent;none=HLH=>P2
15-07-2015

Finally, reproduced it, but with SIGBUS: # # SIGBUS (0xa) at pc=0xfffffff1d0b4c46c, pid=10144, tid=0x0000000000000015 # # JRE version: Java(TM) SE Runtime Environment (9.0) (build 1.9.0-internal-20150702211628.amurillo.jdk9-hs-2015-07--b00) # Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-20150702211628.amurillo.jdk9-hs-2015-07--b00 compiled mode solaris-sparc compressed oops) # Problematic frame: # V [libjvm.so+0xa4c46c] oopDesc*java_lang_ClassLoader::non_reflection_class_loader(oopDesc*)+0x64 # Stack is the same: Stack: [0xffffffff5de00000,0xffffffff5df00000], sp=0xffffffff5defdab0, free space=1014k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0xa4c46c] oopDesc*java_lang_ClassLoader::non_reflection_class_loader(oopDesc*)+0x64 V [libjvm.so+0xfe5f94] Klass*SystemDictionary::find(Symbol*,Handle,Handle,Thread*)+0x2c V [libjvm.so+0xfeb92c] Klass*SystemDictionary::find_constrained_instance_or_array_klass(Symbol*,Handle,Thread*)+0x12c V [libjvm.so+0x6c00fc] ciKlass*ciEnv::get_klass_by_name_impl(ciKlass*,constantPoolHandle,ciSymbol*,bool)+0x35c V [libjvm.so+0x6c069c] ciKlass*ciEnv::get_klass_by_name_impl(ciKlass*,constantPoolHandle,ciSymbol*,bool)+0x8fc V [libjvm.so+0x6c0d80] ciKlass*ciEnv::get_klass_by_index_impl(constantPoolHandle,int,bool&,ciInstanceKlass*)+0x2a8 V [libjvm.so+0x6c143c] ciKlass*ciEnv::get_klass_by_index(constantPoolHandle,int,bool&,ciInstanceKlass*)+0x434 V [libjvm.so+0x6c8660] ciField::ciField(ciInstanceKlass*,int)+0x298 V [libjvm.so+0x6c2114] ciField*ciEnv::get_field_by_index_impl(ciInstanceKlass*,int)+0x12c V [libjvm.so+0x6c22bc] ciField*ciEnv::get_field_by_index(ciInstanceKlass*,int)+0x16c V [libjvm.so+0x7048f0] ciField*ciBytecodeStream::get_field(bool&)+0xc8 V [libjvm.so+0x5bfdc4] void GraphBuilder::access_field(Bytecodes::Code)+0x24 V [libjvm.so+0x5cbe4c] BlockEnd*GraphBuilder::iterate_bytecodes_for_block(int)+0x3f7c V [libjvm.so+0x5cf50c] GraphBuilder::GraphBuilder #Nvariant 1(Compilation*,IRScope*)+0x924 V [libjvm.so+0x5e2f4c] IRScope::IRScope(Compilation*,IRScope*,int,ciMethod*,int,bool)+0x22c V [libjvm.so+0x5e36f8] IR::IR(Compilation*,ciMethod*,int)+0x100 V [libjvm.so+0x5a614c] void Compilation::build_hir()+0x284 Current CompileTask: C1: 45452 11163 b 2 java.nio.file.Files$$Lambda$99/161642380::run (8 bytes)
14-07-2015