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]

Reply via email to