Skip to content

Fury Java: fails to decode a scala.collection.BitSet (NPE) #1029

@andyczerwonka

Description

@andyczerwonka

Fury is configured as follows:

    val fury = Fury
      .builder()
      .withLanguage(Language.JAVA)
      .requireClassRegistration(false)
      .withRefTracking(true)
      .withStringCompressed(true)
      .withLongCompressed(true)
      .withIntCompressed(true)
      .withAsyncCompilation(true)
      .buildThreadSafeFury()

After successful encoding, taking the encoded value and decoding fails with the following exception.

java.lang.NullPointerException:
  at scala.collection.mutable.BitSet$.fromBitMaskNoCopy(BitSet.scala:383)
  at scala.collection.mutable.BitSet$SerializationProxy.readResolve(BitSet.scala:390)
  at io.fury.serializer.ReplaceResolveSerializer.readObject(ReplaceResolveSerializer.java:307)
  at io.fury.serializer.ReplaceResolveSerializer.read(ReplaceResolveSerializer.java:292)
  at io.fury.Fury.readData(Fury.java:812)
  at io.fury.serializer.ReplaceResolveSerializer.read(ReplaceResolveSerializer.java:271)
  at io.citrine.lolo.trees.splits.CategoricalSplitFuryRefCodec_1343252559_1426407511_823874944.read(CategoricalSplitFuryRefCodec_1343252559_1426407511_823874944.java:84)
  at io.citrine.lolo.trees.InternalModelNodeFuryRefCodec_1343252559_1426407511_1409680642.readFields$(InternalModelNodeFuryRefCodec_1343252559_1426407511_1409680642.java:147)
  at io.citrine.lolo.trees.InternalModelNodeFuryRefCodec_1343252559_1426407511_1409680642.read(InternalModelNodeFuryRefCodec_1343252559_1426407511_1409680642.java:176)
  at io.citrine.lolo.trees.InternalModelNodeFuryRefCodec_1343252559_1426407511_1409680642.readFields$(InternalModelNodeFuryRefCodec_1343252559_1426407511_1409680642.java:131)

https://github.com/alipay/fury/blob/releases-0.2.1/java/fury-core/src/main/java/io/fury/Fury.java#L812
https://github.com/alipay/fury/blob/releases-0.2.1/java/fury-core/src/main/java/io/fury/serializer/ReplaceResolveSerializer.java#L307

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingjava

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions