odnoklassniki/one-nio

Java 22 - error serialization and deserialization BigDecimal

Opened this issue · 0 comments

Example:
var byt = one.nio.serial.Serializer.persist(BigDecimal.ZERO);
Error:

Exception in thread "main" java.lang.VerifyError: Bad invokespecial instruction: current class isn't assignable to reference class.
Exception Details:
  Location:
    sun/reflect/Delegate0_BigDecimal.write(Ljava/lang/Object;Lone/nio/serial/DataStream;)V @9: invokespecial
  Reason:
    Error exists in the bytecode
  Bytecode:
    0000000: 2bc0 0015 4c2b b200 1bb7 001f 2c2b b400
    0000010: 23b6 0031 2c2b b400 34b6 0038 b1       

	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3572)
	at java.base/java.lang.Class.getConstructor0(Class.java:3777)
	at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2955)
	at one.nio.serial.gen.DelegateGenerator.instantiate(DelegateGenerator.java:108)
	at one.nio.serial.GeneratedSerializer.<init>(GeneratedSerializer.java:57)
	at one.nio.serial.Repository.generateFor(Repository.java:379)
	at one.nio.serial.Repository.get(Repository.java:182)
	at one.nio.serial.PersistStream.writeObject(PersistStream.java:52)
	at one.nio.serial.Serializer.persist(Serializer.java:140)

Version one-nio: 1.7.1