为什么MongoDb崩溃并显示“ Got signal:7(总线错误)”

时间:2018-06-21 13:48:01

标签: linux mongodb crash raspberry-pi

我的MongoDB服务器在运行查询后,该查询在具有索引(具有2个字段)但没有过滤器的字段上运行,但崩溃了。 当我删除索引 Mongodb 时,效果很好。 您可以找到以下崩溃的详细信息:

use local;
db.getCollection("tagvalues").find(
{
"TagId" : {
"$in" : [1.0, 2.0]
}
});

索引详细信息

{ 
"v" : NumberInt(1), 
"unique" : true, 
"key" : {
"TagId" : NumberInt(1), 
"LastChangedTime" : NumberInt(1)
}, 
"name" : "TagId_1_LastChangedTime_1", 
"ns" : "local.tagvalues", 
"sparse" : true, 
"2dsphereIndexVersion" : NumberInt(2)
}

它可以在运行Linux的orangePi PC Plus上运行orangepipcplus 4.14.18-sunxi#24 SMP armv7l GNU / Linux 32位

mongo和linux详细信息:

db版本v3.2.12 git版本:ef3e1bc78e997f0d9f22f45aeb1d8e3b6ac14a14 分配器:系统 模块:无 构建环境: distarch:手臂 target_arch:手臂

我遵循此blog post

从源代码构建了mongo和mongod
  

环境细节

/ usr / local / bin / mongod:动态链接的ELF 32位LSB共享对象,ARM,EABI5版本1(SYSV),解释器/lib/ld-linux-armhf.so.3,用于GNU / Linux 3.2.0,BuildID [sha1] = xyz,未剥离

linux-vdso.so.1 (0xbe877000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb5bac000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb5b99000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb5a8d000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb5a15000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb59ec000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb59c8000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb58da000)
/lib/ld-linux-armhf.so.3 (0xb6f7f000)

linux2

在其他操作系统(如xenial)中,我将mongod升级到3.6.x,此问题已修复。 虽然我无法从源代码升级orangePi pc plus上的mongo,因为mongo在更高版本上不支持32位CPU


现在知道如何解决此问题。

0 个答案:

没有答案