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

ObjectInputStream is not robust w.r.t. simultaneous access and exception throwing.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P2 P2
    • 1.4.2_04
    • 1.4.2_04
    • hotspot
    • generic
    • solaris_8

      ObjectInputStream is not robust with respect to simultaneous access and exception throwing.


      Problem:
      =======

      A JVM crash in interpreter code, doing an array store: we have followed a wild pointer.

      A synthesized stack shows two threads doing:

      SEGV
      interpreter codelet aastore
      void java.io.ObjectInputStream$HandleTable.markException(int handle, ClassNotFoundException ex)
      readArray
      NMethod java/io/ObjectInputStream.readObject0(Z)Ljava/lang/Object; 0xf99d8fe0
      NMethod java/io/ObjectInputStream.readObject()Ljava/lang/Object;
      NMethod weblogic/common/internal/ChunkedObjectInputStream.readObject()Ljava/lang/Object;
      interp weblogic.rjvm.MsgAbbrevInputStream
      NMethod weblogic/security/acl/internal/AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; ...
      ...


      We are reading an object (array) from an ObjectInputStream, both in thread t@53 and t@51, and we appear to be trying to throw a ClassNotFoundException in each.

      The two threads are doing their ClassNotFoundException processing on different ObjectInputStreams, and have different java/io/ObjectInputStream$HandleTable objects, but they appear to share a wild pointer in the java/io/ObjectStreamClass .
      ###@###.### 10/7/04 14:58 GMT

            coleenp Coleen Phillimore
            kevinw Kevin Walls
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: