johannschenkl opened a new issue, #1558: URL: https://github.com/apache/fory/issues/1558
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/incubator-fury/issues) and found no similar issues. ### Version 0.4.1 ### Component(s) Java ### Minimal reproduce step We are using fury as a replacement for jdk serialization in a java rpc application. If on the server side an exception is thrown, this exception in serialized and sent to the client. In some cases we seen and exception when the serialization is done. Thanks for your help and for that great project! Fury setup: `var fury = Fury.builder() .withLanguage(Language.JAVA) .withRefTracking(true) .requireClassRegistration(false) .withAsyncCompilation(true).build();` Relevant parts of logs: > io.fury.serializer.LambdaSerializer.read(LambdaSerializer.java:88) > io.fury.Fury.readRef(Fury.java:828) > io.fury.resolver.FieldResolver.skipDataBy4(FieldResolver.java:433) > com.mycompany.SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.readAndSetFields(SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.java:258) > com.mycompany.SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.read(SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.java:324) > com.mycompany.RemoteInvocationResultFuryRefCodec_1_815033865_718325701.readFields$(RemoteInvocationResultFuryRefCodec_1_815033865_718325701.java:111) > com.mycompany.RemoteInvocationResultFuryRefCodec_1_815033865_718325701.read(RemoteInvocationResultFuryRefCodec_1_815033865_718325701.java:127) > io.fury.Fury.readDataInternal(Fury.java:899) > io.fury.Fury.readRef(Fury.java:801) > io.fury.Fury.deserializeJavaObjectAndClass(Fury.java:1135) > io.fury.Fury.deserializeJavaObjectAndClass(Fury.java:1121) > com.mycompany.Serializer.deserialize(Serializer.java:35) > > ... > > > Caused by: > Index -1 out of bounds for length 512 > java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 512 > io.fury.collection.IntArray.pop(IntArray.java:51) > io.fury.resolver.MapRefResolver.reference(MapRefResolver.java:194) > io.fury.builder.SerializedLambdaFuryRefCodec_1_1361449601.read(SerializedLambdaFuryRefCodec_1_1361449601.java:193) > io.fury.serializer.LambdaSerializer.read(LambdaSerializer.java:85) > io.fury.Fury.readRef(Fury.java:828) > io.fury.resolver.FieldResolver.skipDataBy4(FieldResolver.java:433) > com.mycompany.SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.readAndSetFields(SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.java:258) > com.mycompany.SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.read(SomeExceptionFuryRefCompatibleCodec_1_815033865_986095905.java:324) > com.mycompany.RemoteInvocationResultFuryRefCodec_1_815033865_718325701.readFields$(RemoteInvocationResultFuryRefCodec_1_815033865_718325701.java:111) > com.mycompany.RemoteInvocationResultFuryRefCodec_1_815033865_718325701.read(RemoteInvocationResultFuryRefCodec_1_815033865_718325701.java:127) > io.fury.Fury.readDataInternal(Fury.java:899) > io.fury.Fury.readRef(Fury.java:801) > io.fury.Fury.deserializeJavaObjectAndClass(Fury.java:1135) > io.fury.Fury.deserializeJavaObjectAndClass(Fury.java:1121) > com.mycompany.Serializer.deserialize(Serializer.java:35) ### What did you expect to see? The deserialized payload. ### What did you see instead? An ArrayIndexOutOfBoundsException. ### 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]
