urlyy opened a new issue, #2720: URL: https://github.com/apache/fory/issues/2720
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/fory/issues) and found no similar issues. ### Version Latest ### Component(s) Java ### Minimal reproduce step ```java enum Color { Green, Red, Blue, White, } enum Color2 { Green, } static class EnumWrapper { Color color; } static class EnumWrapper2 { Color2 color; } @Test public void testEnumEnum() { Fory fory1 = Fory.builder() .withLanguage(Language.XLANG) .withCompatibleMode(CompatibleMode.COMPATIBLE) .withCodegen(false) .build(); fory1.register(Color.class, 101); fory1.register(Color2.class, 102); fory1.register(EnumWrapper.class, 103); Fory fory2 = Fory.builder() .withLanguage(Language.XLANG) .withCompatibleMode(CompatibleMode.COMPATIBLE) .withCodegen(false) .build(); fory2.register(Color.class, 101); fory2.register(Color2.class, 102); fory2.register(EnumWrapper2.class, 103); EnumWrapper enumWrapper = new EnumWrapper(); enumWrapper.color = Color.White; byte[] serialize = fory1.serialize(enumWrapper); EnumWrapper2 wrapper2 = (EnumWrapper2) fory2.deserialize(serialize); Assert.assertEquals(Color2.Green, wrapper2.color); } ``` ### What did you expect to see? pass test ### What did you see instead? ``` org.apache.fory.exception.DeserializationException: Failed to deserialize input at org.apache.fory.util.ExceptionUtils.handleReadFailed(ExceptionUtils.java:66) at org.apache.fory.Fory.deserialize(Fory.java:889) at org.apache.fory.Fory.deserialize(Fory.java:785) at org.apache.fory.RustXlangTest.testEnumEnum(RustXlangTest.java:390) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:136) at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:658) at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:219) at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50) at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:923) at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:192) at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.ArrayList.forEach(ArrayList.java:1259) at org.testng.TestRunner.privateRun(TestRunner.java:808) at org.testng.TestRunner.run(TestRunner.java:603) at org.testng.SuiteRunner.runTest(SuiteRunner.java:429) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:423) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:383) at org.testng.SuiteRunner.run(SuiteRunner.java:326) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1249) at org.testng.TestNG.runSuitesLocally(TestNG.java:1169) at org.testng.TestNG.runSuites(TestNG.java:1092) at org.testng.TestNG.run(TestNG.java:1060) at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:65) at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:105) Caused by: java.lang.IllegalArgumentException: Enum ordinal 3 not in [Green] at org.apache.fory.serializer.EnumSerializer.handleNonexistentEnumValue(EnumSerializer.java:122) at org.apache.fory.serializer.EnumSerializer.xread(EnumSerializer.java:112) at org.apache.fory.serializer.EnumSerializer.xread(EnumSerializer.java:32) at org.apache.fory.Fory.xreadNullable(Fory.java:1132) at org.apache.fory.serializer.SerializationBinding$XlangSerializationBinding.readNullable(SerializationBinding.java:396) at org.apache.fory.serializer.SerializationBinding$XlangSerializationBinding.readNullable(SerializationBinding.java:403) at org.apache.fory.serializer.AbstractObjectSerializer.readFinalObjectFieldValue(AbstractObjectSerializer.java:94) at org.apache.fory.serializer.MetaSharedSerializer.read(MetaSharedSerializer.java:194) at org.apache.fory.serializer.MetaSharedSerializer.xread(MetaSharedSerializer.java:261) at org.apache.fory.Fory.xreadNonRef(Fory.java:1121) at org.apache.fory.Fory.xreadRef(Fory.java:1056) at org.apache.fory.Fory.deserialize(Fory.java:883) ... 29 more ``` ### Anything Else? It seems that #2719 is wrong. ### 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]
