GimoXie opened a new issue, #2109: URL: https://github.com/apache/fury/issues/2109
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/fury/issues) and found no similar issues. ### Version Fury Version: 0.7.1 JDK Version: 21 ### Component(s) Java ### Minimal reproduce step public class FuryTest { @Test public void testFurySerialize2() throws IOException { Fury fury = Fury.builder() .withLanguage(Language.JAVA) .withRefTracking(true) .withCompatibleMode(CompatibleMode.COMPATIBLE) .withDeserializeNonexistentClass(true) .requireClassRegistration(false) .withAsyncCompilation(true) .build(); List<Data> dataList = new ArrayList<>(); dataList.add(null); DataHolder holder = new DataHolder(); holder.setDataList(dataList); FuryTestResponse response = new FuryTestResponse(); response.setHolderList(Lists.newArrayList(holder)); fury.serialize(new CountingOutputStream(newOutputStream(Paths.get("test"))), response); } @Getter @Setter class Data { private String message; } @Getter @Setter class DataHolder { private List<Data> dataList; } @Getter @Setter class FuryTestResponse { private List<DataHolder> holderList; } } ### What did you expect to see? I hope the program runs normally. ### What did you see instead? java.lang.NullPointerException at org.apache.fury.resolver.ClassResolver.createSerializer(ClassResolver.java:1177) at org.apache.fury.resolver.ClassResolver.getClassInfo(ClassResolver.java:1108) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.writeTypeHeader(AbstractCollectionSerializer.java:203) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.writeElementsHeader(AbstractCollectionSerializer.java:135) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.writeElements(AbstractCollectionSerializer.java:310) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.write(AbstractCollectionSerializer.java:305) at org.apache.fury.Fury.writeNonRef(Fury.java:475) at org.apache.fury.serializer.ObjectSerializer.writeContainerFieldValue(ObjectSerializer.java:213) at org.apache.fury.serializer.ObjectSerializer.writeContainerFields(ObjectSerializer.java:195) at org.apache.fury.serializer.ObjectSerializer.write(ObjectSerializer.java:146) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.writeSameTypeElements(AbstractCollectionSerializer.java:404) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.generalJavaWrite(AbstractCollectionSerializer.java:391) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.javaWriteWithGenerics(AbstractCollectionSerializer.java:369) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.writeElements(AbstractCollectionSerializer.java:318) at org.apache.fury.serializer.collection.AbstractCollectionSerializer.write(AbstractCollectionSerializer.java:305) at org.apache.fury.Fury.writeNonRef(Fury.java:475) at org.apache.fury.serializer.ObjectSerializer.writeContainerFieldValue(ObjectSerializer.java:213) at org.apache.fury.serializer.ObjectSerializer.writeContainerFields(ObjectSerializer.java:195) at org.apache.fury.serializer.ObjectSerializer.write(ObjectSerializer.java:146) at org.apache.fury.Fury.writeData(Fury.java:584) at org.apache.fury.Fury.write(Fury.java:347) at org.apache.fury.Fury.serialize(Fury.java:269) at org.apache.fury.Fury.lambda$serialize$0(Fury.java:285) at org.apache.fury.Fury.serializeToStream(Fury.java:1427) at org.apache.fury.Fury.serialize(Fury.java:285) at com.ctrip.fury.FuryTest.testFurySerialize2(FuryTest.java:50) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55) ### Anything Else? _No response_ ### 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]
