为了账号安全,请及时绑定邮箱和手机立即绑定

Cloud-Run 进程失败,并显示 500 状态代码和 membarrier gvisor 错误

Cloud-Run 进程失败,并显示 500 状态代码和 membarrier gvisor 错误

Go
慕森卡 2023-07-10 17:56:32
背景该服务是一个简单的 Go 程序,它将文件从 Cloud Storage 传输到浏览器。在我的 Macbook 上一切正常,但在 Cloud-Run(托管)上无法满足某些请求。大多是大型 mp4 文件。问题日志仅显示500状态,浏览器也是如此。但我的服务除了开始复制文件之外不记录任何内容。没有 IO 错误或任何错误。此消息在状态之前 4 秒显示500:Container Sandbox Limitation: Unsupported syscall membarrier(0x10,0x0,0x0,0x8,0x775dce0b030,0x775dce0b000). Please, refer to https://gvisor.dev/c/linux/amd64/membarrier for more information.我无法在本地重现此内容。使用相同的配置和 GCP 存储桶在本地运行良好。该服务在 Cloud-Run 上运行良好,处理较小的文件(例如图像)。只是不是我尝试过的视频。我试过了将所有内容记录到io.Copy. 没有错误,调用后挂起io.Copy。增加容器的内存。现在已经运行1G了。与 512M 没有变化。使用相同的配置、相同的凭据在本地 Docker 容器中运行。没问题。在 Twitter 上联系 GCP更新2019-08-16我创建了一个非常简单的服务,将“A”打印到 http 响应编写器。它在本地也能完美运行,但在云运行时返回 500 且尺寸较大。1MB OK、5MB OK、50 MB 失败、100MB 失败等。此服务运行时没有 membarrier 消息。代码可在此处获取:https ://github.com/andrioid/reproduct-cloud-run-bug也在问题跟踪器上报告:https ://issuetracker.google.com/issues/139511257更新 2:可能的原因响应大小似乎有 32MB 的硬性限制。https://cloud.google.com/run/quotas非常令人失望的是,这个值无法增加,并且错误没有提到这个限制,日志文件也没有提到。
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信