HelloZeroNet / ZeroNet

ZeroNet - Decentralized websites using Bitcoin crypto and BitTorrent network
https://zeronet.io
Other
18.36k stars 2.27k forks source link

Ui.UiServer Error 500: UiWSGIHandler error: BrokenPipeError: Broken pipe #2488

Open canewsin opened 4 years ago

canewsin commented 4 years ago

Step 1: Please describe your environment

Step 2: Describe the problem:

Ui.UiServer Error 500: UiWSGIHandler error: BrokenPipeError: Broken pipe

Screenshot_2020-03-19-21-41-51-156_in canews zeronet

HelloZeroNet commented 4 years ago

Have you noticed any problem during browsing the network or you just see the errors in the console?

canewsin commented 4 years ago

I didn't notice any difference during browsing sites, but my suggestion is error should be informative, on error page it shows only error, stack trace is from different page.

HelloZeroNet commented 4 years ago

Yeah we have to find why is it happening, but probably it's not related to any request as you can do multiple requests from one socket. The error means the socket closed in an unexpected way, so the request is already done and it was idle. (keep-alive)

canewsin commented 4 years ago

This happens every time, when I start ZeroNet, I think at start only.

slrslr commented 4 years ago

@HelloZeroNet i am not using Android as OP but on Windows 10 when i clicked to update zeronet (i do not remember the revision, maybe 4461) on py3 updater zite, then i received same error as OP.

ERROR Site:1uPDaT..NACf WebSocket receive error: ConnectionAbortedError: [WinError 10053] Software v hostitelském počítači ukončil vytvořené připojení in core/src/Ui/UiWebsocket.py line 71 > ... > lib/gevent/_socket3.py line 378

ERROR Site:1ADQAH..g6aA WebSocket receive error: cancel_wait_ex: [Errno 9] File descriptor was closed in another greenlet in core/src/Ui/UiWebsocket.py line 71 > ... > _hub_primitives.py line 284 > 289 > 271 > 46 > 46 > 55 > _waiter.py line 151 > _greenlet_primitives.py line 60 > 60 > 64 > __greenlet_primitives.pxd line 35

INFO - All server stopped

ERROR Ui.UiServer Error 500: UiWSGIHandler error: BrokenPipeError: None

ERROR - Unhandled exception: BrokenPipeError: [WinError 10058] Požadavek odeslání nebo příjmu dat nebyl povolen, protože soket již byl v tomto směru vypnut předchozím vypínacím voláním in lib/gevent/pywsgi.py line 976 > ... > lib/gevent/_socket3.py line 439

these lines was quite at the end of the debug.log now after starting zeronet i see i am on rev4467. I clicked to update again, and error 500 no longer there, but only these errors.

HelloZeroNet commented 4 years ago

I have added the brokenpipe error to log as warning in Rev4469: https://github.com/HelloZeroNet/ZeroNet/commit/f41d02203862361cfc92e84eadeb0fc4c82065fb

I also fixed the peer save error based on the log file.

@slrslr Does the error happens on normal shutdown or on when you are updating? Does it restarts despite the error or it freezes in this state?

purplesyringa commented 4 years ago

The interesting part is that the traceback shows that the error happens when there's no websocket connection, i.e. when WebSocketHandler just proxies the calls to WSGIHandler.

slrslr commented 4 years ago

@HelloZeroNet

Does the error happens on normal shutdown or on when you are updating? Does it restarts despite the error or it freezes in this state?

When i normal shutdown or update (on updater zite) i seen ERRORs like these Despite errors, the shutdown completed and also the update with restart completed.

Note that during shutdown invoked by the update, the last lines was: INFO - All server stopped INFO Site:1RivER..tdBN [FAILED] ...:31153: None INFO Site:1RivER..tdBN [FAILED] ...:15441: None INFO Site:1RivER..tdBN [FAILED] ...: None INFO Site:1RivER..tdBN [OK] ...: File not changed 1/3 INFO Site:1RivER..tdBN [FAILED] ...: None (errors linked above was there too, but was right before these lines)

i am now in r4469. when i tried to shutdown in this version too and same errors appeared like in previous revision. After the line "All server stopped" was one more last line: ERROR Db#0:Chart Commit error: OperationalError: cannot commit - no transaction is active in core/src/Db/Db.py line 169 (reason: Interval)

During update shutdown (no new update was found) there was again same errors and also following at the very end: INFO - All server stopped INFO Site:1FXYns..Rwtc [OK] iphere:port: Thanks, file content.json updated! 1/1