file serialization problem in java9 snapshot

Jon Berg jon.berg at gmail.com
Tue Apr 26 21:23:54 UTC 2016


Hi,

I would like to report a problem relating to writing a serialized object to
file.
This seems to be valid code in Java8.

I was hoping you could fix it in the snapshot since it seems to work great
otherwise and there are some new good features in java9 I am trying out.

I am using the Java 9 snapshot: (https://jdk9.java.net/)
built from source, on linux.

Reproducible with the attached code.
-------------- next part --------------
 [java] java.lang.NoClassDefFoundError: jdk/internal/reflect/SerializationConstructorAccessorImpl
     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:195)
     [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:833)
     [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:227)
     [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:136)
     [java]     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:109)
     [java]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base/Native Method)
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base/NativeMethodAccessorImpl.java:62)
     [java]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base/DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(java.base/Method.java:531)
     [java]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
     [java]     at org.apache.tools.ant.Task.perform(Task.java:348)
     [java]     at org.apache.tools.ant.Target.execute(Target.java:435)
     [java]     at org.apache.tools.ant.Target.performTasks(Target.java:456)
     [java]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
     [java]     at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
     [java]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
     [java]     at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
     [java]     at org.apache.tools.ant.Main.runBuild(Main.java:854)
     [java]     at org.apache.tools.ant.Main.startAnt(Main.java:236)
     [java]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
     [java]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)
     [java] Caused by: java.lang.NoClassDefFoundError: jdk/internal/reflect/SerializationConstructorAccessorImpl
     [java]     at jdk.internal.misc.Unsafe.defineClass0(java.base/Native Method)
     [java]     at jdk.internal.misc.Unsafe.defineClass(java.base/Unsafe.java:1125)
     [java]     at jdk.internal.reflect.ClassDefiner.defineClass(java.base/ClassDefiner.java:63)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator$1.run(java.base/MethodAccessorGenerator.java:399)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator$1.run(java.base/MethodAccessorGenerator.java:394)
     [java]     at java.security.AccessController.doPrivileged(java.base/Native Method)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator.generate(java.base/MethodAccessorGenerator.java:393)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator.generateSerializationConstructor(java.base/MethodAccessorGenerator.java:112)
     [java]     at jdk.internal.reflect.ReflectionFactory.newConstructorForSerialization(java.base/ReflectionFactory.java:348)
     [java]     at java.io.ObjectStreamClass.getSerializableConstructor(java.base/ObjectStreamClass.java:1431)
     [java]     at java.io.ObjectStreamClass.access$1500(java.base/ObjectStreamClass.java:74)
     [java]     at java.io.ObjectStreamClass$2.run(java.base/ObjectStreamClass.java:499)
     [java]     at java.io.ObjectStreamClass$2.run(java.base/ObjectStreamClass.java:474)
     [java]     at java.security.AccessController.doPrivileged(java.base/Native Method)
     [java]     at java.io.ObjectStreamClass.<init>(java.base/ObjectStreamClass.java:474)
     [java]     at java.io.ObjectStreamClass.lookup(java.base/ObjectStreamClass.java:371)
     [java]     at java.io.ObjectOutputStream.writeObject0(java.base/ObjectOutputStream.java:1134)
     [java]     at java.io.ObjectOutputStream.writeObject(java.base/ObjectOut

Caused by: java.lang.NoClassDefFoundError: jdk/internal/reflect/SerializationConstructorAccessorImpl
     [java]     at jdk.internal.misc.Unsafe.defineClass0(java.base/Native Method)
     [java]     at jdk.internal.misc.Unsafe.defineClass(java.base/Unsafe.java:1125)
     [java]     at jdk.internal.reflect.ClassDefiner.defineClass(java.base/ClassDefiner.java:63)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator$1.run(java.base/MethodAccessorGenerator.java:399)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator$1.run(java.base/MethodAccessorGenerator.java:394)
     [java]     at java.security.AccessController.doPrivileged(java.base/Native Method)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator.generate(java.base/MethodAccessorGenerator.java:393)
     [java]     at jdk.internal.reflect.MethodAccessorGenerator.generateSerializationConstructor(java.base/MethodAccessorGenerator.java:112)
     [java]     at jdk.internal.reflect.ReflectionFactory.newConstructorForSerialization(java.base/ReflectionFactory.java:348)
     [java]     at java.io.ObjectStreamClass.getSerializableConstructor(java.base/ObjectStreamClass.java:1431)
     [java]     at java.io.ObjectStreamClass.access$1500(java.base/ObjectStreamClass.java:74)
     [java]     at java.io.ObjectStreamClass$2.run(java.base/ObjectStreamClass.java:499)
     [java]     at java.io.ObjectStreamClass$2.run(java.base/ObjectStreamClass.java:474)
     [java]     at java.security.AccessController.doPrivileged(java.base/Native Method)
     [java]     at java.io.ObjectStreamClass.<init>(java.base/ObjectStreamClass.java:474)
     [java]     at java.io.ObjectStreamClass.lookup(java.base/ObjectStreamClass.java:371)
     [java]     at java.io.ObjectOutputStream.writeObject0(java.base/ObjectOutputStream.java:1134)
     [java]     at java.io.ObjectOutputStream.writeObject(java.base/ObjectOutputStream.java:348)
     [java]     at com.Seri.<init>(Unknown Source)
     [java]     at com.Seri.main(Unknown Source)
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base/Native Method)
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base/NativeMethodAccessorImpl.java:62)
     [java]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base/DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(java.base/Method.java:531)
     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:218)
     [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:153)
     [java]     ... 21 more
     [java] Caused by: java.lang.ClassNotFoundException: jdk.internal.reflect.SerializationConstructorAccessorImpl
     [java]     at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1388)
     [java]     at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1337)
     [java]     at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1095)
     [java]     at java.lang.ClassLoader.loadClass(java.base/ClassLoader.java:419)
     [java]     ... 47 more
     [java] Java Result: -1


More information about the jdk9-dev mailing list