我有一个非常简单的 Hyperledger Fabric 测试网络。网络通过 Docker Compose 正常启动,peer 和 orderer 之间的连接很好。每个对等点都有一个单独的容器作为他们的数据库,使用 CouchDB。
系统:Ubuntu 18.04
当对等点尝试与其 CouchDB 容器交互时会出现此问题,然后会出现错误消息并且对等点节点退出。
这是来自 CouchDB 的容器日志:
这是我在 couchdb 容器日志中收到的错误:
[信息] 2019-11-26T10:28:38.398968Z nonode@nohost <0.195.0> -------- Apache CouchDB 已在http://any:5986/上启动
[info] 2019-11-26T10:28:38.399538Z nonode@nohost <0.7.0> -------- 应用程序沙发在节点 nonode@nohost 上启动
[info] 2019-11-26T10:28:38.399838Z nonode@nohost <0.7.0> -------- 应用程序 ets_lru 在节点 nonode@nohost 上启动
[info] 2019-11-26T10:28:38.428548Z nonode@nohost <0.7.0> -------- 应用程序 rexi 在节点 nonode@nohost 上启动
[信息] 2019-11-26T10:28:38.441617Z nonode@nohost <0.201.0> -------- _nodes 的 open_result 错误 {not_found,no_db_file}
[警告] 2019-11-26T10:28:38.441655Z nonode@nohost <0.271.0> -------- 创建缺少的数据库:_nodes
[信息] 2019-11-26T10:28:38.470566Z nonode@nohost <0.201.0> -------- _dbs 的 open_result 错误 {not_found,no_db_file}
[警告] 2019-11-26T10:28:38.470600Z nonode@nohost <0.285.0> -------- 创建缺少的数据库:_dbs
[警告] 2019-11-26T10:28:38.470639Z nonode@nohost <0.284.0> -------- 创建缺少的数据库:_dbs
[info] 2019-11-26T10:28:38.478597Z nonode@nohost <0.7.0> -------- 应用程序 mem3 在节点 nonode@nohost 上启动
[info] 2019-11-26T10:28:38.478957Z nonode@nohost <0.7.0> -------- 应用程序结构在节点 nonode@nohost 上启动
[info] 2019-11-26T10:28:38.529437Z nonode@nohost <0.7.0> -------- 应用程序 chttpd 在节点 nonode@nohost 上启动
[通知] 2019-11-26T10:28:38.553132Z nonode@nohost <0.322.0> -------- chttpd_auth_cache 更改侦听器死亡 database_does_not_exist at mem3_shards:load_shards_from_db/6(line:395) <= mem3_shards:load_shards_from_disk /1(line:370) <= mem3_shards:load_shards_from_disk/2(line:399) <= mem3_shards:for_docid/3(line:86) <= fabric_doc_open:go/3(line:38) <= chttpd_auth_cache:ensure_auth_ddoc_exists/2 (line:187) <= chttpd_auth_cache:listen_for_changes/1(line:134)
[错误] 2019-11-26T10:28:38.555361Z nonode@nohost 模拟器-------- 进程 <0.323.0> 中的错误,退出值:
{database_does_not_exist,[{mem3_shards,load_shards_from_db,"_users",[{file,"src/mem3_shards.erl"},{line,395}]},{mem3_shards,load_shards_from_disk,1,[{file,"src/mem3_shards. erl"},{line,370}]},{mem3_shards,load_shards_from_disk,2,[{file,"src/mem3_shards.erl"},{line,399}]},{mem3_shards,for_docid,3,[{file ,"src/mem3_shards.erl"},{line,86}]},{fabric_doc_open,go,3,[{file,"src/fabric_doc_open.erl"},{line,38}]},{chttpd_auth_cache,ensure_auth_ddoc_exists ,2,[{file,"src/chttpd_auth_cache.erl"},{line,187}]},{chttpd_auth_cache,listen_for_changes,1,[{file,"src/chttpd_auth_cache.erl"},{line,134}] }]}
这是来自尝试到达 CouchDB 的对等容器的错误日志:
2019-11-26 10:29:00.236 UTC [ledgermgmt] CreateLedger -> INFO 021 使用创世块创建分类帐 [allarewelcome]
2019-11-26 10:29:00.238 UTC [fsblkstorage] newBlockfileMgr -> INFO 022 从块存储中获取块信息
恐慌:运行时错误:无效的内存地址或零指针取消引用
恐慌:运行时错误:无效的内存地址或零指针取消引用
[信号SIGSEGV:分段违规代码=0x1 addr=0x28 pc=0xcecbb6]