加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang log.Printf崩溃

发布时间:2020-12-16 09:24:54 所属栏目:大数据 来源:网络整理
导读:在运行2或3秒后,我的mac上的代码崩溃,但是在centos 7上它没关系,而且,我正在运行1.6.3. 问题: 是什么导致了这种崩溃? 如何避免它? (没有恢复) 后续堆栈的参数意味着什么? log.Printf(0x1068d8,0x6,0x0,0x0) 签名是: Print(v ...interface{}) 崩溃的代码
在运行2或3秒后,我的mac上的代码崩溃,但是在centos 7上它没关系,而且,我正在运行1.6.3.

问题:

>是什么导致了这种崩溃?
>如何避免它? (没有恢复)
>后续堆栈的参数意味着什么?

log.Printf(0x1068d8,0x6,0x0,0x0)

签名是:

Print(v ...interface{})

崩溃的代码:

package main
import (
    "log"
)

func main() {
    for {
       log.Printf("hello")
    }
}

它将在10秒内崩溃,并打印:

2017/09/02 21:50:01 hello
2017/09/02 21:50:01 hello
2017/09/02 21:50:01 hello
2017/09/02 21:50:01 hello
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x1777d0d1d11 pc=0x92f60]

goroutine 1 [running]:
runtime.throw(0x12c000,0x2a)
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/panic.go:547 +0x90 fp=0xc820035da0 sp=0xc820035d88
runtime.sigpanic()
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/sigpanic_unix.go:12 +0x5a fp=0xc820035df0 sp=0xc820035da0
sync.(*Pool).Get(0x1991e0,0x0)
    /usr/local/Cellar/go/1.6.3/libexec/src/sync/pool.go:102 +0x40 fp=0xc820035e40 sp=0xc820035df0
fmt.newPrinter(0xed13cae09)
    /usr/local/Cellar/go/1.6.3/libexec/src/fmt/print.go:133 +0x27 fp=0xc820035e80 sp=0xc820035e40
fmt.Sprintf(0x1068d8,0x0)
    /usr/local/Cellar/go/1.6.3/libexec/src/fmt/print.go:202 +0x2b fp=0xc820035ed0 sp=0xc820035e80
log.Printf(0x1068d8,0x0)
    /usr/local/Cellar/go/1.6.3/libexec/src/log/log.go:289 +0x49 fp=0xc820035f20 sp=0xc820035ed0
main.main()
    /Users/haoy/video_projects/rtc-xswitch2/app/recorder/src/test.go:11 +0x3d fp=0xc820035f50 sp=0xc820035f20
runtime.main()
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/proc.go:188 +0x2b0 fp=0xc820035fa0 sp=0xc820035f50
runtime.goexit()
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc820035fa8 sp=0xc820035fa0
exit status 2

解决方法

code 0x0b is 11,which is SIGSEGV..

我在使用Go 1.6.3的onMac之前看到了这个错误:见“go get throws ‘fatal error: unexpected signal during runtime execution’”.
Upgrading would be ideal.

有关更多信息,请参阅go/go issue 17824和cl 32882:

doc/devel/release.html: document go1.6.3 doesn’t actually support macOS Sierra.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读