Correctly handle unexpected errors
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- node.js, typescript
- 领域
- backend, networking
调研方向
复现 Windows OpenSSH 的 ECONNRESET 情况,并检查 node_modules/ssh2/lib/client.js:745 中所示的 ssh2 Client error 事件处理。确认意外的 socket 错误能够在不产生未处理的进程异常的情况下得到处理;当有问题的连接不再导致 Node 崩溃时,该 issue 即完成。
由索引模型根据 Issue 内容生成。
描述
I'm using openssh with windows and it looks like it doesn't behave like node-ssh/ssh2 expects and an unhandled exception is thrown.
events.js:292
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:209:20)
Emitted 'error' event on Client instance at:
at Socket.<anonymous> (/usr/local/lib/node_modules/n8n/node_modules/ssh2/lib/client.js:745:12)
at Socket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
errno: -104,
code: 'ECONNRESET',
syscall: 'read',
level: 'client-socket'
}
It looks like there isn't a generic "onerror" handler outside of the async functions, so node complains about an unhandled throw. There should be a way to always handle the error event even if outside of a single async function call, so that a faulty open-ssh implementation like the windows one doesn't crash the node process.
- 主要语言
- TypeScript
- 星标
- 1k
- 派生
- 94
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
steelbrain/node-ssh 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
steelbrain/node-ssh#487 ·
-
难度 5/5 一周以上 新手友好度 35/100
steelbrain/node-ssh#482 · 3 条评论 ·
-
难度 3/5 1-2 天 新手友好度 45/100
steelbrain/node-ssh#474 · 3 条评论 ·
-
难度 3/5 1-2 天 新手友好度 35/100
steelbrain/node-ssh#473 · 1 条评论 · 1 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 20/100
steelbrain/node-ssh#472 ·
查看 steelbrain/node-ssh 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundaries未关闭
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
难度 1/5 1 小时以内 新手友好度 62/100
lingdojo/kana-dojo#34127 · 1 条评论 · 5 个 reaction ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 68/100
osmlab/name-suggestion-index#13104 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100