我们在CentOS服务器上运行Context Broker,但它会随着某些更新查询而崩溃。我们尝试过版本0.26和最新的1.0.0-1,但结果是一样的,我们也尝试在3.0.6和3.0.7之间更改mongoDB版本,但没有运气。这些日志并没有让我们继续下去,所以这就是我们在这里问的原因。
我们正在做的是通过nginx发送一个大约1MB的实体更新,该实体的路由来自http调用。上下文代理崩溃(参见下面的日志),但mongodb和其他服务继续正常运行。
日志文件:/var/log/contextBroker/contextBroker.log
terminate called after throwing an instance of 'mongo::MsgAssertionException'
what(): EOO Before end of object
日志文件:/ var / log / messages
Apr 28 07:15:50 gl abrt[11457]: Saved core dump of pid 11426 (/usr/bin/contextBroker) to /var/spool/abrt/ccpp-2016-04-28-07:15:49-11426 (63606784 bytes)
Apr 28 07:15:50 gl abrtd: Directory 'ccpp-2016-04-28-07:15:49-11426' creation detected
Apr 28 07:15:50 gl abrtd: Package 'contextBroker' isn't signed with proper key
Apr 28 07:15:50 gl abrtd: 'post-create' on '/var/spool/abrt/ccpp-2016-04-28-07:15:49-11426' exited with 1
Apr 28 07:15:50 gl abrtd: Deleting problem directory '/var/spool/abrt/ccpp-2016-04-28-07:15:49-11426'
在详细模式下运行时来自contextBroker的输出:
INFO@14:05:27 logMsg.h[1792]: Starting transaction from 127.0.0.1:51245/v1/updateContext
INFO@14:05:27 connectionOperations.cpp[78]: Database Operation Successful (query: { id.id: "8a55c32500dfad.....06be56709b75b31c1f9beb7d2", id.type: "House", _id.servicePath: /^\/$/ })
terminate called after throwing an instance of 'mongo::MsgAssertionException'
what(): BSONElement: bad type 100
关于可能导致这种情况的原因,或者我们应该继续寻找的地方?