Skip to content

[BUG] Fatal error: invalid pointer found on stack #504

@viewsharp

Description

@viewsharp

When executing the following code:

package main

import (
	"testing"

	"github.com/goccy/go-json"
	"github.com/stretchr/testify/require"
)

type CustomMap map[string]any

func (m CustomMap) MarshalJSON() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	t := (map[string]interface{})(m)
	return json.Marshal(t)
}

func TestCustomMap(t *testing.T) {
	jsonData, err := json.Marshal([]CustomMap{
		{"foo": "bar"},
	})
	require.NoError(t, err)
	require.Equal(t, []byte(`[{"foo":"bar"}]`), jsonData)
}

The following error occurs:

runtime: bad pointer in frame github.com/goccy/go-json/internal/encoder/vm.Run at 0x14000161f90: 0x1
fatal error: invalid pointer found on stack

Runtime stack:
runtime_stack.log

Go version:
go version go1.20.4 darwin/arm64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions