-
-
Notifications
You must be signed in to change notification settings - Fork 32.2k
Open
Labels
httpIssues or PRs related to the http subsystem.Issues or PRs related to the http subsystem.http2Issues or PRs related to the http2 subsystem.Issues or PRs related to the http2 subsystem.
Description
Version
v22.9.0
Platform
Microsoft Windows NT 10.0.19045.0 x64
Subsystem
node:http2
What steps will reproduce the bug?
http1.1 requests made from Hoppscotch v2024.8.2 to node js http2 server without http1 fallback cause Uncaught Error Error: read ECONNRESET
/**@import { SecureServerOptions } from "node:http2" */
import { createSecureServer } from "node:http2"
import { readFile } from "node:fs/promises";
import { env } from "node:process";
const [
key,
cert
] = await Promise.all([
readFile(env.PEM_KEY, "utf-8"),
readFile(env.PEM_CRT, "utf-8")
]);
/**@type { SecureServerOptions } */
const options = { key, cert, allowHTTP1: false };
const server = createSecureServer(options);
server.listen(8080);
How often does it reproduce? Is there a required condition?
unconditional error
What is the expected behavior? Why is that the expected behavior?
this error related to server, so being able to catch error on server
instance, or dont get this error at all (handled implicitly)
What do you see instead?
i was able to handle this error only using
process.on("uncaughtException", /*...*/)
Additional information
if allowHTTP1
enabled no error thrown
Uncaught Error Error: read ECONNRESET
at onStreamRead (internal/stream_base_commons:216:20)
at callbackTrampoline (internal/async_hooks:130:17)
--- TickObject ---
at init (internal/inspector_async_hook:25:19)
at emitInitNative (internal/async_hooks:202:43)
at emitInitScript (internal/async_hooks:505:3)
at nextTick (internal/process/task_queues:143:5)
at onDestroy (internal/streams/destroy:116:15)
at Socket._destroy (net:839:5)
at _destroy (internal/streams/destroy:122:10)
at destroy (internal/streams/destroy:84:5)
at Writable.destroy (internal/streams/writable:1122:11)
at onStreamRead (internal/stream_base_commons:216:12)
at callbackTrampoline (internal/async_hooks:130:17)
--- TLSWRAP ---
at init (internal/inspector_async_hook:25:19)
at emitInitNative (internal/async_hooks:202:43)
at TLSSocket._wrapHandle (_tls_wrap:699:24)
at TLSSocket (_tls_wrap:570:18)
at tlsConnectionListener (_tls_wrap:1232:18)
at emit (events:519:28)
at onconnection (net:2259:8)
at callbackTrampoline (internal/async_hooks:130:17)
--- TCPSERVERWRAP ---
at init (internal/inspector_async_hook:25:19)
at emitInitNative (internal/async_hooks:202:43)
at createServerHandle (net:1827:14)
at setupListenHandle (net:1870:14)
at listenInCluster (net:1965:12)
at Server.listen (net:2067:7)
at <anonymous> (c:\Users\VM\Desktop\protov2\src\tmp.js:23:8)
--- await ---
at run (internal/modules/esm/module_job:262:25)
--- await ---
at onImport.tracePromise.__proto__ (internal/modules/esm/loader:483:42)
at processTicksAndRejections (internal/process/task_queues:105:5)
--- await ---
at tracePromise (diagnostics_channel:337:14)
at import (internal/modules/esm/loader:481:21)
at <anonymous> (internal/modules/run_main:176:35)
at asyncRunEntryPointWithESMLoader (internal/modules/run_main:117:11)
at runEntryPointWithESMLoader (internal/modules/run_main:139:19)
at executeUserEntryPoint (internal/modules/run_main:173:5)
at <anonymous> (internal/main/run_main_module:30:49)
Metadata
Metadata
Assignees
Labels
httpIssues or PRs related to the http subsystem.Issues or PRs related to the http subsystem.http2Issues or PRs related to the http2 subsystem.Issues or PRs related to the http2 subsystem.