-
Bug
-
Resolution: Cannot Reproduce
-
P2
-
hs25
During Kitchensink testing, we get a SIGSEGV in java.io.ObjectInputStream:
J java.io.ObjectInputStream.readArray(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.readObject0(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.defaultReadFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
J java.io.ObjectInputStream.readSerialData(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
J java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.readObject0(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.readObject()Ljava/lang/Object;
j spec.benchmarks.serial.Main.serialize()V+135
j spec.benchmarks.serial.Main.harnessMain()V+1
j spec.harness.BenchmarkThread.runLoop(Lspec/harness/results/IterationResult;)Lspec/harness/results/LoopResult;+74
j spec.harness.BenchmarkThread.executeIteration()Z+74
j spec.harness.BenchmarkThread.run()V+1
v ~StubRoutines::call_stub
V [libjvm.so+0x9c2320] void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x5b8;; __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5b8
V [libjvm.so+0x9c0f5c] void JavaCalls::call_virtual(JavaValue*,KlassHandle,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x184;; __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_pnGSymbol_5pnRJavaCallArguments_pnGThread__v_+0x184
V [libjvm.so+0x9c106c] void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,Symbol*,Symbol*,Thread*)+0xcc;; __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_pnGSymbol_6pnGThread__v_+0xcc
V [libjvm.so+0xad299c] void thread_entry(JavaThread*,Thread*)+0xec;; __1cMthread_entry6FpnKJavaThread_pnGThread__v_+0xec
V [libjvm.so+0x10c3734] void JavaThread::thread_main_inner()+0x254;; __1cKJavaThreadRthread_main_inner6M_v_+0x254
V [libjvm.so+0x10c3480] void JavaThread::run()+0x370;; __1cKJavaThreadDrun6M_v_+0x370
V [libjvm.so+0xe5ccf8] java_start+0x258;; java_start+0x258
It seems like we are reading a null pointer:
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000014;;
since the instruction we crash on is: ld [ %i4 + 0x14 ], %l2
and %i4 is 0x0000000000000000.
J java.io.ObjectInputStream.readArray(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.readObject0(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.defaultReadFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
J java.io.ObjectInputStream.readSerialData(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
J java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.readObject0(Z)Ljava/lang/Object;
J java.io.ObjectInputStream.readObject()Ljava/lang/Object;
j spec.benchmarks.serial.Main.serialize()V+135
j spec.benchmarks.serial.Main.harnessMain()V+1
j spec.harness.BenchmarkThread.runLoop(Lspec/harness/results/IterationResult;)Lspec/harness/results/LoopResult;+74
j spec.harness.BenchmarkThread.executeIteration()Z+74
j spec.harness.BenchmarkThread.run()V+1
v ~StubRoutines::call_stub
V [libjvm.so+0x9c2320] void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x5b8;; __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5b8
V [libjvm.so+0x9c0f5c] void JavaCalls::call_virtual(JavaValue*,KlassHandle,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x184;; __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_pnGSymbol_5pnRJavaCallArguments_pnGThread__v_+0x184
V [libjvm.so+0x9c106c] void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,Symbol*,Symbol*,Thread*)+0xcc;; __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_pnGSymbol_6pnGThread__v_+0xcc
V [libjvm.so+0xad299c] void thread_entry(JavaThread*,Thread*)+0xec;; __1cMthread_entry6FpnKJavaThread_pnGThread__v_+0xec
V [libjvm.so+0x10c3734] void JavaThread::thread_main_inner()+0x254;; __1cKJavaThreadRthread_main_inner6M_v_+0x254
V [libjvm.so+0x10c3480] void JavaThread::run()+0x370;; __1cKJavaThreadDrun6M_v_+0x370
V [libjvm.so+0xe5ccf8] java_start+0x258;; java_start+0x258
It seems like we are reading a null pointer:
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000014;;
since the instruction we crash on is: ld [ %i4 + 0x14 ], %l2
and %i4 is 0x0000000000000000.