HelloZeroNet / HelloZeroNet/ZeroNet

High CPU when running in MAC

オープン
#1,426 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
18.8k
フォーク
2.3k
PR マージ指標
30日以内にマージされた PR はありません

説明

### Step 1: Please describe your environment

* ZeroNet version: Version: 0.6.2 r3467, Python 2.7.14 (default, Dec 25 2017, 15:20:24)
* Operating system: MAC OSX 10.13.4
* Web browser: Chrome Version 66.0.3359.139 (Official Build) (64-bit)
* Tor status: not available
* Opened port: yes
* Special configuration:

### Step 2: Describe the problem:
Just run zeronet by cmd `./zeronet.py` and look around for a while, the CPU will be 100% high.

#### Steps to reproduce:
The following is the running Log in shell console:

```
- Starting ZeroNet...
[10:47:52] - OpenSSL loaded, version: 020000000
[10:47:52] - Version: 0.6.2 r3467, Python 2.7.14 (default, Dec 25 2017, 15:20:24)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)], Gevent: 1.3.0
[10:47:52] - Creating FileServer....
[10:47:52] - Creating UiServer....
[10:47:52] SiteManager Deleting orphan site from content.db: 1LXgC6GXAc535zw8gLQbZpXnfoXNGkQDjh
[10:47:52] - Removing old SSL certs...
[10:47:52] - Starting servers....
[10:47:52] Ui.UiServer --------------------------------------
[10:47:52] Ui.UiServer Web interface: http://127.0.0.1:43110/
[10:47:52] Ui.UiServer --------------------------------------
[10:47:54] TorManager Connecting to Tor Controller 127.0.0.1:9051
[10:47:54] TorManager Starting self-bundled Tor, due to Tor proxy port 127.0.0.1:9050 check error: No connection
[10:47:55] ConnServer Checking port 26280 using portchecker.co...
[10:48:09] ConnServer Internet offline
[10:48:15] ConnServer Checking port 26280 using canyouseeme.org...
[10:48:19] Db:TestDb Table keyvalue outdated...version: False need: 1, rebuilding...
[10:48:19] Db:TestDb Table json outdated...version: 0 need: 1, rebuilding...
[10:48:19] Db:TestDb Table test outdated...version: 0 need: 1426195822, rebuilding...
[10:48:25] ConnServer [BAD :(] Port closed: Error: I could not see your service on 36.149.68.249 on port (26280) Reason: Connection timed out
[10:48:25] ConnServer Trying to open port using UpnpPunch...
[10:48:25] ConnServer Checking port 26280 using portchecker.co...
[10:48:45] ConnServer Checking port 26280 using canyouseeme.org...
[10:48:54] ConnServer [BAD :(] Port closed: Error: I could not see your service on 36.149.68.249 on port (26280) Reason: Connection timed out
[10:48:54] ConnServer Upnp mapping failed :( Please forward port 26280 on your router to your ipaddress
[10:48:55] ConnServer Internet online
[10:48:56] ConnServer Checking port 26280 using portchecker.co...
[10:49:16] ConnServer Checking port 26280 using canyouseeme.org...
[10:49:25] ConnServer [BAD :(] Port closed: Error: I could not see your service on 36.149.68.249 on port (26280) Reason: Connection timed out
[10:49:25] ConnServer Trying to open port using UpnpPunch...
[10:49:27] ConnServer Checking port 26280 using portchecker.co...
[10:49:47] ConnServer Checking port 26280 using canyouseeme.org...
[10:49:56] ConnServer [BAD :(] Port closed: Error: I could not see your service on 36.149.68.249 on port (26280) Reason: Connection timed out
[10:49:56] ConnServer Upnp mapping failed :( Please forward port 26280 on your router to your ipaddress
[10:50:52] Site:1MeFqF..q7nH Json merged-ZeroMe/1UDbADib99KE9d3qZ87NqJF2QLTHmMkoV/data/userdb/1DtTF9bsZgRRsqvsZo2V88rHRDz1rutWgr/content.json load error: TypeError: 'unicode' object does not support item assignment in SiteStorage.py line 295 > MutePlugin.py line 126 > SiteStorage.py line 90 > Db.py line 363
[10:52:24] Site:1MeFqF..q7nH Json merged-ZeroMe/1UDbADib99KE9d3qZ87NqJF2QLTHmMkoV/data/userdb/1L2xnwgpnyv2Si5C1nQNDxmaB6tzabXEnN/content.json load error: TypeError: 'unicode' object does not support item assignment in SiteStorage.py line 295 > MutePlugin.py line 126 > SiteStorage.py line 90 > Db.py line 363
[10:57:11] Site:1MeFqF..q7nH data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json fileGet error: [Errno 2] No such file or directory: u'data/1SunAWK2VUT9GQK32MpwRfFPVgcBSJN9a/data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json'
[10:57:11] Site:1SunAW..JN9a File data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json not exist yet, loading default values...
[10:57:11] Site:1SunAW..JN9a Extending content.json with: cert_auth_type
[10:57:11] Site:1SunAW..JN9a Extending content.json with: cert_user_id
[10:57:11] Site:1SunAW..JN9a Extending content.json with: cert_sign
[10:57:11] Site:1SunAW..JN9a Opening site data directory: data/1SunAWK2VUT9GQK32MpwRfFPVgcBSJN9a/data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/...
[10:57:11] Site:1SunAW..JN9a - data.json
[10:57:11] Site:1SunAW..JN9a Adding timestamp and sha512sums to new content.json...
[10:57:11] Site:1SunAW..JN9a Verifying private key...
[10:57:11] Site:1SunAW..JN9a Correct 1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ in valid signers: [u'1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ', u'1SunAWK2VUT9GQK32MpwRfFPVgcBSJN9a']
[10:57:11] Site:1SunAW..JN9a Signing data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json...
[10:57:12] Site:1SunAW..JN9a Saving to data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json...
[10:57:12] Site:1SunAW..JN9a File data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json signed!
[10:57:12] Site:1SunAW..JN9a Publishing data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json to 5/11 peers (connected: 11) diffs: [] (0.00k)...
[10:57:12] Site:1SunAW..JN9a [OK] 144.48.7.45:22488: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 1/5
[10:57:12] Site:1SunAW..JN9a [OK] 113.116.143.102:30875: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 2/5
[10:57:12] Site:1SunAW..JN9a [OK] 182.167.187.118:13799: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 3/5
[10:57:12] Site:1SunAW..JN9a [OK] 173.168.230.5:26640: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 4/5
[10:57:12] Site:1SunAW..JN9a [OK] 14.104.85.193:30181: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 5/5
[10:57:12] Site:1SunAW..JN9a Published data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json to 5 peers, publishing to 5 more peers in the background
[10:57:12] Site:1SunAW..JN9a [OK] 217.73.80.208:37352: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 6/5
[10:57:13] Site:1MeFqF..q7nH data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json fileGet error: [Errno 2] No such file or directory: u'data/1UDbADib99KE9d3qZ87NqJF2QLTHmMkoV/data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json'
[10:57:13] Site:1UDbAD..MkoV Extending content.json with: cert_auth_type
[10:57:13] Site:1UDbAD..MkoV Extending content.json with: cert_user_id
[10:57:13] Site:1UDbAD..MkoV Extending content.json with: cert_sign
[10:57:13] Site:1UDbAD..MkoV Opening site data directory: data/1UDbADib99KE9d3qZ87NqJF2QLTHmMkoV/data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/...
[10:57:13] Site:1UDbAD..MkoV - [SKIPPED] content.json
[10:57:13] Site:1UDbAD..MkoV Adding timestamp and sha512sums to new content.json...
[10:57:13] Site:1UDbAD..MkoV Verifying private key...
[10:57:13] Site:1UDbAD..MkoV Correct 1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ in valid signers: [u'1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ', u'1UDbADib99KE9d3qZ87NqJF2QLTHmMkoV']
[10:57:13] Site:1UDbAD..MkoV Signing data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json...
[10:57:13] Site:1UDbAD..MkoV Saving to data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json...
[10:57:13] Site:1UDbAD..MkoV File data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json signed!
[10:57:13] Site:1UDbAD..MkoV Publishing data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json to 5/75 peers (connected: 16) diffs: [] (0.00k)...
[10:57:13] Site:1SunAW..JN9a [OK] 90.186.229.47:11632: File not changed 7/5
[10:57:13] Site:1UDbAD..MkoV [OK] 120.79.35.235:38692: Thanks, file data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 1/5
[10:57:13] Site:1SunAW..JN9a [OK] 73.24.158.188:15441: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 8/10
[10:57:13] Site:1UDbAD..MkoV [OK] 115.222.194.81:15441: Thanks, file data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 2/5
[10:57:13] Site:1SunAW..JN9a [OK] 212.24.103.49:29535: File not changed 9/10
[10:57:13] Site:1UDbAD..MkoV [OK] 182.167.187.118:13799: Thanks, file data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 3/5
[10:57:13] Site:1UDbAD..MkoV [OK] 139.162.241.69:15441: Thanks, file data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 4/5
[10:57:13] Site:1UDbAD..MkoV [OK] 120.39.68.125:21028: Thanks, file data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 5/5
[10:57:13] Site:1UDbAD..MkoV Published data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json to 5 peers, publishing to 5 more peers in the background
[10:57:13] Site:1UDbAD..MkoV [OK] 82.216.122.87:31305: Thanks, file data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 6/5
[10:57:13] Site:1UDbAD..MkoV [OK] 58.57.82.170:15441: File not changed 7/10
[10:57:13] Site:1UDbAD..MkoV [OK] 185.107.169.23:15441: File not changed 8/5
[10:57:13] Site:1UDbAD..MkoV [OK] 180.154.105.39:15412: Thanks, file data/userdb/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 9/10
[10:57:13] Site:1SunAW..JN9a [OK] 24.54.1.63:36966: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 10/5
[10:57:13] Site:1UDbAD..MkoV [OK] 139.162.248.13:15441: File not changed 10/10
[10:57:13] Site:1UDbAD..MkoV [OK] 217.73.80.208:37352: File not changed 11/10
[10:57:22] Site:1SunAW..JN9a [FAILED] 85.192.155.142:28548: {'exception': 'Timeout'}
[10:57:33] Site:1SunAW..JN9a Opening site data directory: data/1SunAWK2VUT9GQK32MpwRfFPVgcBSJN9a/data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/...
[10:57:33] Site:1SunAW..JN9a - [SKIPPED] content.json
[10:57:33] Site:1SunAW..JN9a - [SKIPPED] data.json-old
[10:57:33] Site:1SunAW..JN9a - data.json
[10:57:33] Site:1SunAW..JN9a Adding timestamp and sha512sums to new content.json...
[10:57:33] Site:1SunAW..JN9a Verifying private key...
[10:57:33] Site:1SunAW..JN9a Correct 1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ in valid signers: [u'1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ', u'1SunAWK2VUT9GQK32MpwRfFPVgcBSJN9a']
[10:57:33] Site:1SunAW..JN9a Signing data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json...
[10:57:33] Site:1SunAW..JN9a Saving to data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json...
[10:57:33] Site:1SunAW..JN9a File data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json signed!
[10:57:41] Site:1SunAW..JN9a Publishing data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json to 5/10 peers (connected: 10) diffs: [u'data.json'] (0.27k)...
[10:57:42] Site:1SunAW..JN9a [OK] 113.116.143.102:30875: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 1/5
[10:57:42] Site:1SunAW..JN9a [OK] 144.48.7.45:22488: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 2/5
[10:57:42] Site:1SunAW..JN9a [OK] 182.167.187.118:13799: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 3/5
[10:57:42] Site:1SunAW..JN9a [OK] 14.104.85.193:30181: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 4/5
[10:57:42] Site:1SunAW..JN9a [OK] 173.168.230.5:26640: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 5/5
[10:57:42] Site:1SunAW..JN9a [OK] 24.54.1.63:36966: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 6/5
[10:57:42] Site:1SunAW..JN9a Published data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json to 6 peers, publishing to 5 more peers in the background
[10:57:42] Site:1SunAW..JN9a [OK] 90.186.229.47:11632: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 7/5
[10:57:42] Site:1SunAW..JN9a [OK] 217.73.80.208:37352: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 8/5
[10:57:42] Site:1SunAW..JN9a [OK] 73.24.158.188:15441: Thanks, file data/users/1JYUntQYuGh1jELFnQxr1qUkk1PixYoLNQ/content.json updated! 9/5
[10:57:42] Site:1SunAW..JN9a [OK] 212.24.103.49:29535: File not changed 10/10
[10:57:54] Db:TestDb Table keyvalue outdated...version: False need: 1, rebuilding...
[10:57:54] Db:TestDb Table json outdated...version: 0 need: 1, rebuilding...
[10:57:54] Db:TestDb Table test outdated...version: 0 need: 1426195822, rebuilding...
```

#### Observed Results:

The recent debug log:

```
[2018-05-18 10:47:52,023] DEBUG PluginManager Loading plugin: AnnounceLocal
[2018-05-18 10:47:52,068] DEBUG PluginManager New plugin registered to: SiteAnnouncer
[2018-05-18 10:47:52,068] DEBUG PluginManager New plugin registered to: FileServer
[2018-05-18 10:47:52,068] DEBUG PluginManager New plugin registered to: ConfigPlugin
[2018-05-18 10:47:52,069] DEBUG PluginManager Loading plugin: AnnounceZero
[2018-05-18 10:47:52,075] DEBUG PluginManager New plugin registered to: SiteAnnouncer
[2018-05-18 10:47:52,075] DEBUG PluginManager Loading plugin: Bigfile
[2018-05-18 10:47:52,090] DEBUG PluginManager New plugin registered to: UiRequest
[2018-05-18 10:47:52,090] DEBUG PluginManager New plugin registered to: UiWebsocket
[2018-05-18 10:47:52,091] DEBUG PluginManager New plugin registered to: ContentManager
[2018-05-18 10:47:52,091] DEBUG PluginManager New plugin registered to: SiteStorage
[2018-05-18 10:47:52,091] DEBUG PluginManager New plugin registered to: WorkerManager
[2018-05-18 10:47:52,091] DEBUG PluginManager New plugin registered to: FileRequest
[2018-05-18 10:47:52,091] DEBUG PluginManager New plugin registered to: Peer
[2018-05-18 10:47:52,091] DEBUG PluginManager New plugin registered to: Site
[2018-05-18 10:47:52,091] DEBUG PluginManager New plugin registered to: ConfigPlugin
[2018-05-18 10:47:52,092] DEBUG PluginManager Loading plugin: Chart
[2018-05-18 10:47:52,137] DEBUG Db:Chart Connected to data/chart.db in 0.006s (opened: 1, sqlite version: 2.6.0)...
[2018-05-18 10:47:52,139] DEBUG Db:Chart Db check done in 0.008s, changed tables: []
[2018-05-18 10:47:52,140] DEBUG PluginManager New plugin registered to: SiteManager
[2018-05-18 10:47:52,141] DEBUG PluginManager New plugin registered to: UiWebsocket
[2018-05-18 10:47:52,141] DEBUG PluginManager Loading plugin: Cors
[2018-05-18 10:47:52,152] DEBUG - Translate file not exists: src/Translate/languages/en.json
[2018-05-18 10:47:52,152] DEBUG - Translate file not exists: plugins/Cors/languages/en.json
[2018-05-18 10:47:52,152] DEBUG PluginManager New plugin registered to: UiWebsocket
[2018-05-18 10:47:52,153] DEBUG PluginManager New plugin registered to: UiRequest
[2018-05-18 10:47:52,153] DEBUG PluginManager Loading plugin: CryptMessage
[2018-05-18 10:47:52,217] DEBUG - Opening /usr/lib/libssl.dylib...
[2018-05-18 10:47:52,217] DEBUG - Disabled SSL compression on
[2018-05-18 10:47:52,218] DEBUG - Missing SSLwrap, readded.
[2018-05-18 10:47:52,218] DEBUG - Python SSL version: OpenSSL 1.0.2n 7 Dec 2017
[2018-05-18 10:47:52,219] DEBUG - opensslVerify loaded:
[2018-05-18 10:47:52,227] INFO - OpenSSL loaded, version: 020000000
....
```

#### Expected Results:

* CPU should not keep 100% high

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Reproduce the report by running ./zeronet.py on macOS and observe CPU use alongside the logged ConnServer and TorManager activity. Start by tracing the paths mentioned in SiteStorage.py, MutePlugin.py, and Db.py, then identify the operation that remains active; done means sustained CPU use is no longer abnormally high without breaking the reported site and network behavior.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
backend, networking
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。