Skip to content

runtime.wbBufFlush: nosplit stack overflow #7309

@mikewiacek

Description

@mikewiacek

Description

Using go version go1.18 linux/amd64

With gvisor.dev/gvisor v0.0.0-20220319025644-e785bfc153f5

While compiling against a module that imports gvisor.dev/gvisor/pkg/seccomp (to call seccomp.Install()

I started getting these new errors at linking time:

Use --sandbox_debug to see verbose messages from the sandbox
runtime.wbBufFlush: nosplit stack overflow
	792	assumed on entry to gvisor.dev/gvisor/pkg/abi/linux.(*SigAction).CopyOut<1> (nosplit)
	600	after gvisor.dev/gvisor/pkg/abi/linux.(*SigAction).CopyOut<1> (nosplit) uses 192
	592	on entry to gvisor.dev/gvisor/pkg/abi/linux.(*SigAction).CopyOutN<1> (nosplit)
	144	after gvisor.dev/gvisor/pkg/abi/linux.(*SigAction).CopyOutN<1> (nosplit) uses 448
	136	on entry to runtime.gcWriteBarrierCX<1> (nosplit)
	128	on entry to runtime.gcWriteBarrier<1> (nosplit)
	8	after runtime.gcWriteBarrier<1> (nosplit) uses 120
	0	on entry to runtime.wbBufFlush<0> (nosplit)
	-24	after runtime.wbBufFlush<0> (nosplit) uses 24
runtime.wbBufFlush: nosplit stack overflow
	792	assumed on entry to gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPPacketInfo).CopyOut<1> (nosplit)
	600	after gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPPacketInfo).CopyOut<1> (nosplit) uses 192
	592	on entry to gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPPacketInfo).CopyOutN<1> (nosplit)
	136	after gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPPacketInfo).CopyOutN<1> (nosplit) uses 456
	128	on entry to runtime.gcWriteBarrierCX<1> (nosplit)
	120	on entry to runtime.gcWriteBarrier<1> (nosplit)
	0	after runtime.gcWriteBarrier<1> (nosplit) uses 120
	-8	on entry to runtime.wbBufFlush<0> (nosplit)
runtime.wbBufFlush: nosplit stack overflow
	792	assumed on entry to gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPv6PacketInfo).CopyOut<1> (nosplit)
	600	after gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPv6PacketInfo).CopyOut<1> (nosplit) uses 192
	592	on entry to gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPv6PacketInfo).CopyOutN<1> (nosplit)
	144	after gvisor.dev/gvisor/pkg/abi/linux.(*ControlMessageIPv6PacketInfo).CopyOutN<1> (nosplit) uses 448
	136	on entry to runtime.gcWriteBarrierCX<1> (nosplit)
	128	on entry to runtime.gcWriteBarrier<1> (nosplit)
	8	after runtime.gcWriteBarrier<1> (nosplit) uses 120
	0	on entry to runtime.wbBufFlush<0> (nosplit)
	-24	after runtime.wbBufFlush<0> (nosplit) uses 24
link: error running subcommand external/go_sdk/pkg/tool/linux_amd64/link: exit status 2

Steps to reproduce

No response

runsc version

No response

docker version (if using docker)

No response

uname

No response

kubectl (if using Kubernetes)

No response

repo state (if built from source)

No response

runsc debug logs (if available)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions