RangerMauve / hyperswarm-web

Implementation of the hyperswarm API for use in web browsers
MIT License
102 stars 15 forks source link

Unhandled error that crashes and restarts the entire process #13

Open kevinejohn opened 3 years ago

kevinejohn commented 3 years ago

I'm running and using a hyperswarm-web proxy and without any special client dat-sdk configuration (Just setting the swarmOpts: bootstrap url) I sometimes get this error which kills and restarts the process. Not sure if it's related to this: https://github.com/RangerMauve/hyperswarm-web/issues/12

Nov 13 21:49:28 server-1 systemd[1]: Started Hyperswarm proxy server which webpages can connect to..
Nov 13 21:49:29 server-1 hyperswarm-web[21158]: Listening on ws://localhost:4977
Nov 13 21:49:29 server-1 hyperswarm-web[21158]: -> Proxy available on ws://localhost:4977/proxy
Nov 13 21:49:29 server-1 hyperswarm-web[21158]: -> Signal available on ws://localhost:4977/signal
Nov 13 21:49:31 server-1 hyperswarm-web[21158]: events.js:200
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:       throw er; // Unhandled 'error' event
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:       ^
Nov 13 21:49:31 server-1 hyperswarm-web[21158]: Error: Groups are not supported
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at exports.skip (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/protocol-buffers-encodings/index.js:29:13)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Object.decode (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/hyperswarm-proxy/messages.js:147:18)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Client._write (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/hyperswarm-proxy/index.js:109:34)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at doWrite (_stream_writable.js:435:12)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at writeOrBuffer (_stream_writable.js:419:5)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Client.Writable.write (_stream_writable.js:309:11)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Decoder.ondata (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/readable-stream/lib/_stream_readable.js:681:20)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Decoder.emit (events.js:223:5)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at addChunk (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/readable-stream/lib/_stream_readable.js:298:12)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at readableAddChunk (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/readable-stream/lib/_stream_readable.js:280:11)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]: Emitted 'error' event on HyperswarmServer instance at:
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Client.<anonymous> (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/hyperswarm-proxy/server.js:52:14)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Object.onceWrapper (events.js:313:26)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Client.emit (events.js:228:7)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at errorOrDestroy (internal/streams/destroy.js:108:12)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at onwriteError (_stream_writable.js:450:5)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at onwrite (_stream_writable.js:477:5)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Client._write (/home/user1/.nvm/versions/node/v12.14.1/lib/node_modules/hyperswarm-web/node_modules/hyperswarm-proxy/index.js:120:7)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at doWrite (_stream_writable.js:435:12)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at writeOrBuffer (_stream_writable.js:419:5)
Nov 13 21:49:31 server-1 hyperswarm-web[21158]:     at Client.Writable.write (_stream_writable.js:309:11)
RangerMauve commented 3 years ago

Interesting, I'm not sure what's causing the error to be thrown, but I think it'd be worthwhile to catch errors from connections and log them to to console instead of letting them crash the process.

Would you be down to submit a PR to hyerswarm-proxy to address this?