gudzpoz opened a new issue, #2668: URL: https://github.com/apache/fory/issues/2668
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/fory/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](https://github.com/gudzpoz/fory-native-image-reproducer/tree/subclass-fields) Reproducing steps: ```console $ git checkout subclass-fields $ ./gradlew run # pass $ ./gradlew nativeCompile $ app/build/native/nativeCompile/test # fail java.lang.NoSuchFieldException: s ... ``` <details> <summary>Full log</summary> ``` java.lang.NoSuchFieldException: s at [email protected]/java.lang.Class.checkField(DynamicHub.java:1133) at [email protected]/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 [email protected]/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:102) at [email protected]/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:0) at [email protected]/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 [email protected]/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 [email protected]/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 [email protected]/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:102) at [email protected]/java.lang.invoke.MethodHandle.invokeBasic(MethodHandle.java:0) at [email protected]/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 [email protected]/java.lang.Class.checkField(DynamicHub.java:1133) at [email protected]/java.lang.Class.getDeclaredField(DynamicHub.java:1275) at org.example.App_AppInnerImplForyRefCodec_0.<clinit>(App_AppInnerImplForyRefCodec_0.java:33) ... 15 more ``` </details> 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... [1] https://github.com/gudzpoz/Juicemacs/blob/7831b2cbe2dff97ccd503d0c32226ee18f8d93c0/elisp/src/main/java/party/iroiro/juicemacs/elisp/forms/coding/ELispCodingSystem.java#L15-L18 ### Are you willing to submit a PR? - [ ] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
