MangaStore 中的随机崩溃(致命错误)

mongorestore random crash (fatal error)

我在 macOS 10.12.

mongod --version
db version v3.2.8
git version: ed70e33130c977bda0024c125b56d159573dbaf0
OpenSSL version: OpenSSL 1.0.2h  3 May 2016
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

当我使用 mongorestore 时:

mongorestore --drop --db mydatabase /path/to/mongodump

导入开始,但 90% 的时间都崩溃了:

fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x697d5fa61ae3 pc=0x40d9e00]

goroutine 46 [running]:
runtime.throw(0x4683ea0, 0x2a)
    /usr/local/Cellar/go/1.6.2/libexec/src/runtime/panic.go:547 +0x90 fp=0xc822235790 sp=0xc822235778
runtime.sigpanic()
    /usr/local/Cellar/go/1.6.2/libexec/src/runtime/sigpanic_unix.go:12 +0x5a fp=0xc8222357e0 sp=0xc822235790
sync.(*Pool).Get(0x4c00390, 0x0, 0x0)
    /usr/local/Cellar/go/1.6.2/libexec/src/sync/pool.go:102 +0x40 fp=0xc822235830 sp=0xc8222357e0
fmt.newPrinter(0x10)
    /usr/local/Cellar/go/1.6.2/libexec/src/fmt/print.go:133 +0x27 fp=0xc822235870 sp=0xc822235830
fmt.Fprintf(0x55043f8, 0xc820026018, 0x45cda88, 0x6, 0xc822235968, 0x2, 0x2, 0xc82007e3f0, 0x0, 0x0)
    /usr/local/Cellar/go/1.6.2/libexec/src/fmt/print.go:187 +0x30 fp=0xc8222358b8 sp=0xc822235870
github.com/mongodb/mongo-tools/common/log.(*ToolLogger).log(0xc8200145a0, 0xc82007e3f0, 0x8a)
    /private/tmp/mongodb-20160713-59015-85tgmi/mongodb-src-r3.2.8/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/log/tool_logger.go:84 +0x20e fp=0xc822235990 sp=0xc8222358b8

... (real log is very long)

它是我的 OS 特有的吗?

谢谢。

我可以确认这绝对是 OS 的问题,因为我已经更新并且 运行 也遇到了同样的问题。我目前正在研究它,如果我发现任何东西,我会告诉你!

更新:

经过一些调查后,它似乎与 MongoDB 使用的 Go 依赖项有关。当前 MongoDB 正在使用 v1.4.2。事实证明,旧版本的 Go on macOS Sierra 存在问题。 https://github.com/golang/go/issues/16570 说明该问题已通过 v1.7 解决。除非有一种方法可以让 MongoDB 指向 Go v1.7,否则我不确定在 MongoDB 升级它们的依赖项之前是否会解决这个问题。

更新 2: 我正计划提交一个与此问题相关的 MongoDB 错误,直到我偶然发现了这个... https://jira.mongodb.org/browse/TOOLS-1450。 MongoDB 3.2.10 似乎将使用 Go v1.7,应该会解决你我所看到的问题。