gpt4 book ai didi

mongodb - mongoimport 在 mac Sierra 10.12.2 上抛出随机 MSpanList_Insert 错误

转载 作者:IT王子 更新时间:2023-10-29 01:12:53 26 4
gpt4 key购买 nike

我的目标是将 Modulus 的转储导入我本地的 MongoDB。我有一个脚本,它获取所有 JSON 文件并一个一个地导入它们。在我安装 Sierra 之前,该脚本运行良好。这是脚本:

#!/bin/bash
FILES=/Users/username/Documents/ModulusDumps/1-12-17/*
for f in $FILES
do
filename="${f##*/}"
basename="${filename%.[^.]*}"
echo "$basename $filename"
mongoimport --db meteor --collection $basename --type json --file $f --drop -h 127.0.0.1:3001
done

现在,在安装 Sierra 之后,脚本仍然通过 JSON 文件运行并正常工作,但在导入的随机位置我得到以下信息:

failed MSpanList_Insert 0x7a0100 0x142f1b79b2cc2 0x0 fatal error: MSpanList_Insert

runtime stack: runtime.MSpanList_Insert(0x427610, 0x7a0100) /usr/local/Cellar/go/1.4.2/libexec/src/runtime/mheap.c:692 +0x8f runtime.MHeap_Alloc(0x4275a0, 0x1, 0x10000000002, 0xd9e9) /usr/local/Cellar/go/1.4.2/libexec/src/runtime/mheap.c:240 +0x66 runtime.MCentral_CacheSpan(0x42e118, 0x4ba3e8) /usr/local/Cellar/go/1.4.2/libexec/src/runtime/mcentral.c:85 +0x167 runtime.MCache_Refill(0x4b5960, 0xc200000002, 0x4ba3e8) /usr/local/Cellar/go/1.4.2/libexec/src/runtime/mcache.c:90 +0xa0

goroutine 54 [running]: runtime.switchtoM() /usr/local/Cellar/go/1.4.2/libexec/src/runtime/asm_amd64.s:198 fp=0xc209723878 sp=0xc209723870 runtime.mallocgc(0x5, 0x0, 0x3, 0xc20924dff0) /usr/local/Cellar/go/1.4.2/libexec/src/runtime/malloc.go:147 +0x1bb fp=0xc209723928 sp=0xc209723878 runtime.rawstring(0x5, 0x0, 0x0, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.4.2/libexec/src/runtime/string.go:195 +0x93 fp=0xc209723958 sp=0xc209723928 runtime.slicebytetostring(0xc208275afc, 0x5, 0x49, 0x0, 0x0) /usr/local/Cellar/go/1.4.2/libexec/src/runtime/string.go:69 +0x4b fp=0xc2097239e8 sp=0xc209723958 github.com/mongodb/mongo-tools/common/json.maybeUnquote(0xc208275afc, 0x5, 0x49, 0x0, 0x0, 0xc208106001) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/json/decode.go:1170 +0x88 fp=0xc209723a28 sp=0xc2097239e8 github.com/mongodb/mongo-tools/common/json.(*decodeState).objectInterface(0xc208625f00, 0xe) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/json/decode.go:1076 +0x14e fp=0xc209723ac0 sp=0xc209723a28 github.com/mongodb/mongo-tools/common/json.(*decodeState).valueInterface(0xc208625f00, 0x0, 0x0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/json/decode.go:978 +0x84 fp=0xc209723b10 sp=0xc209723ac0 github.com/mongodb/mongo-tools/common/json.(*decodeState).bsonDInterface(0xc208625f00, 0x0, 0x0, 0x0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/json/decode.go:1044 +0x25a fp=0xc209723bf0 sp=0xc209723b10 github.com/mongodb/mongo-tools/common/json.(*decodeState).bsonDocument(0xc208625f00, 0x0, 0x0, 0x0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/json/decode.go:358 +0x65 fp=0xc209723c18 sp=0xc209723bf0 github.com/mongodb/mongo-tools/common/json.(*decodeState).unmarshalBsonD(0xc208625f00, 0x0, 0x0, 0x0, 0x0, 0x0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/json/decode.go:190 +0x151 fp=0xc209723c70 sp=0xc209723c18 github.com/mongodb/mongo-tools/common/json.UnmarshalBsonD(0xc208275900, 0x245, 0x245, 0x0, 0x0, 0x0, 0x0, 0x0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/common/json/decode.go:107 +0x173 fp=0xc209723ce0 sp=0xc209723c70 github.com/mongodb/mongo-tools/mongoimport.JSONConverter.Convert(0xc208275900, 0x245, 0x245, 0x604e, 0x0, 0x0, 0x0, 0x0, 0x0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/mongoimport/json.go:142 +0x7b fp=0xc209723dd8 sp=0xc209723ce0 github.com/mongodb/mongo-tools/mongoimport.(*JSONConverter).Convert(0xc208ac3b40, 0x0, 0x0, 0x0, 0x0, 0x0) :8 +0xcd fp=0xc209723e28 sp=0xc209723dd8 github.com/mongodb/mongo-tools/mongoimport.(*importWorker).processDocuments(0xc2080ac040, 0xc2080ac000, 0x0, 0x0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/mongoimport/common.go:380 +0x166 fp=0xc209723f68 sp=0xc209723e28 github.com/mongodb/mongo-tools/mongoimport.func·002(0xc208086120, 0xc2080c6060, 0xc2080d85a0) /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/mongoimport/common.go:268 +0xa7 fp=0xc209723fc8 sp=0xc209723f68 runtime.goexit() /usr/local/Cellar/go/1.4.2/libexec/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc209723fd0 sp=0xc209723fc8 created by github.com/mongodb/mongo-tools/mongoimport.streamDocuments /private/tmp/mongodb20150321-60760-11xdj8i/mongodb-src-r3.0.1/src/github.com/mongodb/mongo-tools/.gopath/src/github.com/mongodb/mongo-tools/mongoimport/common.go:275 +0x490

加上一些额外的输出...找了一整天,发现这个错误在Sierra中并不新鲜,与Go语言有关。关于 1.4 版本不受支持或不支持 Sierra 的问题。我已经安装了 Go 1.7 并对其进行了测试,但无济于事。在 mongoimport 期间随机位置出现相同的错误。任何帮助将不胜感激!!

最佳答案

在清理数据并在 macOS Sierra 10.12.6 上使用新的 mongo 版本 3.7.4 再次运行“mongoimport”后,我解决了类似的问题。

解决问题前:

我使用的是 mongo 版本 3.0.7(与 macOS Sierra 10.12.6)。今天,当我尝试导入一个大的 JSON 文件时,我发现了类似的问题。这是示例命令和错误:

./mongoimport --host localhost --port 27017 --db mydb --collection access --type json  --file /Users/data.json

2017-08-31T08:08:29.376+0530 connected to: localhost:27017
failed MSpanList_Insert 0x1341998 0x2a98efb0db8fa 0x0
fatal error: MSpanList_Insert

runtime stack:
runtime.MSpanList_Insert(0x433940, 0x1341998)
/usr/local/go/src/runtime/mheap.c:692 +0x8f
runtime.MHeap_Alloc(0x433660, 0x1, 0x10000000009, 0xd9e9)
/usr/local/go/src/runtime/mheap.c:240 +0x66
runtime.MCentral_CacheSpan(0x43a9b8, 0xc20c2e9c88)
/usr/local/go/src/runtime/mcentral.c:85 +0x167
runtime.MCache_Refill(0x600960, 0x9, 0x8013417f8)
/usr/local/go/src/runtime/mcache.c:90 +0xa0

goroutine 20 [running]:
runtime.switchtoM()
/usr/local/go/src/runtime/asm_amd64.s:198 fp=0xc20c2e9368 sp=0xc20c2e9360
runtime.mallocgc(0x80, 0x0, 0x3, 0xc208531718)
/usr/local/go/src/runtime/malloc.go:178 +0x849 fp=0xc20c2e9418 sp=0xc20c2e9368
runtime.rawmem(0x80, 0x80)
/usr/local/go/src/runtime/malloc.go:371 +0x39 fp=0xc20c2e9440 sp=0xc20c2e9418

./mongoimport --version
mongoimport version: 3.0.7
git version: 134c548992e8248c7a7c53777a652cbb2490ab6c

它是如何修复的:我删除了/data/db/* 下的 mongo 数据。根据您的配置,这将是其他路径。

sudo rm -rf /data/db/*

然后我从 https://www.mongodb.com/dr/fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.4.7.tgz/download 下载并安装了新的 mongo 版本 3.7.4|

drwxr-xr-x   8 root  root  272 Aug 31 07:38 mongodb-osx-x86_64-3.0.7
drwxr-xr-x 7 root root 238 Aug 31 07:39 mongodb-osx-x86_64-3.4.7
lrwxr-xr-x 1 root root 24 Aug 31 07:39 mongo -> mongodb-osx-x86_64-3.4.7

检查mongoimport版本

./mongoimport  --version
mongoimport version: r3.4.7
git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
Go version: go1.7
os: darwin
arch: amd64
compiler: gc
OpenSSL version: OpenSSL 0.9.8zh 14 Jan 2016

我使用“mongoimport”3.4.7 成功导入了大文件(以 GB 为单位)。

注意:如果你因为任何原因不能像我一样清理数据。您可以尝试单独安装新的 mongo 并尝试使用新版本的“mongoimport”。

在清理数据后,我还尝试使用旧版本的“mongoimport”,但它没有用。使用最新的“mongoimport”帮助解决了我的问题。

希望对您有所帮助。

关于mongodb - mongoimport 在 mac Sierra 10.12.2 上抛出随机 MSpanList_Insert 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41644489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com