Skip to content

SIGBUS on Go 1.26 with vintage x/sys — please update your go.mod so we don't all have to #495

Description

@bigsk05

Hi maintainers,

First, thanks for the SDK — it has clearly stood the test of time, if not the test of go mod tidy.

Unfortunately, running any program that imports ucloud-sdk-go with a modern Go toolchain (1.26 on macOS) instantly hits a SIGBUS crash. The stack leads straight to golang.org/x/sys/unix.ioctl, called through logrus → IsTerminal just to check if stderr is a TTY. The program then cheerfully exits with signal: bus error at a dodgy address.

A quick look at your go.mod explains everything:

github.com/sirupsen/logrus v1.3.0
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 // indirect

x/sys comes in as another 2019 pseudo-version. These were great releases — in 2019. Against Go 1.26 they are essentially a loaded footgun.

I was able to fix the crash locally by manually updating these dependencies in my project. But I shouldn't have to, and neither should anyone else. A library is supposed to declare a compatible, working set of dependencies. Right now your go.mod guarantees a panic for every new user on a recent Go version.

Could you please bump logrus, x/crypto, and anything else that drags in ancient x/sys? A simple go get -u and go mod tidy on your side would save everyone else a debugging session and a heart attack when they see a bus error.

Thanks for your time — and for preserving a piece of Go module archaeology for future generations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions