O servidor MongoDB travou, mostrando o seguinte erro

3

Eu tenho uma instância do MongoDB em execução em uma VM VMWare com o Ubuntu Server 12.04. De repente, o servidor travou e, quando tento reinicializá-lo, recebo o seguinte erro:

jonathanong@ubuntu:~/mongodb/solo$ /usr/bin/mongod --fork --port 27027 --dbpath ~/mongodb/solo --logpath ~/mongodb/solo/mongodb.log
Thu Jan 17 00:54:25   Assertion failure getcwd( buffer , 1000 ) src/mongo/db/cmdline.cpp 188
0xaffd31 0xac65cd 0x6878a8 0x55f070 0x565d39 0x7f2b226d176d 0x558149 
 /usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0xaffd31]
 /usr/bin/mongod(_ZN5mongo12verifyFailedEPKcS1_j+0xfd) [0xac65cd]
 /usr/bin/mongod(_ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE+0x4a38) [0x6878a8]
 /usr/bin/mongod() [0x55f070]
 /usr/bin/mongod(main+0x9) [0x565d39]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f2b226d176d]
 /usr/bin/mongod(__gxx_personality_v0+0x471) [0x558149]
Thu Jan 17 00:54:25 terminate() called, printing stack (if implemented for platform):
0xaffd31 0x55840e 0x7f2b23036846 0x7f2b23036873 0x7f2b2303696e 0xac6776 0x6878a8 0x55f070 0x565d39 0x7f2b226d176d 0x558149 
 /usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0xaffd31]
 /usr/bin/mongod(_ZN5mongo11myterminateEv+0x3e) [0x55840e]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb5846) [0x7f2b23036846]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb5873) [0x7f2b23036873]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb596e) [0x7f2b2303696e]
 /usr/bin/mongod(_ZN5mongo12verifyFailedEPKcS1_j+0x2a6) [0xac6776]
 /usr/bin/mongod(_ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE+0x4a38) [0x6878a8]
 /usr/bin/mongod() [0x55f070]
 /usr/bin/mongod(main+0x9) [0x565d39]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f2b226d176d]
 /usr/bin/mongod(__gxx_personality_v0+0x471) [0x558149]
Thu Jan 17 00:54:25 Got signal: 6 (Aborted).

Thu Jan 17 00:54:25 Backtrace:
0xaffd31 0x558bb9 0x7f2b226e64a0 0x7f2b226e6425 0x7f2b226e9b8b 0x558413 0x7f2b23036846 0x7f2b23036873 0x7f2b2303696e 0xac6776 0x6878a8 0x55f070 0x565d39 0x7f2b226d176d 0x558149 
 /usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0xaffd31]
 /usr/bin/mongod(_ZN5mongo10abruptQuitEi+0x399) [0x558bb9]
 /lib/x86_64-linux-gnu/libc.so.6(+0x364a0) [0x7f2b226e64a0]
 /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f2b226e6425]
 /lib/x86_64-linux-gnu/libc.so.6(abort+0x17b) [0x7f2b226e9b8b]
 /usr/bin/mongod(_ZN5mongo11myterminateEv+0x43) [0x558413]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb5846) [0x7f2b23036846]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb5873) [0x7f2b23036873]
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb596e) [0x7f2b2303696e]
 /usr/bin/mongod(_ZN5mongo12verifyFailedEPKcS1_j+0x2a6) [0xac6776]
 /usr/bin/mongod(_ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE+0x4a38) [0x6878a8]
 /usr/bin/mongod() [0x55f070]
 /usr/bin/mongod(main+0x9) [0x565d39]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f2b226d176d]
 /usr/bin/mongod(__gxx_personality_v0+0x471) [0x558149]

Este é o MongoDB 2.2.2 baixado do mongodb-10gen: link

Alguma idéia?

Edit: Então eu acabei de criar uma nova VM a partir do zero e está perfeitamente bem. Portanto, este não é um show stopper para mim desde que eu pretendo usar hospedagem gerenciada. Ainda assim, conhecer o problema seria bom!

    
por Jonathan Ong 17.01.2013 / 09:58

3 respostas

5

Parece que você está bem, mas FYI: isso só aconteceu comigo. Praticamente o mesmo rastreamento de pilha. O problema era que enquanto eu reiniciava o mongod, meu diretório atual neste shell era um que eu havia deletado há pouco (em outro shell). Foi por isso que o getcwd falhou.

    
por 13.04.2013 / 01:53
3

A primeira coisa a observar é a linha de código fornecida no topo da falha:

link

Isso basicamente é pegar o diretório de trabalho atual. Um lugar estranho para travar - isso sugeriria um problema bastante básico no nível do sistema de arquivos - diretório não encontrado, ou de alguma outra forma corrompido.

De acordo com a addr2line (consulte Analisando rastreamentos de pilha ), a primeira linha relevante (0x6878a8) aponta aqui:

link

Isso novamente aponta para algum tipo de problema na obtenção da pasta mongod relevante (provavelmente / var / lib / mongodb ou similar). Desta vez, o erro relevante é:

Cant chdir() while forking server process

Novamente apontando para uma causa básica semelhante em termos de acesso ao sistema de arquivos / pasta que o programa está tentando usar.

    
por 17.01.2013 / 11:43
1

Na minha experiência, recebi esse erro: "SEVERE: terminate () chamado, imprimindo stack" por causa do problema de localização. tipo:

export LC_CTYPE="en_US.UTF-8"

provavelmente corrigiria o problema.

    
por 15.05.2015 / 06:42

Tags