比特币核心“无法打开文件”导致重新索引失败

我最近很难将比特币从我的军械库钱包(0.96.5)发送到另一个帐户。发送比特币不起作用,因为钱包无法与区块链同步。由于Armory依赖于bitcoin核心客户端、bitcoin qt或bitcoin D管理的连接,因此很明显故障是由bitcoin核心客户端(0.17.1)造成的。命令./bitcoin qt–reindex是在Armory关闭后发出的,但多次失败,debug.log中的条目在关闭前有如下摘录:
2019-01-15T23:17:07Z在rev01636.dat中预分配到0x1000000位置
2019-01-15T23:17:07Z UpdateTip:new best=0000000000000000001E1DB68A76512729668E9DD4C6C06CAE346A65618189E height=557921 version=0x20c00000 log2\u work=90.224133 tx=371925681 date=’2019-01-10T12:31:34Z’progress=0.996972 cache=700.2MiB(5254262txo)
2019-01-15T23:17:07Z UpdateTip:new best=000000000000000000014B6677C848DEF28A7EDEF1225B0AA865F96199CB1ABD8 height=557922 version=0x20000000 log2\u work=90.224157 tx=371928196 date=’2019-01-10T12:42:46Z’progress=0.996976 cache=700.3MiB(5254902txo)
2019-01-15T23:17:07Z从磁盘导入mempool事务:1成功,0失败,0过期,0已存在
2019-01-15T23:17:09Z离开块文件1636:CBlockFileInfo(块=144,大小=133976289,高度=557764…558003,时间=2019-01-09…2019-01-11)
2019-01-15T23:17:09Z无法打开文件/home/**/.bitcoin/blocks/blk01637.dat
2019-01-15T23:17:09Z无法打开文件/home/**/.bitcoin/blocks/blk01637.dat
2019-01-15T23:17:09Z错误:WriteBlockToDisk:OpenBlockFile失败
2019-01-15T23:17:09Z***写入块失败
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:37:10Z套接字发送超时:1201s
2019-01-15T23:39:47Z错误:ProcessNewBlock:AcceptBlock失败(AcceptBlock:未能找到将新块写入磁盘的位置(代码0))
2019-01-15T23:39:47Z tor:线程中断
2019-01-15T23:39:47Z关机:正在进行。。。
2019-01-15T23:39:47Z addcon线程退出
2019-01-15T23:39:47Z opencon线程退出
2019-01-15T23:39:47Z torcontrol线程退出
2019-01-15T23:39:47Z净螺纹出口
2019-01-15T23:39:47Z msghand螺纹出口
2019-01-15T23:39:47Z调度程序线程中断
2019-01-15T23:39:47Z转储内存池:3e-06s要复制,0.000992s要转储
2019-01-15T23:39:47Z无法打开文件/home/**/.bitcoin/blocks/blk01637.dat
2019-01-15T23:39:55Z无法打开文件/home/**/.bitcoin/blocks/blk01637.dat
2019-01-15T23:39:56Z[默认钱包]释放钱包
2019-01-15T23:39:56Z关机:完成
如果打开文件失败导致重新索引失败,该怎么办?
比特币核心
军械库
错误
重新索引
分享
改进这个问题
跟随
1月17日16:25编辑
1月16日19点52分问
基普·沃森
1122枚青铜徽章
请不要在问题域内回答问题。你可以自己发布答案彼得·维尔1月16日15:11
感谢Pieter为比特币核心所做的一切贡献。我已经按照建议编辑了我的问题,并给出了答案Kipp Watson 1月17日16:21
添加评论
2个答案
1.
一份详尽的谷歌搜索调查显示,未能读取blknnn.dat文件意味着硬盘或wallet.dat和/或blknnnn.dat等文件中的数据损坏。然而,就我而言,我能够排除这些因素。我排除了硬盘驱动器故障,使用了我的虚拟机克隆运行在一个替代硬盘驱动器。我还排除了wallet.dat中的腐败,重新索引了一个最近运行良好的替换wallet.dat。在本例中,无法打开的文件是blk1637.dat。在大约四次不成功的重新索引尝试之后,我查看了缺陷块的文件权限,并注意到文件权限只允许root用户使用。以前的块允许非根用户使用。对于文件权限缺乏一致性的明显解决方案是对错误文件的文件权限设置进行一致性,但是进行此更改然后重新编制链的索引并没有起作用,因为再次发生了打开块文件的相同失败。我注意到有人在Google搜索中评论说,客户机软件中的init.cpp使用umask命令更改块文件的文件权限。使用sudo命令在这种情况下救了我。毕竟,我的所有东西都包含在虚拟机环境中,这种安全风险是微不足道的。在适当的文件夹中,我运行sudo./bitcoin qt,等待它赶上同步,然后启动Armory。通常,在或中使用sudo

时光素材-香车美女  (787)blockchainBTC比特币区块链www.qkl91.com

发表评论

邮箱地址不会被公开。 必填项已用*标注