Gatsby client dev server hangs indefinitely on webpack cache write — reproduces on WSL2 and native Ubuntu

Environment: Node v24.19.0, pnpm, Ubuntu 26.04 (WSL2) and native Ubuntu — same result on both.

Steps:

  1. pnpm install (clean, successful)
  2. cp sample.env .env (CLIENT_LOCALE / CURRICULUM_LOCALE both set to english)
  3. pnpm run develop:client (or root pnpm run develop)

Symptom: Build proceeds normally through plugin loading, schema build, page creation. It then emits many [webpack.cache.PackFileCacheStrategy] Skipped not serializable cache item ... No serializer registered for ProvidedDependency warnings (for react-instantsearch-core, @reduxjs/toolkit, monaco-editor, etc.) and then stops producing output entirely.

Diagnosis so far:

  • Confirmed via /proc/<pid>/io that the main Gatsby worker process is actively writing to disk (write_bytes climbing, e.g. 4.6GB+ and rising) — not deadlocked, just extremely slow.
  • Confirmed ext4 filesystem, not a WSL drvfs mount.
  • No stray duplicate dev processes running.
  • Reproduces identically on two separate machines/OS setups (WSL2 Ubuntu 26.04 and native Ubuntu), ruling out a single-machine environment issue.
  • These specific “No serializer registered” warnings are documented elsewhere as cosmetic/non-fatal in unrelated projects, so likely not the root cause — but the write step itself seems to never finish even after 15–20+ min.

Question: Is this expected cold-build time given the curriculum’s scale, or is this a known issue? Is there a supported way (e.g., FCC_SUPERBLOCK/FCC_BLOCK, or a cache config) to reliably get a working local client build without a multi-hour first run?

it should not take that long

did you try a filtered build, as you are mentioning these?

did you try to open the site? the develop process does not finish, the terminal stay occupied by the process