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]

Reply via email to