Uploaded image for project: 'JBoss Marshalling'
  1. JBoss Marshalling
  2. JBMAR-156

Protocol incompatibility between serializable classes with different non-serializable superclasses

    XMLWordPrintable

Description

    Protocol versions up to 3 of the River marshalling protocol erroneously serialize a class descriptor for the first non-serializable superclass of a serializable class.

    This manifests itself particularly when an IBM JVM and a Sun JVM communicate by serializing a StringBuilder or StringBuffer class. The Sun JDK contains a shared superclass called AbstractStringBuilder which is not present in IBM's version.

    In version 4 the stream should be marked with a NULL when the first non-serializable class is hit. For version 3 though we can just mark it with java.lang.Object because that is also a single byte and should work as well (in 1.4 at least, this class is only used to detect the end of the chain; it is not used to make decisions about what constructor to invoke). Only the sender needs to change; the receiver should continue functioning.

    Attachments

      Activity

        People

          dlloyd@redhat.com David Lloyd
          dlloyd@redhat.com David Lloyd
          Votes:
          0 Vote for this issue
          Watchers:
          2 Start watching this issue

          Dates

            Created:
            Updated:
            Resolved: