RuedigerMoeller / fast-serialization

FST: fast java serialization drop in-replacement
Apache License 2.0
1.58k stars 248 forks source link

Deep copy an object with a NullPointerException #322

Open deweixu opened 2 years ago

deweixu commented 2 years ago

jdk openjdk version "11.0.11" 2021-04-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.11+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.11+9-LTS, mixed mode, sharing)

fast-serialization version is 2.57

FSTConfiguration fstConfiguration = FSTConfiguration.createDefaultConfiguration();

java.lang.NullPointerException: null
        at java.base/java.math.BigDecimal.compactValFor(BigDecimal.java:4326)
        at java.base/java.math.BigDecimal.readObject(BigDecimal.java:4228)
        at java.base/jdk.internal.reflect.GeneratedMethodAccessor1527.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.nustaq.serialization.FSTObjectInput.readObjectCompatibleRecursive(FSTObjectInput.java:609)
        at org.nustaq.serialization.FSTObjectInput.readObjectCompatible(FSTObjectInput.java:574)
        at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:559)
        at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:374)
        at org.nustaq.serialization.FSTObjectInput.readObjectFields(FSTObjectInput.java:713)
        at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:566)
        at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:374)
        at org.nustaq.serialization.FSTObjectInput.readObjectInternal(FSTObjectInput.java:331)
        at org.nustaq.serialization.serializers.FSTArrayListSerializer.instantiate(FSTArrayListSerializer.java:63)
        at org.nustaq.serialization.FSTObjectInput.instantiateAndReadWithSer(FSTObjectInput.java:501)
        at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:370)
        at org.nustaq.serialization.FSTObjectInput.readObjectFields(FSTObjectInput.java:713)
        at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:566)
        at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:374)
        at org.nustaq.serialization.FSTObjectInput.readObjectFields(FSTObjectInput.java:713)
        at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:566)
        at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:374)
        at org.nustaq.serialization.FSTObjectInput.readObjectInternal(FSTObjectInput.java:331)
        at org.nustaq.serialization.FSTObjectInput.readObject(FSTObjectInput.java:311)
        at org.nustaq.serialization.FSTObjectInput.readObject(FSTObjectInput.java:245)
        at org.nustaq.serialization.FSTConfiguration.asObject(FSTConfiguration.java:1158)
        at org.nustaq.serialization.FSTConfiguration.deepCopy(FSTConfiguration.java:1036)
afterU commented 2 years ago

me too, have a same question jdk8, fst 2.56

java.io.IOException: java.lang.NullPointerException at org.nustaq.serialization.FSTObjectInput.readObject(FSTObjectInput.java:247) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTConfiguration.asObject(FSTConfiguration.java:1150) ~[ds-core-sdk-1.0.0.jar:?] at com.beantechs.ds.workflowcommon.utils.WorkflowCommonUtils.deepCopy(WorkflowCommonUtils.java:703) [ds-core-sdk-1.0.0.jar:?] at com.beantechs.ds.workflowcommon.utils.WorkflowCommonUtils.deepCopyContext(WorkflowCommonUtils.java:690) [ds-core-sdk-1.0.0.jar:?] at com.beantechs.ds.workflowimpl.processor.impl.flow.CoreProcessor.useInHouseAsrContext(CoreProcessor.java:256) [ds-core-sdk-1.0.0.jar:?] at com.beantechs.ds.workflowimpl.processor.impl.flow.CoreProcessor.process(CoreProcessor.java:53) [ds-core-sdk-1.0.0.jar:?] at com.beantechs.ds.workflowimpl.WorkflowHandler.call(WorkflowHandler.java:71) [ds-core-sdk-1.0.0.jar:?] at com.beantechs.ds.workflowimpl.WorkflowHandler.call(WorkflowHandler.java:16) [ds-core-sdk-1.0.0.jar:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_161] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_161] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161] Caused by: java.lang.NullPointerException at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:357) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.readObjectInternal(FSTObjectInput.java:331) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.serializers.FSTMapSerializer.instantiate(FSTMapSerializer.java:77) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.instantiateAndReadWithSer(FSTObjectInput.java:501) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:370) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.readObjectFields(FSTObjectInput.java:713) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:566) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:374) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.readObjectInternal(FSTObjectInput.java:331) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.serializers.FSTMapSerializer.instantiate(FSTMapSerializer.java:78) ~[ds-core-sdk-1.0.0.jar:?] at org.nustaq.serialization.FSTObjectInput.instantiateAndReadWithSer(FSTObjectInput.java:501) ~[ds-core-sdk-1.0.0.jar:?]