草庐IT

mongodb - Mongod 在启动时死于致命断言 16252

coder 2023-10-31 原文

MongoDB 在我构建的 VM 上继续崩溃。用谷歌搜索致命断言编号无济于事。任何指针将不胜感激...

详细信息:

在运行 Ubuntu 14.04 的虚拟机系统上。 来自 10gen 的最新稳定 mongo 包:

# dpkg -l | grep mongo
ii  libmongo-client0:amd64                     0.1.7-1                             amd64        Alternate C driver for the MongoDB document-oriented datastore
ii  mongodb-org                                2.6.3                               amd64        MongoDB open source document-oriented database system (metapackage)
ii  mongodb-org-mongos                         2.6.3                               amd64        MongoDB sharded cluster query router
ii  mongodb-org-server                         2.6.3                               amd64        MongoDB database server
ii  mongodb-org-shell                          2.6.3                               amd64        MongoDB shell client
ii  mongodb-org-tools                          2.6.3                               amd64        MongoDB tools

大量可用磁盘。

来自/var/log/mongodb/mongod.log 的日志:

2014-06-30T16:11:14.474-0600 ***** SERVER RESTARTED *****
2014-06-30T16:11:14.479-0600 [initandlisten] MongoDB starting : pid=27406 port=27017 dbpath=/var/lib/mongodb 64-bit host=foobar
2014-06-30T16:11:14.479-0600 [initandlisten] db version v2.6.3
2014-06-30T16:11:14.479-0600 [initandlisten] git version: 255f67a66f9603c59380b2a389e386910bbb52cb
2014-06-30T16:11:14.479-0600 [initandlisten] build info: Linux build12.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-06-30T16:11:14.479-0600 [initandlisten] allocator: tcmalloc
2014-06-30T16:11:14.479-0600 [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb" }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2014-06-30T16:11:14.481-0600 [initandlisten] journal dir=/var/lib/mongodb/journal
2014-06-30T16:11:14.482-0600 [initandlisten] recover begin
2014-06-30T16:11:14.482-0600 [initandlisten] info no lsn file in journal/ directory
2014-06-30T16:11:14.482-0600 [initandlisten] recover lsn: 0
2014-06-30T16:11:14.482-0600 [initandlisten] recover /var/lib/mongodb/journal/j._0
2014-06-30T16:11:14.498-0600 [initandlisten] recover cleaning up
2014-06-30T16:11:14.498-0600 [initandlisten] removeJournalFiles
2014-06-30T16:11:14.500-0600 [initandlisten] recover done
2014-06-30T16:11:14.720-0600 [initandlisten] waiting for connections on port 27017
2014-06-30T16:11:14.751-0600 [IndexRebuilder] Fatal Assertion 16252
2014-06-30T16:11:14.758-0600 [IndexRebuilder] 0x11da801 0x117c9f9 0x115f43d 0xa1a7cf 0xa1ccab 0xa1ced3 0x8f4ad0 0xb89da3 0xb8ac78 0x11625f2 0x121f219 0x7fad84a56182 0x7fad83d5b30d
 /usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0x11da801]
 /usr/bin/mongod(_ZN5mongo10logContextEPKc+0x159) [0x117c9f9]
 /usr/bin/mongod(_ZN5mongo13fassertFailedEi+0xcd) [0x115f43d]
 /usr/bin/mongod(_ZN5mongo4Lock7DBWrite9lockOtherERKNS_10StringDataE+0xa6f) [0xa1a7cf]
 /usr/bin/mongod(_ZN5mongo4Lock7DBWrite6lockDBERKSs+0x17b) [0xa1ccab]
 /usr/bin/mongod(_ZN5mongo4Lock7DBWriteC1ERKNS_10StringDataE+0x63) [0xa1ced3]
 /usr/bin/mongod(_ZN5mongo6Client12WriteContextC1ERKSsS3_+0x40) [0x8f4ad0]
 /usr/bin/mongod(_ZN5mongo14IndexRebuilder7checkNSERKSt4listISsSaISsEE+0xd3) [0xb89da3]
 /usr/bin/mongod(_ZN5mongo14IndexRebuilder3runEv+0x188) [0xb8ac78]
 /usr/bin/mongod(_ZN5mongo13BackgroundJob7jobBodyEv+0xd2) [0x11625f2]
 /usr/bin/mongod() [0x121f219]
 /lib/x86_64-linux-gnu/libpthread.so.0(+0x8182) [0x7fad84a56182]
 /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fad83d5b30d]
2014-06-30T16:11:14.758-0600 [IndexRebuilder]

***aborting after fassert() failure

最佳答案

看起来像是损坏的日志文件或整个数据库(不确定这是怎么发生的?)。 移动数据库文件,并从备份转储中恢复,一切看起来都很好。

这在 apt-get 升级后再次发生。想知道安装脚本是否在升级前没有正确关闭数据库,从而破坏了日志?

关于mongodb - Mongod 在启动时死于致命断言 16252,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24499817/

有关mongodb - Mongod 在启动时死于致命断言 16252的更多相关文章

  1. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  2. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

  3. ruby - 使用 Capistrano 启动 sidekiq - 2

    我想用Capistrano启动sidekiq。下面是代码namespace:sidekiqdotask:startdorun"cd#{current_path}&&bundleexecsidekiq-c10-eproduction-Llog/sidekiq.log&"pcapture("psaux|grepsidekiq|awk'{print$2}'|sed-n1p").strip!endend它执行成功但sidekiq仍然没有在服务器上启动。输出:$capsidekiq:starttriggeringloadcallbacks*2014-06-0315:03:01executing`

  4. ruby-on-rails - 致命 : Peer authentication failed for user "rails" - 2

    我正在尝试运行rakedb:create在DigitalOcean服务器上使用postgresql。但是,它返回错误Peerauthenticationfailedforuser"rails",引用config/database.yml登录凭据的存储位置奇怪的是,当我通过SSH登录服务器时,这些凭据以纯文本形式显示给我。我都试过了密码以纯文本形式显示给我,同样的事情发生了。环境在生产中,我必须手动强制执行,因为应用程序在启动时正在开发中并强制它在config/environments.rb中更改不工作。如果我不得不猜测,我可能会说环境中发生了一些有趣的事情,因为DigitalOcean

  5. ruby-on-rails - fastercsv 的 Rails 3 服务器启动问题 - 2

    我有一个正在升级到Rails3的Rails2.3.5应用程序。我做了所有我需要做的升级以及当我使用启动Rails服务器时要做的事情railsserver它给了我这个PleaseswitchtoRuby1.9'sstandardCSVlibrary.It'sFasterCSVplussupportforRuby1.9'sm17nencodingengine.我正在使用ruby-1.9.2-p0并安装了fastercsv(1.5.3)gem。在puts语句的帮助下,我能够追踪到错误发生的位置。我发现执行在这一行停止了Bundler.require(:default,Rails.env)if

  6. 电脑启动后显示器黑屏怎么办?排查下面4个问题,快速解决 - 2

    电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑

  7. 如何判断oracle是否启动及启动oracle数据库 - 2

    plsql连接Oracle超时,完犊子了肯定是服务器断电了。得马上检查Oracle服务器状态1、检查数据库是否启动su-oracle切换到Oracle用户,输入sqlplus/assysdba显示连接状态。如果末尾显示的状态是Connectedtoanidleinstance.证明未启动2、启动数据库startup启动数据库,末尾出现Databaseopened说明数据库启动成功3、查看数据库监听是否正常先quit;断开Oracle连接,使用lsnrctlstatus查看监听状态,如果出现TNS-开头的Nolistener、Connectionrefused等错误,说明监听未启动4、启动数据库

  8. ruby-on-rails - 如何扩展 Ruby Test::Unit 断言以包含 assert_false? - 2

    显然在Test::Unit中没有assert_false。您将如何通过扩展断言并添加文件config/initializers/assertions_helper.rb来添加它?这是最好的方法吗?我不想修改test/unit/assertions.rb。顺便说一句,我不认为这是多余的。我使用的是assert_equalfalse,something_to_evaluate。这种方法的问题是很容易意外使用assertfalse,something_to_evaluate。这将始终失败,不会引发错误或警告,并且会在测试中引入错误。 最佳答案

  9. ruby-on-rails - 为什么 Rails 在启动时预加载它的所有依赖项(gems)? - 2

    当Rails启动时,它会预加载所有依赖项(gems),这会导致启动时间非常缓慢。在我正在处理的一个中型项目中,Rails的启动时间为10-15秒,具体取决于机器。虽然这在生产中不是问题,但在开发中却是一个巨大的痛苦。特别是在工作TDD/BDD时。有加速测试的解决方案(如spork),但它们会引入自己的问题。我的问题是:为什么不在每个代码文件中要求所需的依赖项,而不是在启动时预加载所有内容?手动要求的缺点是什么?额外的代码行? 最佳答案 Rails不是PHP。一些资源是自动加载的,但是您可能需要的所有资源都在启动/初始化时加载,因为最

  10. ruby - 无法启动 sinatra 进程 - eventmachine "no acceptor" - 2

    我有一个作为守护程序运行的Sinatra应用程序,使用Apache端口转发在端口80和端口7655之间进行调解。这在过去一直运行良好。今天,不太好。我不明白为什么。问题:sudoruby​​my_process.rb返回:/var/lib/gems/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:526:in`start_tcp_server':noacceptor(portisinuseorrequiresrootprivileges)(RuntimeError)尝试过:更新所有系统包,更新所有gem。没有帮助(除了来自eventm

随机推荐