Skip to content

nosplit stack error when using the debugger with Mac M1 #8149

Closed
@knlambert

Description

@knlambert

Description

I'm trying to contribute to the telepresence opensource project (which uses gvisor) with the debugger (in goland), and I get the following stack trace:

image

# command-line-arguments
gvisor.dev/gvisor/pkg/refs.(*AtomicRefCount).DecRef: nosplit stack over 792 byte limit
gvisor.dev/gvisor/pkg/refs.(*AtomicRefCount).DecRef<1>
    grows 48 bytes, calls gvisor.dev/gvisor/pkg/refs.(*AtomicRefCount).DecRefWithDestructor<1>
        grows 144 bytes, calls gvisor.dev/gvisor/pkg/refs.(*weakRefList).Remove<1>
            grows 128 bytes, calls gvisor.dev/gvisor/pkg/refs.(*weakRefEntry).SetNext<1>
                grows 16 bytes, calls runtime.gcWriteBarrier<1>
                    grows 224 bytes, calls runtime.wbBufFlush<0>
                        grows 32 bytes, calls runtime.wbBufFlush<1>
                            grows 32 bytes, calls runtime.cgoCheckWriteBarrier<1>
                                [...]

I only get the issue with a Mac M1, and it builds correctly on anything running amd64 (linux & mac).

Steps to reproduce

Clone and build the project:

git clone [email protected]:telepresenceio/telepresence.git
make build

The error seems to be caused by the -N flag added by goland, so just building the project with it causes the issue.

go build -o telepresence -gcflags=all="-N" cmd/telepresence/*

runsc version

Not relevant for this issue, but the project uses this version:

gvisor.dev/gvisor v0.0.0-20220925003544-1e2f1a11bf64

docker version (if using docker)

No response

uname

Darwin MacBook-Pro.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Aug 22 20:20:05 PDT 2022; root:xnu-8020.140.49~2/RELEASE_ARM64_T8101 arm64

kubectl (if using Kubernetes)

No response

repo state (if built from source)

No response

runsc debug logs (if available)

No response

Metadata

Metadata

Assignees

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