goldv opened a new issue, #2195: URL: https://github.com/apache/fury/issues/2195
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/fury/issues) and found no similar issues. ### Version python: pyfury == 0.10.2 java: implementation group: 'org.apache.fury', name: 'fury-core', version: '0.10.1' ### Component(s) Java, Python ### Minimal reproduce step ```python from dataclasses import dataclass import pyfury @dataclass class SomeClass1: f1: int = None f2: int = None if __name__ == "__main__": f = pyfury.Fury(language=pyfury.Language.XLANG, ref_tracking=False, require_class_registration=True) f.register_type(SomeClass1, typename="example.SomeClass1") obj = SomeClass1(f1=1, f2=2) data = f.serialize(obj) print("bytes:", list(data)) obj2 = f.deserialize(data) print("Deserialized:", obj2) # Save to file for Java to read with open("/data/class.bin", "wb") as file: file.write(data) ``` ```java public static class SomeClass1 { public int f1; public int f2; } Fury fury = Fury.builder().withLanguage(Language.XLANG) .withRefTracking(false) .requireClassRegistration(true) .build(); fury.register(SomeClass1.class, "example.SomeClass1"); SomeClass1 o = new SomeClass1(); o.f1 = 1; o.f2 = 2; // Read bytes from file byte[] bytes = Files.readAllBytes(Paths.get("/data/class.bin")); System.out.println("bytes: " + Arrays.toString(unsigned(bytes))); // Deserialize SomeClass1 obj = (SomeClass1) fury.deserialize(bytes); ``` ### What did you expect to see? The object should be serialised in python and deserialized in java ### What did you see instead? Serialising to a file from python and then attempting to deserialize in java gives the following: Exception in thread "main" java.lang.NullPointerException at org.apache.fury.util.Preconditions.checkNotNull(Preconditions.java:26) at org.apache.fury.Fury.xreadNonRef(Fury.java:1058) at org.apache.fury.Fury.xreadRef(Fury.java:1000) at org.apache.fury.Fury.xdeserializeInternal(Fury.java:863) at org.apache.fury.Fury.deserialize(Fury.java:801) at org.apache.fury.Fury.deserialize(Fury.java:727) at qtify.event.codec.ReferenceExample.main(ReferenceExample.java:41) the actual serialised data is: python: [212, 98, 6, 2, 255, 17, 10, 1, 18, 224, 99, 214, 64, 16, 2, 88, 113, 130, 56, 88, 9, 37, 168, 145, 64, 0, 0, 255, 2, 255, 4] java: [212, 98, 6, 1, 60, 0, 0, 0, 0, 0, 0, 0, 255, 0, 1, 36, 0, 127, 128, 47, 225, 165, 129, 250, 101, 120, 97, 109, 112, 108, 101, 46, 83, 111, 109, 101, 67, 108, 97, 115, 115, 49, 177, 64, 0, 0, 255, 7, 0, 1, 0, 0, 0, 255, 7, 0, 2, 0, 0, 0] ### 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]
