sveltejs / sveltejs/kit

Errors on auto-restarted local preview (SvelteKit 3)

Open
#16,832 4 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
20.8k
Forks
2.3k
Avg merge
1d 16h
Merged PRs (30d)
156

Description

Describe the bug

When restarting the dev server while a browser tab with the local preview is already open, the tab will reload. Often -- but not always -- this leads to an error that doesn't go away until the tab is refreshed.

https://github.com/user-attachments/assets/94a9b41a-064f-4ac3-a66b-a545dce22f74

Reproduction
  1. Create a SvelteKit 3 project (sample repo: https://github.com/stephenlrandall/kit-3-reload-bug, which is just the Sverdle demo app, with npx sv@next migrate sveltekit-3 --tasks all --confirm applied)
  2. Start the dev server, then open in a browser
  3. Kill the dev server, but leave the tab open
  4. Restart the dev server, and let the tab auto-reload
Logs
randasl1@JC7DV02104-ML test-app % pnpm dev
$ vite dev
2:15:34 PM [vite] (ssr) connected.

  VITE v8.2.1  ready in 286 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help
2:15:35 PM [vite] (ssr) page reload .svelte-kit/generated/shared/error-template.js
2:15:35 PM [vite] (ssr) program reload
2:15:35 PM [vite] (ssr) page reload .svelte-kit/generated/server/internal.js
2:15:35 PM [vite] (ssr) program reload
TypeError: Cannot read properties of null (reading 'function')
    at Module.push_element (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/dev.js:59:25)
    at eval (/Users/randasl1/Desktop/test-app/src/routes/+layout.svelte:6:16)
    at Renderer.child (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:214:18)
    at Renderer.component (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:319:22)
    at _layout (/Users/randasl1/Desktop/test-app/src/routes/+layout.svelte:3:2)
    at eval (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:22:18)
    at Renderer.boundary (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:266:19)
    at node (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:38:17)
    at eval (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:43:10)
    at Renderer.child (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:214:18)
TypeError: Cannot read properties of null (reading 'function')
    at Module.push_element (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/dev.js:59:25)
    at eval (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/error.svelte:3:1)
    at Renderer.child (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:214:18)
    at Renderer.component (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:319:22)
    at Error (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/error.svelte:4:2)
    at failed (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:23:14)
    at Renderer.boundary (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:304:5)
    at node (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:38:17)
    at eval (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:43:10)
    at Renderer.child (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:214:18)
TypeError: Cannot read properties of null (reading 'function')
    at Module.push_element (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/dev.js:59:25)
    at eval (/Users/randasl1/Desktop/test-app/src/routes/+layout.svelte:6:16)
    at Renderer.child (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:214:18)
    at Renderer.component (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:319:22)
    at _layout (/Users/randasl1/Desktop/test-app/src/routes/+layout.svelte:3:2)
    at eval (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:22:18)
    at Renderer.boundary (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:266:19)
    at node (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:38:17)
    at eval (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/@sveltejs+kit@3.0.0-next.23_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.56.9_vite@8.2.1_4295e3b78eb1277a247c4069ea5d8747/node_modules/@sveltejs/kit/src/runtime/components/root.svelte:43:10)
    at Renderer.child (/Users/randasl1/Desktop/test-app/node_modules/.pnpm/svelte@5.56.9/node_modules/svelte/src/internal/server/renderer.js:214:18)
500 GET /
200 GET /_app/env.js
System Info
System:
    OS: macOS 26.6.1
    CPU: (14) arm64 Apple M4 Pro
    Memory: 1.91 GB / 48.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 26.2.0 - /Users/randasl1/.nvm/versions/node/v26.2.0/bin/node
    npm: 11.13.0 - /Users/randasl1/.nvm/versions/node/v26.2.0/bin/npm
    pnpm: 11.22.0 - /Users/randasl1/Library/pnpm/bin/pnpm
  Browsers:
    Chrome: 151.0.7922.138
    Edge: 151.0.4129.86
    Safari: 26.6
  npmPackages:
    @sveltejs/adapter-auto: next => 8.0.0-next.3 
    @sveltejs/kit: next => 3.0.0-next.23 
    @sveltejs/vite-plugin-svelte: ^7.1.2 => 7.3.0 
    svelte: ^5.56.4 => 5.56.9 
    vite: ^8.0.16 => 8.2.1
Severity

annoyance

Additional Information

In other projects, the error is different. I've also seen complaints about using page.data inappropriately and using invalid snippet arguments.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the restart sequence in the linked sample repository with pnpm dev. Inspect the generated reload entries and the stack trace locations in src/routes/+layout.svelte and Svelte's internal server dev.js. Done means an already-open preview reloads without the persistent 500 response or TypeError after the dev server restarts.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, vite
Domain
devtools, frontend, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.