go - Imaginary 在高负载时感到恐慌
问题描述
我在 docker 中运行了imaginary,这是一个基于 的图像处理工具libvips
,并通过wrk
如下方式进行了一些工作:
wrk --latency -s print.lua -c 30 -t 1 -d 60m 'http://127.0.0.1:9000/crop?width=1440&height=1440&stripmeta=true&quality=70&type=jpeg&file=1M.jpg'
一段时间后它像这样崩溃
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x3 pc=0x7f2880099aad]
runtime stack:
runtime.throw(0x9845d0, 0x2a)
/usr/local/go/src/runtime/panic.go:774 +0x72 fp=0x7f27b9ffacf0 sp=0x7f27b9ffacc0 pc=0x4415b2
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:378 +0x47c fp=0x7f27b9ffad20 sp=0x7f27b9ffacf0 pc=0x456f0c
goroutine 102 [syscall, locked to thread]:
runtime.cgocall(0x8b1b70, 0xc002efc0c0, 0xc000557500)
/usr/local/go/src/runtime/cgocall.go:128 +0x7a fp=0xc002efc090 sp=0xc002efc058 pc=0x41598a
gopkg.in/h2non/bimg%2ev1._Cfunc_g_object_unref(0x7f2814083e10)
_cgo_gotypes.go:423 +0x63 fp=0xc002efc0c0 sp=0xc002efc090 pc=0x8348d3
gopkg.in/h2non/bimg%2ev1.vipsSave.func2.1()
/go/pkg/mod/github.com/nullne/bimg@v1.0.20-0.20200520104811-2989bdae9187/vips.go:419 +0x72 fp=0xc002efc108 sp=0xc002efc0c0 pc=0x842002
gopkg.in/h2non/bimg%2ev1.vipsSave(0x7f277c049960, 0x46, 0x6, 0x1, 0x10000, 0x0, 0x0, 0x16, 0xc120790000, 0xd52a, ...)
/go/pkg/mod/github.com/nullne/bimg@v1.0.20-0.20200520104811-2989bdae9187/vips.go:456 +0x300 fp=0xc002efc228 sp=0xc002efc108 pc=0x83d2c0
gopkg.in/h2non/bimg%2ev1.saveImage(0x7f277c049960, 0x280, 0x280, 0x0, 0x0, 0x0, 0x0, 0x46, 0x6, 0x0, ...)
/go/pkg/mod/github.com/nullne/bimg@v1.0.20-0.20200520104811-2989bdae9187/resizer.go:183 +0x1a0 fp=0xc002efc338 sp=0xc002efc228 pc=0x839110
gopkg.in/h2non/bimg%2ev1.resizer(0xc11e8cc000, 0x13bca3, 0x13bea3, 0x280, 0x280, 0x0, 0x0, 0x0, 0x0, 0x46, ...)
/go/pkg/mod/github.com/nullne/bimg@v1.0.20-0.20200520104811-2989bdae9187/resizer.go:138 +0x8b2 fp=0xc002efd2e0 sp=0xc002efc338 pc=0x838452
gopkg.in/h2non/bimg%2ev1.Resize(0xc11e8cc000, 0x13bca3, 0x13bea3, 0x280, 0x280, 0x0, 0x0, 0x0, 0x0, 0x46, ...)
/go/pkg/mod/github.com/nullne/bimg@v1.0.20-0.20200520104811-2989bdae9187/resize.go:15 +0x16f fp=0xc002efd658 sp=0xc002efd2e0 pc=0x833dbf
main.Process(0xc11e8cc000, 0x13bca3, 0x13bea3, 0x280, 0x280, 0x0, 0x0, 0x0, 0x0, 0x46, ...)
/go/src/github.com/h2non/imaginary/image.go:412 +0x180 fp=0xc002efda30 sp=0xc002efd658 pc=0x872390
main.Crop(0xc11e8cc000, 0x13bca3, 0x13bea3, 0x0, 0x1, 0x280, 0x280, 0x0, 0x0, 0x46, ...)
/go/src/github.com/h2non/imaginary/image.go:202 +0x165 fp=0xc002efe018 sp=0xc002efda30 pc=0x86eee5
main.Operation.Run(...)
/go/src/github.com/h2non/imaginary/image.go:47
这是恐慌日志的长版本:github问题
我搜索了很多,但没有任何帮助。我应该从哪里开始解决这个问题?非常感谢你
解决方案
推荐阅读
- java - 是否有任何选项可以在 java spring 属性中使用 @Value 设置默认值?
- amazon-web-services - 从 AWS Lambda 通过 Azure AD 对用户进行身份验证
- r - 如何在ggtern中绘制具有不同大小点的三元图形?
- c# - 实例的本质是什么?
- javascript - 检查两个数组是否相等并禁用具有相同值的数组按钮
- node.js - socket.io 连接出错 - “会话 ID 未知”
- r - 在 Shiny 中一次渲染多个独立的 UI 元素
- java - 楼梯问题——理解基本逻辑
- xml - 为什么 XMLEventReader / XMLEventWriter 意外将选项卡更改为输出中的空白?
- ruby-on-rails - 在整个 Ruby on Rails 应用程序中强制使用一种特定语言