Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8016602

java.io.ObjectInputStream.readArray gets a SIGSEGV

XMLWordPrintable

    • b37
    • sparc
    • solaris

      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.

            vlivanov Vladimir Ivanov
            ehelin Erik Helin
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: