drse opened a new issue, #1387: URL: https://github.com/apache/incubator-fury/issues/1387
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/incubator-fury/issues) and found no similar issues. ### Version Fury 0.4.1 Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21+35.1 (build 21+35-jvmci-23.1-b15, mixed mode, sharing) OSX 14.3.1 ### Component(s) Java ### Minimal reproduce step ```java ThreadSafeFury fury = Fury.builder() .withLanguage(Language.JAVA) .requireClassRegistration(false) .buildThreadSafeFury(); var money = Money.of(100, "USD"); byte[] serialized = fury.serialize(money); ``` ### What did you expect to see? A serialized `byte[]` ### What did you see instead? ``` java.lang.RuntimeException: Create sequential serializer failed, class: class org.javamoney.moneta.Money at io.fury.serializer.CodegenSerializer.loadCodegenSerializer(CodegenSerializer.java:48) at io.fury.resolver.ClassResolver.lambda$getObjectSerializerClass$2(ClassResolver.java:963) at io.fury.builder.JITContext.registerSerializerJITCallback(JITContext.java:132) at io.fury.resolver.ClassResolver.getObjectSerializerClass(ClassResolver.java:961) at io.fury.resolver.ClassResolver.getSerializerClass(ClassResolver.java:894) at io.fury.resolver.ClassResolver.getSerializerClass(ClassResolver.java:791) at io.fury.resolver.ClassResolver.createSerializer(ClassResolver.java:1184) at io.fury.resolver.ClassResolver.getOrUpdateClassInfo(ClassResolver.java:1116) at io.fury.Fury.writeRef(Fury.java:342) at io.fury.Fury.write(Fury.java:319) at io.fury.Fury.serialize(Fury.java:255) at io.fury.Fury.serialize(Fury.java:221) at io.fury.ThreadLocalFury.serialize(ThreadLocalFury.java:67) at atp.bt.backends.backtraderpy.FurySerializationSpec.try serializing Moneta(FurySerializationSpec.groovy:22) Caused by: java.lang.RuntimeException: Create sequential serializer failed, class: class javax.money.MonetaryContext at io.fury.serializer.CodegenSerializer.loadCodegenSerializer(CodegenSerializer.java:48) at io.fury.resolver.ClassResolver.lambda$getObjectSerializerClass$2(ClassResolver.java:963) at io.fury.builder.JITContext.registerSerializerJITCallback(JITContext.java:132) at io.fury.resolver.ClassResolver.getObjectSerializerClass(ClassResolver.java:961) at io.fury.resolver.ClassResolver.getSerializerClass(ClassResolver.java:894) at io.fury.resolver.ClassResolver.getSerializerClass(ClassResolver.java:791) at io.fury.builder.BaseObjectCodecBuilder.lambda$getOrCreateSerializer$3(BaseObjectCodecBuilder.java:477) at io.fury.builder.JITContext.asyncVisitFury(JITContext.java:170) at io.fury.builder.BaseObjectCodecBuilder.visitFury(BaseObjectCodecBuilder.java:191) at io.fury.builder.BaseObjectCodecBuilder.getOrCreateSerializer(BaseObjectCodecBuilder.java:477) at io.fury.builder.BaseObjectCodecBuilder.serializeForNotNullObject(BaseObjectCodecBuilder.java:426) at io.fury.builder.BaseObjectCodecBuilder.serializeForNotNull(BaseObjectCodecBuilder.java:398) at io.fury.builder.BaseObjectCodecBuilder.serializeFor(BaseObjectCodecBuilder.java:325) at io.fury.builder.BaseObjectCodecBuilder.serializeFor(BaseObjectCodecBuilder.java:301) at io.fury.builder.BaseObjectCodecBuilder.serializeFor(BaseObjectCodecBuilder.java:289) at io.fury.builder.ObjectCodecBuilder.lambda$serializeGroup$9f8a61a4$1(ObjectCodecBuilder.java:187) at io.fury.builder.ObjectCodecBuilder.serializeGroup(ObjectCodecBuilder.java:194) at io.fury.builder.ObjectCodecBuilder.buildEncodeExpression(ObjectCodecBuilder.java:158) at io.fury.builder.BaseObjectCodecBuilder.genCode(BaseObjectCodecBuilder.java:203) at io.fury.codegen.CompileUnit.getCode(CompileUnit.java:54) at io.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:72) at io.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:64) at io.fury.codegen.CodeGenerator.compile(CodeGenerator.java:144) at io.fury.builder.CodecUtils.loadOrGenCodecClass(CodecUtils.java:91) at io.fury.builder.CodecUtils.loadOrGenObjectCodecClass(CodecUtils.java:42) at io.fury.serializer.CodegenSerializer.loadCodegenSerializer(CodegenSerializer.java:45) ... 13 more Caused by: io.fury.codegen.CodegenException: Compile error: io.fury.builder.AbstractContextFuryAccessor_414493378_1101721002: /* 0001 */ package io.fury.builder; /* 0002 */ /* 0003 */ public final class AbstractContextFuryAccessor_414493378_1101721002 { /* 0004 */ /* 0005 */ public static java.util.Map data(javax.money.AbstractContext obj) { /* 0006 */ return obj.data; /* 0007 */ } /* 0008 */ /* 0009 */ public static void data(javax.money.AbstractContext obj, java.util.Map fieldValue) { /* 0010 */ obj.data = fieldValue; /* 0011 */ } /* 0012 */ /* 0013 */ } at app//io.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:126) at app//io.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:64) at app//io.fury.builder.AccessorHelper.defineAccessorClass(AccessorHelper.java:168) at app//io.fury.builder.AccessorHelper.defineAccessor(AccessorHelper.java:216) at app//io.fury.builder.CodecBuilder.getFieldValue(CodecBuilder.java:211) at app//io.fury.builder.ObjectCodecBuilder.lambda$serializeGroup$9f8a61a4$1(ObjectCodecBuilder.java:185) at app//io.fury.codegen.ExpressionOptimizer.invokeGenerated(ExpressionOptimizer.java:48) at app//io.fury.builder.ObjectCodecOptimizer.invokeGenerated(ObjectCodecOptimizer.java:134) at app//io.fury.builder.ObjectCodecBuilder.serializeGroup(ObjectCodecBuilder.java:196) at app//io.fury.builder.ObjectCodecBuilder.buildEncodeExpression(ObjectCodecBuilder.java:165) at app//io.fury.builder.BaseObjectCodecBuilder.genCode(BaseObjectCodecBuilder.java:203) at app//io.fury.codegen.CompileUnit.getCode(CompileUnit.java:54) at app//io.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:72) at app//io.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:64) at app//io.fury.codegen.CodeGenerator.compile(CodeGenerator.java:144) at app//io.fury.builder.CodecUtils.loadOrGenCodecClass(CodecUtils.java:91) at app//io.fury.builder.CodecUtils.loadOrGenObjectCodecClass(CodecUtils.java:42) at app//io.fury.serializer.CodegenSerializer.loadCodegenSerializer(CodegenSerializer.java:45) ... 38 more Caused by: io.fury.shaded.org.codehaus.commons.compiler.CompileException: File 'io/fury/builder/AbstractContextFuryAccessor_414493378_1101721002.java', Line 6, Column 18: javax.money.AbstractContext.data: Member with "package" access cannot be accessed from type "io.fury.builder.AbstractContextFuryAccessor_414493378_1101721002". at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:13080) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.checkMemberAccessible(UnitCompiler.java:7745) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.checkAccessible(UnitCompiler.java:7721) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4817) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.access$7900(UnitCompiler.java:237) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16$1.visitFieldAccess(UnitCompiler.java:4749) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16$1.visitFieldAccess(UnitCompiler.java:4746) at app//io.fury.shaded.org.codehaus.janino.Java$FieldAccess.accept(Java.java:4697) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16.visitLvalue(UnitCompiler.java:4746) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16.visitLvalue(UnitCompiler.java:4742) at app//io.fury.shaded.org.codehaus.janino.Java$Lvalue.accept(Java.java:4528) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4742) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4809) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.access$7700(UnitCompiler.java:237) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16$1.visitAmbiguousName(UnitCompiler.java:4747) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16$1.visitAmbiguousName(UnitCompiler.java:4746) at app//io.fury.shaded.org.codehaus.janino.Java$AmbiguousName.accept(Java.java:4603) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16.visitLvalue(UnitCompiler.java:4746) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$16.visitLvalue(UnitCompiler.java:4742) at app//io.fury.shaded.org.codehaus.janino.Java$Lvalue.accept(Java.java:4528) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4742) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5885) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2849) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.access$2800(UnitCompiler.java:237) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$6.visitReturnStatement(UnitCompiler.java:1591) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$6.visitReturnStatement(UnitCompiler.java:1576) at app//io.fury.shaded.org.codehaus.janino.Java$ReturnStatement.accept(Java.java:3888) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1576) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1662) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:3665) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3330) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1448) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1421) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:830) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:443) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:237) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:423) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$3.visitPackageMemberClassDeclaration(UnitCompiler.java:419) at app//io.fury.shaded.org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1688) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:419) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:393) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.access$000(UnitCompiler.java:237) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$2.visitCompilationUnit(UnitCompiler.java:364) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler$2.visitCompilationUnit(UnitCompiler.java:362) at app//io.fury.shaded.org.codehaus.janino.Java$CompilationUnit.accept(Java.java:371) at app//io.fury.shaded.org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:362) at app//io.fury.shaded.org.codehaus.janino.Compiler.compile2(Compiler.java:271) at app//io.fury.shaded.org.codehaus.janino.Compiler.compile(Compiler.java:213) at app//io.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:106) ... 55 more ``` ### Anything Else? Using `moneta 1.4.4`: https://mvnrepository.com/artifact/org.javamoney/moneta ### 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]
