Finastra / finastra-nodejs-libs

A set of opinionated libraries for building efficient and scalable server-side applications with Node.js
MIT License
36 stars 14 forks source link

Issue : Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client #272

Closed ksachinsrbh closed 10 months ago

ksachinsrbh commented 1 year ago

Getting the error ' Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client;' in our ARR application , when multiple users are concurrently trying to login.

we are using In-Memory session management (finastra-nodejs-libs/libs/oidc/src/utils/session)/session-in-memory.ts). attached logs can be found at.

ARR logs.zip

2023-01-30T12:41:14+05:30 {"ts":"2023-01-30T07:11:14.636Z","sev":"WARNING","msg":{"request":{"body":{},"headers":{"host":"libor-transition-calculator.preprod.fusionfabric.cloud","x-request-id":"2e3ce9748ec24b6f2e9c5c2af539042e","x-real-ip":"10.199.58.8","x-forwarded-for":"10.199.58.8","x-forwarded-host":"libor-transition-calculator.preprod.fusionfabric.cloud","x-forwarded-port":"443","x-forwarded-proto":"https","x-forwarded-scheme":"https","x-scheme":"https","x-original-forwarded-for":"40.119.152.68","accept-language":"en-US,en;q=0.9","user-agent":"Mozilla/5.0 (Windows; en-us) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.860.0","accept-encoding":"gzip, deflate, br","accept":"/","cookie":"route=1675062661.321.42.957190|9aa5a68e3da1d47bf0d7a3cf0feae695; libor-transition-calculator=s%3AY_tBI74SK28oaDuoSerT4AkcQv-gONsK.FyucHrVB%2BH%2FFgpOoYEkNnq%2BwlpPyDw%2FzKILsr%2BVK%2BKQ","true-client-ip":"40.119.152.68"},"method":"GET","params":{},"query":{"state":"eyJyZWRpcmVjdF91cmwiOiIvdC00MDhlYzExOS1hNjMyLTQwYTktODUwNS1kMWY4N2I5MTlhMDEvIiwibG9naW5wb3B1cCI6ZmFsc2V9","session_state":"9ff2adc8-5cbf-473c-b764-02ed60f81cbb","code":"r1-91c8579c-4686-4092-b1c7-d4a6a212386b.9ff2adc8-5cbf-473c-b764-02ed60f81cbb.f:c64496b9-9276-4617-83a1-cf4957534325:437f739f-47db-4eee-8426-4c378605399b"},"url":"/login/callback?state=eyJyZWRpcmVjdF91cmwiOiIvdC00MDhlYzExOS1hNjMyLTQwYTktODUwNS1kMWY4N2I5MTlhMDEvIiwibG9naW5wb3B1cCI6ZmFsc2V9&session_state=9ff2adc8-5cbf-473c-b764-02ed60f81cbb&code=r1-91c8579c-4686-4092-b1c7-d4a6a212386b.9ff2adc8-5cbf-473c-b764-02ed60f81cbb.f%3Ac64496b9-9276-4617-83a1-cf4957534325%3A437f739f-47db-4eee-8426-4c378605399b","user":null},"exception":{"code":"ERR_HTTP_HEADERS_SENT"}},"logger":"HttpExceptionFilter"} 2023-01-30T12:41:14+05:30 node:internal/errors:478 2023-01-30T12:41:14+05:30 ErrorCaptureStackTrace(err); 2023-01-30T12:41:14+05:30 ^ 2023-01-30T12:41:14+05:30
2023-01-30T12:41:14+05:30 Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client 2023-01-30T12:41:14+05:30 at new NodeError (node:internal/errors:387:5) 2023-01-30T12:41:14+05:30 at ServerResponse.setHeader (node:_http_outgoing:644:11) 2023-01-30T12:41:14+05:30 at ServerResponse.header (/app/node_modules/express/lib/response.js:771:10) 2023-01-30T12:41:14+05:30 at ServerResponse.send (/app/node_modules/express/lib/response.js:170:12) 2023-01-30T12:41:14+05:30 at HttpExceptionFilter.catch (/app/node_modules/@finastra/nestjs-oidc/filters/http-exception.filter.js:53:26) 2023-01-30T12:41:14+05:30 at ExceptionsHandler.invokeCustomFilters (/app/node_modules/@nestjs/core/exceptions/exceptions-handler.js:33:26) 2023-01-30T12:41:14+05:30 at ExceptionsHandler.next (/app/node_modules/@nestjs/core/exceptions/exceptions-handler.js:13:18) 2023-01-30T12:41:14+05:30 at /app/node_modules/@nestjs/core/router/router-proxy.js:24:35 2023-01-30T12:41:14+05:30 at Layer.handle_error (/app/node_modules/express/lib/router/layer.js:71:5) 2023-01-30T12:41:14+05:30 at trim_prefix (/app/node_modules/express/lib/router/index.js:315:13) { 2023-01-30T12:41:14+05:30 code: 'ERR_HTTP_HEADERS_SENT' 2023-01-30T12:41:14+05:30 } 2023-01-30T12:41:14+05:30 npm notice 2023-01-30T12:41:14+05:30 npm notice New major version of npm available! 8.19.2 -> 9.2.0 2023-01-30T12:41:14+05:30 npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.2.0 2023-01-30T12:41:14+05:30 npm notice Run npm install -g npm@9.2.0 to update! 2023-01-30T12:41:14+05:30 npm notice 2023-01-30T12:41:14+05:30 {"ts":"2023-01-30T07:11:14.688Z","sev":"INFO","msg":"START: LoginCallbackController.loginCallback(): GET /login/callback?state=eyJyZWRpcmVjdF91cmwiOiIvdC00MDhlYzExOS1hNjMyLTQwYTktODUwNS1kMWY4N2I5MTlhMDEvIiwibG9naW5wb3B1cCI6ZmFsc2V9&session_state=a02cf6d1-57b1-40ba-a878-eab0c8eaf42f&code=r1-83933b1c-082e-4790-9676-174f3fa67c31.a02cf6d1-57b1-40ba-a878-eab0c8eaf42f.f%3Ac64496b9-9276-4617-83a1-cf4957534325%3A437f739f-47db-4eee-8426-4c378605399b","logger":"HttpLoggingInterceptor"} 2023-01-30T12:41:14+05:30 {"ts":"2023-01-30T07:11:14.689Z","sev":"INFO","msg":"STOP: LoginCallbackController.loginCallback(): GET /login/callback?

BeataKr commented 11 months ago

@ksachinsrbh can you please check with v0.26.4

dagmaradolasinska commented 10 months ago

Fixed.