-
Notifications
You must be signed in to change notification settings - Fork 392
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Search before asking
- I had searched in the issues and found no similar issues.
Version
OS: ArchLinux (6.16.7-zen1-1-zen)
Fory: 'org.apache.fory:fory-core:0.13.0-SNAPSHOT'
Failing JDK: GraalVM 23.0.2+7.1 (build 23.0.2+7-jvmci-b01)
Component(s)
Java
Minimal reproduce step
Clone the reproducer project
Reproducing steps:
$ git checkout subclass-fields
$ ./gradlew run # pass
$ ./gradlew nativeCompile
$ app/build/native/nativeCompile/test # fail
java.lang.NoSuchFieldException: s
...Full log
java.lang.NoSuchFieldException: s
at java.base@23.0.2/java.lang.Class.checkField(DynamicHub.java:1133)
at java.base@23.0.2/java.lang.Class.getDeclaredField(DynamicHub.java:1275)
at org.example.App_AppInnerImplForyRefCodec_0.<clinit>(App_AppInnerImplForyRefCodec_0.java:33)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.methodhandles.Util_java_lang_invoke_MethodHandle.invokeInternal(Target_java_lang_invoke_MethodHandle.java:241)
at java.base@23.0.2/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:102)
at java.base@23.0.2/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:0)
at java.base@23.0.2/java.lang.invoke.Invokers$Holder.invoke_MT(Invokers$Holder)
at org.apache.fory.serializer.Serializers.newSerializer(Serializers.java:101)
at org.apache.fory.resolver.ClassResolver.createSerializer(ClassResolver.java:1402)
at org.apache.fory.resolver.ClassResolver.getClassInfo(ClassResolver.java:1276)
at org.example.AppForyRefCodec_0.writeClassAndObject$(AppForyRefCodec_0.java:61)
at org.example.AppForyRefCodec_0.write(AppForyRefCodec_0.java:71)
at org.apache.fory.Fory.writeData(Fory.java:661)
at org.apache.fory.Fory.write(Fory.java:412)
at org.apache.fory.Fory.serialize(Fory.java:332)
at org.apache.fory.Fory.serialize(Fory.java:286)
at org.example.App.main(App.java:22)
at java.base@23.0.2/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Exception in thread "main" org.apache.fory.exception.SerializationException: java.lang.ExceptionInInitializerError
at org.apache.fory.Fory.processSerializationError(Fory.java:369)
at org.apache.fory.Fory.serialize(Fory.java:338)
at org.apache.fory.Fory.serialize(Fory.java:286)
at org.example.App.main(App.java:22)
at java.base@23.0.2/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Caused by: java.lang.ExceptionInInitializerError
at org.graalvm.nativeimage.builder/com.oracle.svm.core.methodhandles.Util_java_lang_invoke_MethodHandle.invokeInternal(Target_java_lang_invoke_MethodHandle.java:241)
at java.base@23.0.2/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:102)
at java.base@23.0.2/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:0)
at java.base@23.0.2/java.lang.invoke.Invokers$Holder.invoke_MT(Invokers$Holder)
at org.apache.fory.serializer.Serializers.newSerializer(Serializers.java:101)
at org.apache.fory.resolver.ClassResolver.createSerializer(ClassResolver.java:1402)
at org.apache.fory.resolver.ClassResolver.getClassInfo(ClassResolver.java:1276)
at org.example.AppForyRefCodec_0.writeClassAndObject$(AppForyRefCodec_0.java:61)
at org.example.AppForyRefCodec_0.write(AppForyRefCodec_0.java:71)
at org.apache.fory.Fory.writeData(Fory.java:661)
at org.apache.fory.Fory.write(Fory.java:412)
at org.apache.fory.Fory.serialize(Fory.java:332)
... 3 more
Caused by: java.lang.RuntimeException: java.lang.NoSuchFieldException: s
at org.example.App_AppInnerImplForyRefCodec_0.<clinit>(App_AppInnerImplForyRefCodec_0.java:38)
... 15 more
Caused by: java.lang.NoSuchFieldException: s
at java.base@23.0.2/java.lang.Class.checkField(DynamicHub.java:1133)
at java.base@23.0.2/java.lang.Class.getDeclaredField(DynamicHub.java:1275)
at org.example.App_AppInnerImplForyRefCodec_0.<clinit>(App_AppInnerImplForyRefCodec_0.java:33)
... 15 more
And here is a reproducing GitHub workflow run: https://github.com/gudzpoz/fory-native-image-reproducer/actions/runs/18032933147/job/51313299236
What did you expect to see?
The test should pass.
What did you see instead?
Failure (java.lang.NoSuchFieldException) during serialization.
Anything Else?
This is really strange. When I was met with this issue, I was actually trying to reproduce another issue where the code [1] had no problem serializing subclasses...
Are you willing to submit a PR?
- I'm willing to submit a PR!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working