Skip to content

nirvana api print fatal error invalid character '\x1b' looking for beginning of value #335

@narrowizard

Description

@narrowizard

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind feature

What happened:
nirvana print a fatal error when running nirvana api.

$ nirvana api --output="./api"
INFO  0611-14:39:33.220+08 api.go:87 | No packages are specified, defaults to pkg/apis
FATAL 0611-14:40:03.467+08 api.go:61 | invalid character '\x1b' looking for beginning of value

What you expected to happen:
the error is unexpected.
How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:
after some searching, i find the error is reported by json.Unmarshal.
nirvana api generated a nirvana-generated*** file and run it to get a json formated api-definition string, then output the string to standard output(cmd). and read the string from standard output(cmd), decode it to &api.Definitions{}.
the error occur when my project output something to cmd.

std.out

nirvana-generated****

cmd := exec.Command("go", "run", path)
cmd.Stderr = os.Stderr
buf := bytes.NewBuffer(nil)
cmd.Stdout = buf
if err := cmd.Run(); err != nil {
return nil, err
}
definitions := &api.Definitions{}
if err := json.NewDecoder(buf).Decode(definitions); err != nil {
return nil, err
}
return definitions, nil

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions