8

我在 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)

它特定于我的操作系统吗?

谢谢。

4

1 回答 1

26

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

更新:

在做了一些调查之后,它似乎与 MongoDB 使用的 Go 依赖关系有关。目前 MongoDB 使用的是 v1.4.2。事实证明,旧版本的 Go 在 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 并且应该解决您和我看到的问题。

于 2016-09-27T19:45:45.880 回答