HelloZeroNet / HelloZeroNet/ZeroNet

High CPU when running in MAC

Đang mở
#1,426 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
JavaScript
Star
18.8k
Fork
2.3k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### 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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Tái hiện báo cáo bằng cách chạy ./zeronet.py trên macOS và quan sát mức sử dụng CPU cùng với hoạt động được ghi nhật ký của ConnServer và TorManager. Bắt đầu bằng cách lần theo các đường dẫn được đề cập trong SiteStorage.py, MutePlugin.py và Db.py, sau đó xác định thao tác vẫn còn hoạt động; được xem là hoàn tất khi mức sử dụng CPU liên tục không còn cao bất thường mà không làm hỏng hành vi của site và mạng được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
backend, networking
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.