JDK-4972597 : REGRESSION:BeanContextSupport.BCSChild changed its serialVersionUID
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.beans
  • Affected Version: 5.0
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_2.6
  • CPU: sparc
  • Submitted: 2003-12-24
  • Updated: 2004-04-30
  • Resolved: 2004-04-24
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.
Other
5.0 beta2Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description

Name: ygR10224			Date: 12/24/2003


Filed By      : SPB JCK team (###@###.###)
JDK           : java full version "1.5.0-beta-b32"
JCK           : 1.5
Platform[s]   : Solaris
switch/Mode   : 
JCK test owner : http://javaweb.eng/jct/sqe/JCK-tck/usr/owners.jto
Failing Test [s] :
    api/java_beans/beancontext/BeanContextSupport/BCSChild/serial/index.html#Constructor[serial2001]
    api/java_beans/beancontext/BeanContextSupport/BCSChild/serial/index.html#Input[serial2002]


Specification excerpt:
======================
--------- J2SE API spec v.1.5 ---------
...
...
>From JOSS, ch. 4.6 "Stream Unique Identifiers":
The stream-unique identifier is a 64-bit hash of the class name, interface
class names, methods, and fields. The value must be declared in all versions
of a class except the first. It may be declared in the original class but
is
not required. The value is fixed for all compatible classes.
...
...
---------- end-of-excerpt ---------------

Problem description
===================
The serialVersionUID of 
java.beans.beancontext.BeanContextSupport.BCSChild
has been changed in JDK1.5.0-beta-b32, so Serialized Form of 
this class changed incompatibly:

<gyi@helmet> /set/java/jdk1.4.2/solaris/bin/serialver java.beans.beancontext.BeanContextSupport.BCSChild
java.beans.beancontext.BeanContextSupport.BCSChild:    static final long serialVersionUID = -5815286101609939109L;

<gyi@helmet> /set/jdk-builds/JDK1.5.0b31/solaris-sparc/bin/serialver java.beans.beancontext.BeanContextSupport.BCSChild
java.beans.beancontext.BeanContextSupport.BCSChild:    static final long serialVersionUID = -5815286101609939109L;

<gyi@helmet> /set/jdk-builds/JDK1.5.0b32/solaris-sparc/bin/serialver java.beans.beancontext.BeanContextSupport.BCSChild
java.beans.beancontext.BeanContextSupport.BCSChild:    static final long serialVersionUID = -4317674434506163016L;


JCK test source location:
==========================
/java/re/jck/1.5/promoted/latest/JCK-runtime-15/tests

======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-beta2 FIXED IN: tiger-beta2 INTEGRATED IN: tiger-beta2 VERIFIED IN: tiger-b49
14-06-2004

EVALUATION This test may be invalid since the serialization of non-static inner classes is not recommended. See the note: http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/serial-arch.html#wp4539 ###@###.### 2004-01-13 This was caused by a change to use '+' rather than '$' for synthetic members. This change is being reversed under bug id 4982231. Closing as a duplicate. ###@###.### 2004-01-23 Name: ygR10224 Date: 03/16/2004 From the evaluation to BugID 5010859: "...All of the serialVersionUID incompatibilities listed above should be corrected by declaring an explicit serialVersionUID equal to the default serialVersionUID of the class in 1.4.x. The synthetic member changes enumerated above do not represent a compiler bug--javac is within its limits to implement nested classes differently from release to release. Even if javac reverted to defining 'this$0' as private, other compiler changes would be likely to affect default serialVersionUID values in the future." So class java.beans.beancontext.BeanContextSupport.BCSChild should have explicitly defined serialVersionUID. ====================================================================== This bug was mistakenly closed as duplicate of 4982231. SPB JCK team believes that inner class under consideration should contain defined serialVersionUID field. See #5010859 and previous evaluation for more details. ###@###.### 2004-03-22 ====================================================================== Same story as 4972593: java.beans.beancontext.BeanContextSupport.BCSChild 1.4.2: -5815286101609939109L; 1.5b32: -4317674434506163016L; 1.5b40: -684760432089852517L; b32: private this$0 -> (package private) this+0 b40: this+0 -> this$0 ###@###.### 2004-03-30
30-03-2004