NODEOS crash - EOS Test중 발생한 일

in #eos6 years ago

오랫만에 마음을 먹고..

EOS의 source를 새로 다운로드했습니다. 이미 BP런칭이 시작되고 있는 상황이라, 아마도 꽤 안정적일거란 마음이 들어서 일겁니다.

git fetch

로 새로 소스를 받고, 컴파일하고 설치를 했습니다.

아차차..그런데 기존에 돌던 nodeos를 안 죽였네요. 얘는 혼자 그동안 돌면서 confirm안된 블록을 160만개정도 만들었습니다. 꽤 오래 돌았죠.

그래서 nodeos를 죽이고, 다시 실행을 하니..뭐라 뭐라 에러가 뜹니다.

그래서 다시 nodeos를 죽이고 replay option을 주니 열심히 replay를 하더니만...
죽어 버립니다.

다시해도 죽어 버립니다.

그래서 일단 github에 아래 이슈를 report했습니다. 혹시 저와 같은 문제를 최신 버전에서 겪고 계시다면 댓글로 도움 부탁 드립니다.

제 목적으로 crash debug가 아니라 smart contract인데..오랫만에 하려니...이런 난감한 일이 생겼습니다. 아마도 resync로 돌리면 해결이 될텐데..버그의 보존 차원에서 일단은 그대로 남겨 놓았습니다.

아래는 제가 작성한 github의 원문입니다.

이젠 양산?체제로 바뀌어서 github이 issue양식도 바뀌었네요.

Note: this is the technical bug tracker, please use other platforms for getting support and starting a (non technical) discussion. See the getting help page for details.

I'm submitting a ...
[O ] bug report
[ ] question about the decisions made in the repository

Action taken (what you did)

git fetch to download the latest source code
compile and install
kill current running nodes(previous version)
run nodeos (block pending error? I missed log of this)
kill nodes
run nodes with --replay it start to sync....
Expected result (what you hoped would happen)
after completion of replay, it runs normally.

Actual result (unexpected outcome)
nodes crashed with following message

2273625ms thread-0 fork_database.cpp:94 close ] states.size(): 1
2273625ms thread-0 controller.cpp:218 ~controller_impl ] db.revision(): 223865 head->block_num: 223865 blog.read_head()->block_num(): 1610970
2275368ms thread-0 main.cpp:99 main ] 13 St9exception: boost::interprocess::bad_alloc
boost::interprocess::bad_alloc:
{"what":"boost::interprocess::bad_alloc"}
thread-0 controller.cpp:944 finalize_block

{}
thread-0  controller.cpp:789 apply_block
rethrow
{}
thread-0 controller.cpp:800 push_block
rethrow
{"my->genesis_file.generic_string()":"/root/.local/share/eosio/nodeos/config/genesis.json"}
thread-0 chain_plugin.cpp:262 plugin_startup

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc)

meanwhile replaying blocks, I did cleos command as follows. But I do not think so following action is related to nodeos. It should be related to keosd.

root@ubuntu-s-4vcpu-8gb-nyc1-01:# cleos wallet open
"/usr/local/bin/keosd" launched
Opened: default
root@ubuntu-s-4vcpu-8gb-nyc1-01:# cleos wallet list
Wallets:
[
"default"
]

I tried this twice. details command is
"~/eos/build# nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --replay
"

same crash happended. with same error on replaying.

2568225ms thread-0 controller.cpp:736 start_block ] on block transaction failed, but shouldn't impact block generation, system contract needs update
2568225ms thread-0 controller.cpp:785 apply_block ] e.to_detail_string(): 13 St9exception: boost::interprocess::bad_alloc
boost::interprocess::bad_alloc:
{"what":"boost::interprocess::bad_alloc"}
thread-0 controller.cpp:944 finalize_block
2568225ms thread-0 fork_database.cpp:220 remove ] my->index.size(): 1
2568225ms thread-0 controller.cpp:800 push_block ] 13 St9exception: boost::interprocess::bad_alloc
boost::interprocess::bad_alloc:
{"what":"boost::interprocess::bad_alloc"}
thread-0 controller.cpp:944 finalize_block

{}
thread-0  controller.cpp:789 apply_block
2568225ms thread-0 chain_plugin.cpp:262 plugin_startup ] 13 St9exception: boost::interprocess::bad_alloc
boost::interprocess::bad_alloc:
{"what":"boost::interprocess::bad_alloc"}
thread-0 controller.cpp:944 finalize_block

{}
thread-0  controller.cpp:789 apply_block
rethrow
{}
thread-0 controller.cpp:800 push_block
2568225ms thread-0 chain_plugin.cpp:262 plugin_startup ] my->genesis_file.generic_string(): /root/.local/share/eosio/nodeos/config/genesis.json
2568226ms thread-0 fork_database.cpp:94 close ] states.size(): 1
2568226ms thread-0 controller.cpp:218 ~controller_impl ] db.revision(): 223865 head->block_num: 223865 blog.read_head()->block_num(): 1610970
2570042ms thread-0 main.cpp:99 main ] 13 St9exception: boost::interprocess::bad_alloc
boost::interprocess::bad_alloc:
{"what":"boost::interprocess::bad_alloc"}
thread-0 controller.cpp:944 finalize_block

{}
thread-0  controller.cpp:789 apply_block
rethrow
{}
thread-0 controller.cpp:800 push_block
rethrow
{"my->genesis_file.generic_string()":"/root/.local/share/eosio/nodeos/config/genesis.json"}
thread-0 chain_plugin.cpp:262 plugin_startup

I preserved this in my server and did not do any other things. if you need more information, then please let me know.
Sort:  

아 개발자신가 보네요~ 이해를 못해 장단 맞춰드리진 못하지만 응원 드려봅니다 ㅎ

감사합니다. 응원 덕분인지 댓글이 달렸습니다.

Capture+_2018-06-09-13-06-01.png

가문의 영광입니다. 댄이 댓글을 달아 주었는데, 문제는 댓글 난이도가 너무 높습니다. 그래서 재질문을.

이런 문제가 생기면 진짜 갑갑하죠.
나중에 해결하고 나면 별거 아닌 경우가 많은 것 같아요.

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60625.76
ETH 2898.84
USDT 1.00
SBD 3.62