HelloZeroNet / HelloZeroNet/ZeroNet

ZeroNet fails to start after the ungraceful shutdown

未关闭
#471 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
JavaScript
星标
18.8k
派生
2.3k
PR 合并指标
30 天内没有已合并 PR

描述

After the system crash ZeroNet doesn't start any more:

```
[12:30:53] - OpenSSL loaded, version: 01000114F
[12:30:53] - Version: 0.3.6 r1098, Python 2.7.11 (default, May 6 2016, 08:39:38)
[GCC 4.2.1 Compatible FreeBSD Clang 3.4.1 (tags/RELEASE_34/dot1-final 208032)], Gevent: 1.1.1
[12:30:53] - Creating FileServer....
[12:30:53] TorManager Tor controller connect error: AssertionError: Authenticate error 515 Authentication failed: Password did not match HashedControlPassword value from configuration. Maybe you tried a plain text password? If so, the standard requires that you put it in double quotes.^M
in TorManager.py line 170
[12:30:53] - Creating UiServer....
Traceback (most recent call last):
File "/usr/local/share/zeronet/zeronet.py", line 16, in main
main.start()
File "/usr/local/share/zeronet/src/main.py", line 412, in start
actions.call(config.action, action_kwargs)
File "/usr/local/share/zeronet/src/main.py", line 115, in call
func(**kwargs)
File "/usr/local/share/zeronet/src/main.py", line 126, in main
ui_server = UiServer()
File "/usr/local/share/zeronet/src/Ui/UiServer.py", line 61, in __init__
self.sites = SiteManager.site_manager.list()
File "/usr/local/share/zeronet/src/Site/SiteManager.py", line 90, in list
self.load()
File "plugins/Zeroname/SiteManagerPlugin.py", line 17, in load
super(SiteManagerPlugin, self).load()
File "/usr/local/share/zeronet/src/Site/SiteManager.py", line 25, in load
for address in json.load(open("%s/sites.json" % config.data_dir)):
File "/usr/local/lib/python2.7/json/__init__.py", line 291, in load
**kw)
File "/usr/local/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
- Starting ZeroNet...
```

/var/db/zeronet/data/sites.json is blank. File sites.json-new is valid, when I copied it to sites.json it works. This should happen automatically. Or, better you should use SQLite.

zeronet-0.3.6

贡献指南

这个仓库没有索引到贡献指南

调研方向

从 src/Site/SiteManager.py 和 plugins/Zeroname/SiteManagerPlugin.py 开始,重点关注启动期间如何加载 sites.json。复现空 sites.json 导致的失败,并将其与有效的 sites.json-new 文件进行比较。完成的标准是:在此恢复场景之后,ZeroNet 无需手动替换文件即可启动;SQLite 方案则需要单独进行设计工作。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
backend, databases
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。