Skip to content

gitlab-http-router `Reached heap limit` error when running tests against GDK

The GDK tests are now running the http-router enabled. We encountered an issue where the http-router seemed to stop due to a V8 fatal error.

These tests are running quite frequently and it has only been observed once. It doesn't seem to be related to the actual test.

The job is occurred in: https://gitlab.com/gitlab-org/gitlab/-/jobs/8121517248

fatal: V8 fatal error; location = Reached heap limit; message = : allocation failed: JavaScript heap out of memory

024-10-18_08:51:46.94314 [34;1mgitlab-http-router    : [0m  <--- JS stacktrace --->
2024-10-18_08:51:46.94314 [34;1mgitlab-http-router    : [0m  
2024-10-18_08:51:46.94315 [34;1mgitlab-http-router    : [0m  workerd/jsg/setup.c++:38: fatal: V8 fatal error; location = Reached heap limit; message = : allocation failed: JavaScript heap out of memory
2024-10-18_08:51:46.94315 [34;1mgitlab-http-router    : [0m
2024-10-18_08:51:46.94316 [34;1mgitlab-http-router    : [0m
2024-10-18_08:51:46.94355 [34;1mgitlab-http-router    : [0m[31m✘ [41;31m[[41;97mERROR[41;31m][0m [1m*** Received signal #6: Aborted[0m
2024-10-18_08:51:46.94355 [34;1mgitlab-http-router    : [0m
2024-10-18_08:51:46.94356 [34;1mgitlab-http-router    : [0m  stack: /lib/x86_64-linux-gnu/libc.so.6@4300a /lib/x86_64-linux-gnu/libc.so.6@22858 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@40a7506 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@4566326 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@475bb26 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@4759759 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@4774b0f /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@4775611 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@472adbd /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@4741790 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@472c9de /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@457a131 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@4084844 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@38e55c8 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@34ad05a /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@34a5ce7 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@34a1139 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3499bfd /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@38e53d7 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@38e642a /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@5a4358f /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@5a480c6 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@38d1755 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@38e8c6e /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@5a47da6 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@5a4ba93 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@5a41af7 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2e45bb0 /home/gdk/gitlab-development-kit/gitlab-http-router/node_modules/@cloudflare/workerd-linux-64/bin/workerd@5aadf2a

This causes the test to fail with:

Errno::ECONNREFUSED:
            Failed to open TCP connection to gdk.test:3000 (Connection refused - connect(2) for "gdk.test" port 3000)

Full application logs can be found in: https://gitlab.com/gitlab-org/gitlab/-/jobs/8121517248/artifacts/browse

Edited by Jay McCure