Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Marshaling any discriminated union (flat union) into JSON overflows the stack #190

Open
connorkuehl opened this issue Dec 9, 2022 · 0 comments · May be fixed by #202
Open

Marshaling any discriminated union (flat union) into JSON overflows the stack #190

connorkuehl opened this issue Dec 9, 2022 · 0 comments · May be fixed by #202
Labels

Comments

@connorkuehl
Copy link
Contributor

To reproduce:

package main

import (
	"encoding/json"
	"os"

	"github.com/digitalocean/go-qemu/qmp/raw"
)

func main() {
	s := "libvirt-1-format"
	opts := raw.BlockdevOptionsNBD{NodeName: &s}
	_ = json.NewEncoder(os.Stdout).Encode(opts)
}
output
runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc0201603f8 stack=[0xc020160000, 0xc040160000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x4c3873?, 0x55c7c0?})
/usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0x7fd3eb696cb8 sp=0x7fd3eb696c88 pc=0x4339bd
runtime.newstack()
/usr/local/go/src/runtime/stack.go:1103 +0x5cc fp=0x7fd3eb696e70 sp=0x7fd3eb696cb8 pc=0x44b08c
runtime.morestack()
/usr/local/go/src/runtime/asm_amd64.s:570 +0x8b fp=0x7fd3eb696e78 sp=0x7fd3eb696e70 pc=0x45da2b

goroutine 1 [running]:
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0xc00a374ae0?)
:1 +0x110 fp=0xc020160408 sp=0xc020160400 pc=0x4a3350
encoding/json.marshalerEncoder(0xc00a376080, {0x4ba520?, 0xc00a374ae0?, 0x4ba520?}, {0xe0?, 0x2a?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020160490 sp=0xc020160408 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020160500?, {0x4ba520?, 0xc00a374ae0?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc0201604c8 sp=0xc020160490 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374ae0?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020160510 sp=0xc0201604c8 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374ae0?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020160570 sp=0xc020160510 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374ae0?, {0x4ba520?, 0xc00a374ae0?}, {0x38?, 0x6?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc0201605e8 sp=0xc020160570 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374ae0})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020160648 sp=0xc0201605e8 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020160768 sp=0xc020160648 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a376000, {0x4ba520?, 0xc00a374a80?, 0x4ba520?}, {0x50?, 0x8?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc0201607f0 sp=0xc020160768 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020160860?, {0x4ba520?, 0xc00a374a80?, 0x4ba520?}, {0x86?, 0x87?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020160828 sp=0xc0201607f0 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374a80?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020160870 sp=0xc020160828 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374a80?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc0201608d0 sp=0xc020160870 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374a80?, {0x4ba520?, 0xc00a374a80?}, {0x98?, 0x9?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020160948 sp=0xc0201608d0 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374a80})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc0201609a8 sp=0xc020160948 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020160ac8 sp=0xc0201609a8 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371f80, {0x4ba520?, 0xc00a374a20?, 0x4ba520?}, {0x80?, 0x2a?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020160b50 sp=0xc020160ac8 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020160bc0?, {0x4ba520?, 0xc00a374a20?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020160b88 sp=0xc020160b50 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374a20?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020160bd0 sp=0xc020160b88 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374a20?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020160c30 sp=0xc020160bd0 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374a20?, {0x4ba520?, 0xc00a374a20?}, {0xf8?, 0xc?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020160ca8 sp=0xc020160c30 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374a20})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020160d08 sp=0xc020160ca8 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020160e28 sp=0xc020160d08 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371f00, {0x4ba520?, 0xc00a3749c0?, 0x4ba520?}, {0x50?, 0x2a?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020160eb0 sp=0xc020160e28 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020160f20?, {0x4ba520?, 0xc00a3749c0?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020160ee8 sp=0xc020160eb0 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a3749c0?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020160f30 sp=0xc020160ee8 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a3749c0?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020160f90 sp=0xc020160f30 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a3749c0?, {0x4ba520?, 0xc00a3749c0?}, {0x58?, 0x10?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020161008 sp=0xc020160f90 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a3749c0})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020161068 sp=0xc020161008 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020161188 sp=0xc020161068 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371e80, {0x4ba520?, 0xc00a374960?, 0x4ba520?}, {0x20?, 0x2a?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020161210 sp=0xc020161188 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020161280?, {0x4ba520?, 0xc00a374960?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020161248 sp=0xc020161210 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374960?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020161290 sp=0xc020161248 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374960?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc0201612f0 sp=0xc020161290 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374960?, {0x4ba520?, 0xc00a374960?}, {0xb8?, 0x13?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020161368 sp=0xc0201612f0 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374960})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc0201613c8 sp=0xc020161368 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc0201614e8 sp=0xc0201613c8 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371e00, {0x4ba520?, 0xc00a374900?, 0x4ba520?}, {0xf0?, 0x29?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020161570 sp=0xc0201614e8 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc0201615e0?, {0x4ba520?, 0xc00a374900?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc0201615a8 sp=0xc020161570 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374900?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc0201615f0 sp=0xc0201615a8 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374900?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020161650 sp=0xc0201615f0 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374900?, {0x4ba520?, 0xc00a374900?}, {0x18?, 0x17?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc0201616c8 sp=0xc020161650 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374900})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020161728 sp=0xc0201616c8 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020161848 sp=0xc020161728 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371d80, {0x4ba520?, 0xc00a3748a0?, 0x4ba520?}, {0xc0?, 0x29?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc0201618d0 sp=0xc020161848 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020161940?, {0x4ba520?, 0xc00a3748a0?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020161908 sp=0xc0201618d0 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a3748a0?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020161950 sp=0xc020161908 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a3748a0?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc0201619b0 sp=0xc020161950 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a3748a0?, {0x4ba520?, 0xc00a3748a0?}, {0x78?, 0x1a?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020161a28 sp=0xc0201619b0 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a3748a0})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020161a88 sp=0xc020161a28 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020161ba8 sp=0xc020161a88 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371d00, {0x4ba520?, 0xc00a374840?, 0x4ba520?}, {0x90?, 0x29?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020161c30 sp=0xc020161ba8 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020161ca0?, {0x4ba520?, 0xc00a374840?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020161c68 sp=0xc020161c30 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374840?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020161cb0 sp=0xc020161c68 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374840?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020161d10 sp=0xc020161cb0 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374840?, {0x4ba520?, 0xc00a374840?}, {0xd8?, 0x1d?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020161d88 sp=0xc020161d10 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374840})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020161de8 sp=0xc020161d88 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020161f08 sp=0xc020161de8 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371c80, {0x4ba520?, 0xc00a3747e0?, 0x4ba520?}, {0x60?, 0x29?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020161f90 sp=0xc020161f08 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020162000?, {0x4ba520?, 0xc00a3747e0?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020161fc8 sp=0xc020161f90 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a3747e0?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020162010 sp=0xc020161fc8 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a3747e0?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020162070 sp=0xc020162010 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a3747e0?, {0x4ba520?, 0xc00a3747e0?}, {0x38?, 0x21?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc0201620e8 sp=0xc020162070 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a3747e0})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020162148 sp=0xc0201620e8 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020162268 sp=0xc020162148 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371c00, {0x4ba520?, 0xc00a374780?, 0x4ba520?}, {0x30?, 0x29?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc0201622f0 sp=0xc020162268 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020162360?, {0x4ba520?, 0xc00a374780?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020162328 sp=0xc0201622f0 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374780?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020162370 sp=0xc020162328 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374780?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc0201623d0 sp=0xc020162370 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374780?, {0x4ba520?, 0xc00a374780?}, {0x98?, 0x24?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020162448 sp=0xc0201623d0 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374780})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc0201624a8 sp=0xc020162448 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc0201625c8 sp=0xc0201624a8 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371b80, {0x4ba520?, 0xc00a374720?, 0x4ba520?}, {0x0?, 0x29?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020162650 sp=0xc0201625c8 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc0201626c0?, {0x4ba520?, 0xc00a374720?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020162688 sp=0xc020162650 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374720?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc0201626d0 sp=0xc020162688 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374720?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020162730 sp=0xc0201626d0 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374720?, {0x4ba520?, 0xc00a374720?}, {0xf8?, 0x27?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc0201627a8 sp=0xc020162730 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374720})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020162808 sp=0xc0201627a8 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020162928 sp=0xc020162808 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371b00, {0x4ba520?, 0xc00a3746c0?, 0x4ba520?}, {0xd0?, 0x28?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc0201629b0 sp=0xc020162928 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020162a20?, {0x4ba520?, 0xc00a3746c0?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc0201629e8 sp=0xc0201629b0 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a3746c0?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020162a30 sp=0xc0201629e8 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a3746c0?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020162a90 sp=0xc020162a30 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a3746c0?, {0x4ba520?, 0xc00a3746c0?}, {0x58?, 0x2b?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020162b08 sp=0xc020162a90 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a3746c0})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020162b68 sp=0xc020162b08 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020162c88 sp=0xc020162b68 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371a80, {0x4ba520?, 0xc00a374660?, 0x4ba520?}, {0xa0?, 0x28?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020162d10 sp=0xc020162c88 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc020162d80?, {0x4ba520?, 0xc00a374660?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc020162d48 sp=0xc020162d10 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374660?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc020162d90 sp=0xc020162d48 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374660?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020162df0 sp=0xc020162d90 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374660?, {0x4ba520?, 0xc00a374660?}, {0xb8?, 0x2e?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc020162e68 sp=0xc020162df0 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374660})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020162ec8 sp=0xc020162e68 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020162fe8 sp=0xc020162ec8 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371a00, {0x4ba520?, 0xc00a374600?, 0x4ba520?}, {0x70?, 0x28?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc020163070 sp=0xc020162fe8 pc=0x49079e
encoding/json.condAddrEncoder.encode({0x4cb430?, 0x4cb480?}, 0xc0201630e0?, {0x4ba520?, 0xc00a374600?, 0x4ba520?}, {0x0?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:961 +0x67 fp=0xc0201630a8 sp=0xc020163070 pc=0x494667
encoding/json.condAddrEncoder.encode-fm(0x4ba520?, {0x4ba520?, 0xc00a374600?, 0x30?}, {0x8?, 0xb1?})
:1 +0x58 fp=0xc0201630f0 sp=0xc0201630a8 pc=0x49b858
encoding/json.(*encodeState).reflectValue(0x0?, {0x4ba520?, 0xc00a374600?, 0x40d367?}, {0x78?, 0x0?})
/usr/local/go/src/encoding/json/encode.go:359 +0x78 fp=0xc020163150 sp=0xc0201630f0 pc=0x48fe78
encoding/json.(*encodeState).marshal(0xc00a374600?, {0x4ba520?, 0xc00a374600?}, {0x18?, 0x32?})
/usr/local/go/src/encoding/json/encode.go:331 +0xfa fp=0xc0201631c8 sp=0xc020163150 pc=0x48f9fa
encoding/json.Marshal({0x4ba520, 0xc00a374600})
/usr/local/go/src/encoding/json/encode.go:160 +0x45 fp=0xc020163228 sp=0xc0201631c8 pc=0x48f205
github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD.MarshalJSON(...)
/home/ckuehl/go/pkg/mod/github.com/digitalocean/[email protected]/qmp/raw/autogen.go:2023
go.(*struct { Driver github.com/digitalocean/go-qemu/qmp/raw.BlockdevDriver "json:"driver""; github.com/digitalocean/go-qemu/qmp/raw.BlockdevOptionsNBD }).MarshalJSON(0x4ba520?)
:1 +0xf6 fp=0xc020163348 sp=0xc020163228 pc=0x4a3336
encoding/json.marshalerEncoder(0xc00a371980, {0x4ba520?, 0xc00a3745a0?, 0x4ba520?}, {0x40?, 0x28?})
/usr/local/go/src/encoding/json/encode.go:478 +0xbe fp=0xc0201633d0 sp=0xc020163348 pc=0x49079e

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00004efb0 sp=0xc00004ef90 pc=0x4365d6
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:369
runtime.forcegchelper()
/usr/local/go/src/runtime/proc.go:302 +0xad fp=0xc00004efe0 sp=0xc00004efb0 pc=0x43646d
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00004efe8 sp=0xc00004efe0 pc=0x45fb01
created by runtime.init.6
/usr/local/go/src/runtime/proc.go:290 +0x25

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00004f790 sp=0xc00004f770 pc=0x4365d6
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:369
runtime.bgsweep(0x0?)
/usr/local/go/src/runtime/mgcsweep.go:297 +0xd7 fp=0xc00004f7c8 sp=0xc00004f790 pc=0x423757
runtime.gcenable.func1()
/usr/local/go/src/runtime/mgc.go:178 +0x26 fp=0xc00004f7e0 sp=0xc00004f7c8 pc=0x4185c6
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00004f7e8 sp=0xc00004f7e0 pc=0x45fb01
created by runtime.gcenable
/usr/local/go/src/runtime/mgc.go:178 +0x6b

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x7467bd528bc6?, 0x10d5655?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00004ff70 sp=0xc00004ff50 pc=0x4365d6
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:369
runtime.(*scavengerState).park(0x571800)
/usr/local/go/src/runtime/mgcscavenge.go:389 +0x53 fp=0xc00004ffa0 sp=0xc00004ff70 pc=0x4217b3
runtime.bgscavenge(0x0?)
/usr/local/go/src/runtime/mgcscavenge.go:622 +0x65 fp=0xc00004ffc8 sp=0xc00004ffa0 pc=0x421da5
runtime.gcenable.func2()
/usr/local/go/src/runtime/mgc.go:179 +0x26 fp=0xc00004ffe0 sp=0xc00004ffc8 pc=0x418566
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00004ffe8 sp=0xc00004ffe0 pc=0x45fb01
created by runtime.gcenable
/usr/local/go/src/runtime/mgc.go:179 +0xaa

goroutine 5 [finalizer wait]:
runtime.gopark(0x571c00?, 0xc000007860?, 0x0?, 0x0?, 0xc00004e770?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00004e628 sp=0xc00004e608 pc=0x4365d6
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:369
runtime.runfinq()
/usr/local/go/src/runtime/mfinal.go:180 +0x10f fp=0xc00004e7e0 sp=0xc00004e628 pc=0x4176cf
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00004e7e8 sp=0xc00004e7e0 pc=0x45fb01
created by runtime.createfing
/usr/local/go/src/runtime/mfinal.go:157 +0x45

goroutine 6 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc000050750 sp=0xc000050730 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc0000507e0 sp=0xc000050750 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000507e8 sp=0xc0000507e0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25

goroutine 7 [GC worker (idle)]:
runtime.gopark(0x7467d8b83fcd?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc000050f50 sp=0xc000050f30 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc000050fe0 sp=0xc000050f50 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000050fe8 sp=0xc000050fe0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25

goroutine 8 [GC worker (idle)]:
runtime.gopark(0x7467d8b83cec?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc000051750 sp=0xc000051730 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc0000517e0 sp=0xc000051750 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0000517e8 sp=0xc0000517e0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25

goroutine 9 [GC worker (idle)]:
runtime.gopark(0x7467d8b83f53?, 0x1?, 0x40?, 0x22?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc000051f50 sp=0xc000051f30 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc000051fe0 sp=0xc000051f50 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc000051fe8 sp=0xc000051fe0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25

goroutine 18 [GC worker (idle)]:
runtime.gopark(0x7467d8b83d86?, 0x3?, 0x15?, 0xcf?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00004a750 sp=0xc00004a730 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc00004a7e0 sp=0xc00004a750 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00004a7e8 sp=0xc00004a7e0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25

goroutine 34 [GC worker (idle)]:
runtime.gopark(0x7467d8b83f6f?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc000508750 sp=0xc000508730 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc0005087e0 sp=0xc000508750 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0005087e8 sp=0xc0005087e0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25

goroutine 10 [GC worker (idle)]:
runtime.gopark(0x7467d8b83f5f?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc000504750 sp=0xc000504730 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc0005047e0 sp=0xc000504750 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc0005047e8 sp=0xc0005047e0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25

goroutine 19 [GC worker (idle)]:
runtime.gopark(0x7467d8b83f55?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:363 +0xd6 fp=0xc00004af50 sp=0xc00004af30 pc=0x4365d6
runtime.gcBgMarkWorker()
/usr/local/go/src/runtime/mgc.go:1235 +0xf1 fp=0xc00004afe0 sp=0xc00004af50 pc=0x41a511
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1594 +0x1 fp=0xc00004afe8 sp=0xc00004afe0 pc=0x45fb01
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1159 +0x25
exit status 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant