Golang:致命错误:运行时执行期间出现意外信号

我在执行二进制文件时随机收到以下错误(有时它可以工作):

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x47 pc=0x7f07a019b448]

这是整个堆栈跟踪。

我运行二进制文件的操作系统版本:

我运行二进制文件的操作系统版本:


NAME="Ubuntu"

VERSION="18.04.3 LTS (Bionic Beaver)"

ID=ubuntu

ID_LIKE=debian

PRETTY_NAME="Ubuntu 18.04.3 LTS"

VERSION_ID="18.04"

HOME_URL="https://www.ubuntu.com/"

SUPPORT_URL="https://help.ubuntu.com/"

BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"

PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

VERSION_CODENAME=bionic

UBUNTU_CODENAME=bionic

去版本:


go version

go version go1.16.9 linux/amd64

巴泽尔选项:


go_binary(

    name = "app-operator",

    embed = [":app-operator_lib"],

    gc_linkopts = [

        "-linkmode",

        "external",

        "-extldflags",

        "-static",

    ],

    static = "on",

    visibility = ["//visibility:public"],

)


守着星空守着你
浏览 554回答 1
1回答

达令说

您应该能够gc_linkopts从构建中删除选项。静态链接glibc并不真正受支持,并且可能会导致问题。如果您有其他需要静态链接的 cgo 库,则需要专门为这些库提供链接器标志。如果 cgo 的唯一用途是在 linux 上进行名称解析,那么您几乎总是可以在没有 cgo 的情况下进行构建,并在需要静态二进制文件而不需要可移植的 C 实现时依赖本机 Go 实现。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go