Skip to content

UUID serialization is broken in v3.0.0-rc9 #5323

@donalmurtagh

Description

@donalmurtagh

Here's a failing test that reproduces the issue

package com.example.demo;

import org.junit.jupiter.api.Test;
import tools.jackson.core.JsonGenerator;
import tools.jackson.databind.json.JsonMapper;

import java.io.StringWriter;
import java.util.UUID;

public class JacksonTests {

    @Test
    void jacksonUUIDSerialization() {
        JsonMapper mapper = new JsonMapper();
        JsonGenerator generator = mapper.createGenerator(new StringWriter());
        generator.writeStartObject();
        generator.writePOJOProperty("id", UUID.randomUUID());
        generator.writeEndObject();
    }
}

The failure stacktrace is below

Cannot invoke "tools.jackson.core.util.JacksonFeatureSet.isEnabled(tools.jackson.core.util.JacksonFeature)" because "this._writeCapabilities" is null
java.lang.NullPointerException: Cannot invoke "tools.jackson.core.util.JacksonFeatureSet.isEnabled(tools.jackson.core.util.JacksonFeature)" because "this._writeCapabilities" is null
	at tools.jackson.databind.SerializationContext.isEnabled(SerializationContext.java:495)
	at tools.jackson.databind.ser.jdk.UUIDSerializer._writeAsBinary(UUIDSerializer.java:116)
	at tools.jackson.databind.ser.jdk.UUIDSerializer.serialize(UUIDSerializer.java:78)
	at tools.jackson.databind.ser.jdk.UUIDSerializer.serialize(UUIDSerializer.java:23)
	at tools.jackson.databind.SerializationContext.writeValue(SerializationContext.java:308)
	at tools.jackson.core.base.GeneratorBase.writePOJO(GeneratorBase.java:298)
	at tools.jackson.core.JsonGenerator.writePOJOProperty(JsonGenerator.java:1850)
	at com.example.demo.JacksonTests.jacksonUUIDSerialization(JacksonTests.java:17)

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.0Issue planned for initial 3.0 release

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions