`).\n5. Ensure the child component (\u003CHeader />) is a standard, non-recursive component.\n6. Deploy the application to Cloudflare Pages.\n\n**Expected Behavior**\n\nThe page should render successfully without errors.\n\n**Actual Behavior**\n\nThe server crashes, and the deployment log shows a Maximum call stack size exceeded error. The stack trace is internal to the Vue/Nitro renderer and does not point to any specific application code:\n\n```\nRangeError: Maximum call stack size exceeded\n at Ke (chunks/build/server.mjs:1:1657235)\n at Pn (chunks/build/server.mjs:1:1664618)\n at xo._init (chunks/build/server.mjs:1:1676941)\n at new i2 (chunks/build/server.mjs:1:1683288)\n at Dt (chunks/routes/renderer.mjs:1:48524)\n ...\n```\n\n### Describe the bug\n\nWhen migrating a large-scale, legacy Nuxt 2 application to Nuxt Bridge for deployment on Cloudflare Pages, the build process completes successfully, but the deployed application crashes on any server-side rendered route.\n\nThe error is a `Maximum call stack size exceeded`, which points to an infinite loop. After an exhaustive debugging process, the evidence strongly suggests the bug is not in the application code itself but in the Nuxt Bridge component auto-discovery/registration system when interacting with the Nitro server in a Cloudflare Pages environment.\n\nThe crash is triggered by the mere presence of any component within the default layout, even if that component is simple and contains no recursive logic.\n\n\n### Additional context\n\n**Debugging Steps and Analysis**\n\nWe have exhaustively ruled out all common causes of this error within the application code:\n\n- **Build Errors**: Initial \"heap out of memory\" errors during the build were resolved by increasing the Node memory limit (`NODE_OPTIONS=--max-old-space-size=8192`) and providing an explicit components: { `dirs: ['~/components'`] } configuration. The build now completes successfully.\n\n**Application Logic:**\n\n1. **Test A (Success)**: Forcing a page to use a completely blank layout (layout: 'empty') resolves the crash. This proves the issue originates from layouts/default.vue or its dependencies.\n2. **Test B (Success)**: Commenting out all child components (\u003CHeader>, \u003CFooter>, etc.) from the layouts/default.vue template resolves the crash.\n3. **Test C (Failure**): Uncommenting any single one of those components (e.g., only enabling \u003CHeader />) causes the crash to return. This was tested for every component in the layout.\n4. **Test D (Failure)**: Disabling all server-side plugins and modules in nuxt.config.js did not fix the crash.\n\n**Conclusion**:\nThe crash is not caused by the specific logic within any single component (like `\u003CHeader>` or `\u003CFooter>`). Instead, the crash is triggered by the act of initializing any component within the layout during a server-side render.\n\n### Logs\n\n```shell-script\n\n```",[3026],{"name":3027,"color":3028},"pending triage","E99695",32796,"nuxt","open","Nuxt Bridge SSR Crash: Maximum call stack size exceeded on Cloudflare Pages with Component Auto-Discovery","2025-07-28T16:55:10Z","https://github.com/nuxt/nuxt/issues/32796",0.6911979,{"description":3037,"labels":3038,"number":3046,"owner":3030,"repository":3030,"state":3047,"title":3048,"updated_at":3049,"url":3050,"score":3051},"### Environment\n\nDev\n\n### Reproduction\n\nNo reproduction.\n\n### Describe the bug\n\nGetting the below error after updating my nuxt version from ('^3.5.1') to ('^3.11.1).\r\nand it will break the page and show \"This page isn't working\", after reloding it work's fine.\r\n\r\nError is here.\r\n```\r\nbrowser.mjs?v=fd19e36f:44 Uncaught (in promise) RangeError: Maximum call stack size exceeded\r\n at BrowserReporter.log (browser.mjs?v=fd19e36f:44:7)\r\n at Consola._log (core.mjs?v=fd19e36f:381:16)\r\n at resolveLog (core.mjs?v=fd19e36f:349:14)\r\n at Consola._logFn (core.mjs?v=fd19e36f:377:5)\r\n at core.mjs?v=fd19e36f:306:19\r\n at BrowserReporter.log (browser.mjs?v=fd19e36f:44:7)\r\n at Consola._log (core.mjs?v=fd19e36f:381:16)\r\n at resolveLog (core.mjs?v=fd19e36f:349:14)\r\n at Consola._logFn (core.mjs?v=fd19e36f:377:5)\r\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3039,3042,3043],{"name":3040,"color":3041},"3.x","29bc7f",{"name":3027,"color":3028},{"name":3044,"color":3045},"needs reproduction","FBCA04",26605,"closed","RangeError: Maximum call stack size exceeded","2024-04-17T15:24:02Z","https://github.com/nuxt/nuxt/issues/26605",0.6121344,{"description":3053,"labels":3054,"number":3059,"owner":3030,"repository":3030,"state":3047,"title":3060,"updated_at":3061,"url":3062,"score":3063},"### Version\n\n[v2.6.2](https://github.com/nuxt.js/releases/tag/v2.6.2)\n\n### Reproduction link\n\n[https://github.com/nuxt/devalue](https://github.com/nuxt/devalue)\n\n### Steps to reproduce\n\nThe error pops out randomly when calling devalue on an Axios error object. I noticed that the error pop out more frequently when the nuxt dev server was launched a while ago and not when is freshly launched, but can't find a way to make it happen everytime.\n\nThe error comes out even if the axiosError is the simplest error object returned in requests that produces an early NetworkError during OPTIONS pre-flight requests.\n\nThe line causing recursion is this\n\n```\nreturn \"{\" + Object.keys(thing).map(function (key) { return safeKey(key) + \":\" + stringify(thing[key]); }).join(',') + \"}\";\n```\n\n\n### What is expected ?\n\ndevalue() returns a stringified object representation\n\n### What is actually happening?\n\ndevalue() raises a \"RangeError: Maximum call stack size exceeded\"\n\n\n\n\u003C!--cmty-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c9066\">#c9066\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3055,3056],{"name":3027,"color":3028},{"name":3057,"color":3058},"2.x","d4c5f9",5551,"devalue randomly produces \"RangeError: Maximum call stack size exceeded\"","2023-01-22T15:33:04Z","https://github.com/nuxt/nuxt/issues/5551",0.63956124,{"labels":3065,"number":3068,"owner":3030,"repository":3030,"state":3047,"title":3048,"updated_at":3069,"url":3070,"score":3071},[3066,3067],{"name":3057,"color":3058},{"name":3044,"color":3045},9511,"2023-01-21T23:09:47Z","https://github.com/nuxt/nuxt/issues/9511",0.6459113,{"description":3073,"labels":3074,"number":3077,"owner":3030,"repository":3030,"state":3047,"title":3078,"updated_at":3079,"url":3080,"score":3081},"### Version\n\n[v2.8.0](https://github.com/nuxt.js/releases/tag/v2.8.0)\n\n### Reproduction link\n\n[https://github.com/EightDoor/nuxtChild](https://github.com/EightDoor/nuxtChild)\n\n### Steps to reproduce\n\nRangeError: Maximum call stack size exceeded\n\n### What is expected ?\n\nYou can use\n\n### What is actually happening?\n\nChild components\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c9333\">#c9333\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3075,3076],{"name":3027,"color":3028},{"name":3057,"color":3058},5905,"nuxt-child use iview an error","2023-01-22T15:33:07Z","https://github.com/nuxt/nuxt/issues/5905",0.6461402,{"description":3083,"labels":3084,"number":3089,"owner":3030,"repository":3030,"state":3047,"title":3048,"updated_at":3090,"url":3091,"score":3092},"I have tested a lot.\r\n\r\nwhen I use **asyncData** in my page,visit the page about 20k times (render in SSR).\r\n\r\n\r\nthe error blow occurred, please help.\r\n\r\n\r\n\r\n\r\nThe source code is here\r\n\r\n\r\n\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://nuxtjs.cmty.io\">Nuxt.js\u003C/a> community (\u003Ca href=\"https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c1201\">#c1201\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3085,3088],{"name":3086,"color":3087},"available soon","6de8b0",{"name":3057,"color":3058},1354,"2023-01-18T15:41:42Z","https://github.com/nuxt/nuxt/issues/1354",0.65562695,{"description":3094,"labels":3095,"number":3101,"owner":3030,"repository":3030,"state":3047,"title":3102,"updated_at":3103,"url":3104,"score":3105},"### Version\r\n\r\n[v1.4.2](https://github.com/nuxt.js/releases/tag/v1.4.2)\r\n\r\n### Reproduction link\r\n\r\n[https://github.com/uptownhr/nuxt-issue-3914](https://github.com/uptownhr/nuxt-issue-3914)\r\n\r\n### Steps to reproduce\r\n\r\n1. clone repo\r\n2. yarn\r\n3. yarn build\r\n4. yarn start\r\n5. ab -c 2 -n 20000\r\n\r\nThe STR is not straight forward as I'm only able to reproduce this on a live project I have and running `ab -c 2 -n 20000`. It's only once the server has been hit around 10k times where the bug `Maximum Stack` on `VueComponent.mergeDataFn` is triggered. \r\n\r\nOnce this error is triggered, I can see on the log `statusCode: 500`, however the web server still responds with 200 and shows an error page.\r\n\r\n\r\n```\r\n{ RangeError: Maximum call stack size exceeded\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1164:34)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51)\r\nwww_1 | at VueComponent.mergedDataFn (/www/node_modules/vue/dist/vue.runtime.common.js:1166:51) statusCode: 500, name: 'RangeError' }\r\n```\r\n\r\n\r\n### What is expected ?\r\n\r\nWhen the SSR rendering crashes, the web response should also be a 500. \r\n\r\nSecond thing that should probably is happen is also kill the server, so the process manager has a chance to reboot the server.\r\n\r\n### What is actually happening?\r\n\r\nThe server errors and still returns a 200. This causes error monitors not be able to alert. Also because it catches the crash and not actually crash, any process managers listening to restart the server cannot. \r\n\r\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\r\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c7771\">#c7771\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3096,3099,3100],{"name":3097,"color":3098},"stale","ffffff",{"name":3027,"color":3028},{"name":3057,"color":3058},3914,"Nuxt SSR crashes with 200 response code","2023-01-22T15:30:05Z","https://github.com/nuxt/nuxt/issues/3914",0.68069017,{"description":3107,"labels":3108,"number":3111,"owner":3030,"repository":3030,"state":3047,"title":3112,"updated_at":3079,"url":3113,"score":3114},"### Version\n\n[2.7.1](https://github.com/nuxt.js/releases/tag/2.7.1)\n\n### Reproduction link\n\n[https://github.com/nuxt/nuxt.js/tree/dev/examples/hello-world](https://github.com/nuxt/nuxt.js/tree/dev/examples/hello-world)\n\n### Steps to reproduce\n\nAdd the following to `pages/index.vue` in the hello-world example (or any other nuxt project)\n\n```js\ncreated() {\n console.log(this.$route)\n}\n```\n\n### What is expected ?\n\nThe current route is printed both in the terminal as in the browser console.\n\n### What is actually happening?\n\nThe terminal reports errors:\n```\n WARN Cannot stringify a function VueComponent \n WARN Cannot stringify arbitrary non-POJOs VueComponent \n```\n\nand the browser shows a Maximum call stack size exceeded error\n\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c9238\">#c9238\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3109,3110],{"name":3027,"color":3028},{"name":3057,"color":3058},5763,"Maximum call stack size exceeded due to SSR logs","https://github.com/nuxt/nuxt/issues/5763",0.68093604,{"labels":3116,"number":3119,"owner":3030,"repository":3030,"state":3047,"title":3120,"updated_at":3121,"url":3122,"score":3123},[3117,3118],{"name":3027,"color":3028},{"name":3057,"color":3058},7261,"Global mixin memory leak leading to RangeError Maximum call stack size exceeded","2023-01-22T15:35:58Z","https://github.com/nuxt/nuxt/issues/7261",0.6833981,{"description":3125,"labels":3126,"number":3140,"owner":3030,"repository":3030,"state":3047,"title":3141,"updated_at":3142,"url":3143,"score":3144},"### Environment\n\n------------------------------\r\n- Operating System: `Windows_NT`\r\n- Node Version: `v18.15.0`\r\n- Nuxt Version: `3.3.1`\r\n- Nitro Version: `2.3.1`\r\n- Package Manager: `npm@9.5.0`\r\n- Builder: `vite`\r\n- User Config: `modules`, `imports`, `runtimeConfig`, `typescript`, `app`, `nitro`\r\n- Runtime Modules: `@nuxt/devtools@0.2.5`, `@nuxtjs/robots@3.0.0`, `@nuxtjs/tailwindcss@6.6.0`, `@pinia/nuxt@0.4.7`, `@vueuse/nuxt@9.13.0`, `nuxt-icons@3.1.0`, `nuxt-vitest@0.6.8`\r\n- Build Modules: `-`\r\n------------------------------\n\n### Reproduction\n\nOn a large project small project does not have this problem\n\n### Describe the bug\n\nnuxt dev works fine but nuxt build failed\r\n\r\nmessage\r\nERROR Maximum call stack size exceeded\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nNuxi 3.3.1 11:23:50\r\nNuxt 3.3.1 with Nitro 2.3.1 11:23:50\r\ni Using default Tailwind CSS file from runtime/tailwind.css nuxt:tailwindcss 11:23:51\r\ni Building client... 11:23:52\r\ni vite v4.1.4 building for production... 11:23:52\r\ni ✓ 400 modules transformed. 11:23:55 \r\n\r\n ERROR Maximum call stack size exceeded 11:23:55 \r\n\r\n\r\n ERROR Maximum call stack size exceeded 11:23:55 \r\n\r\n at Set.has (\u003Canonymous>)\r\n at ParameterVariable.deoptimizePath (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:6801:57)\r\n at Identifier.deoptimizePath (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:8149:24)\r\n at ObjectEntity.deoptimizeArgumentsOnInteractionAtPath (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:6051:22)\r\n at FunctionExpression.deoptimizeArgumentsOnInteractionAtPath (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:8597:36)\r\n at FunctionExpression.deoptimizeArgumentsOnInteractionAtPath (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:8973:15)\r\n at ParameterVariable.addEntityToBeDeoptimized (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:6779:20)\r\n at FunctionExpression.deoptimizeArgumentsOnInteractionAtPath (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:8589:45)\r\n at FunctionExpression.deoptimizeArgumentsOnInteractionAtPath (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:8973:15)\r\n at ParameterVariable.addEntityToBeDeoptimized (/D:/Algostract/Orykit/store-web/node_modules/rollup/dist/es/shared/node-entry.js:6779:20)\n```\n",[3127,3128,3131,3134,3137],{"name":3040,"color":3041},{"name":3129,"color":3130},"workaround available","11376d",{"name":3132,"color":3133},"bug","d73a4a",{"name":3135,"color":3136},"upstream","E8A36D",{"name":3138,"color":3139},"upstream-bug","B60205",19783,"ERROR Maximum call stack size exceeded","2023-07-02T10:08:00Z","https://github.com/nuxt/nuxt/issues/19783",0.6887839,["Reactive",3146],{},["Set"],["ShallowReactive",3149],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fKadd22iI7ftE-HSEu8MZ5wut7bwdgqpNy4K6Q8dDegs":-1},"/nuxt/nuxt/6294"]