Correctly handle unexpected errors
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- node.js, typescript
- Área
- backend, networking
Línea de trabajo
Reproduce el caso de Windows OpenSSH con ECONNRESET e inspecciona el manejo del evento error de ssh2 Client mostrado en node_modules/ssh2/lib/client.js:745. Confirma que los errores inesperados del socket se gestionan sin una excepción de proceso no controlada; el issue estará completo cuando la conexión defectuosa ya no provoque el fallo de Node.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1k
- Forks
- 94
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de steelbrain/node-ssh
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
steelbrain/node-ssh#487 ·
-
ssh-certificate supportAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
steelbrain/node-ssh#482 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
steelbrain/node-ssh#474 · 3 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
steelbrain/node-ssh#473 · 1 comentario · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
steelbrain/node-ssh#472 ·
Todos los issues de steelbrain/node-ssh
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
lingdojo/kana-dojo#34127 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
osmlab/name-suggestion-index#13104 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100