After working around oxidecomputer/rfd-site#18, things seemed to mostly work. But after a background rebuild, it stopped its TCP server and did not come back up:
$ HOST=zathras.local LOCAL_RFD_REPO=/Users/dap/oxide/rfd-433-update-mechanisms/ npm run dev
> dev
> remix dev
💿 remix dev
info building...
warn esm-only package: @asciidoctor/core
┃ @asciidoctor/core is possibly an ESM-only package.
┃ To bundle it with your server, include it in `serverDependenciesToBundle`
┃ -> https://remix.run/docs/en/main/file-conventions/remix-config#serverdependenciestobundle
â”—
info built (10.3s)
Remix App Server started at http://localhost:3000 (http://zathras.local:3000)
GET /rfd/0433 200 - - 285.516 ms
info rebuilding... (~ ../../rfd-433-update-mechanisms/rfd/0433/README.adoc)
info rebuilt (1.4s)
Remix App Server started at http://localhost:3000 (http://zathras.local:3000)
info app server ready (1.2s)
info hmr
info rebuilding... (~ ../../rfd-433-update-mechanisms/rfd/0433/README.adoc)
info rebuilt (1.5s)
Remix App Server started at http://localhost:3000 (http://zathras.local:3000)
info app server ready (1.4s)
info hmr
GET /rfd/0433 200 - - 290.790 ms
POST /user/toggle-theme?_data=routes%2Fuser.toggle-theme 200 - - 5.399 ms
GET /rfd/0433?_data=routes%2Frfd.%24slug 200 - - 32.235 ms
GET /rfd/0433?_data=root 200 - - 53.100 ms
info rebuilding... (~ ../../rfd-433-update-mechanisms/rfd/0433/README.adoc)
info rebuilt (1.6s)
Error: listen EADDRNOTAVAIL: address not available fe80::4d9:a2ed:ca73:24e9:3000
at Server.setupListenHandle [as _listen2] (node:net:1855:21)
at listenInCluster (node:net:1920:12)
at GetAddrInfoReqWrap.doListen (node:net:2069:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:8)
It did not exit at this point. I ^C'd it. I think here's a transcript where I did the same thing again but did _not ^C it, and when it rebuilt again, it crashed:
$ HOST=zathras.local LOCAL_RFD_REPO=/Users/dap/oxide/rfd-433-update-mechanisms/ npm run dev
> dev
> remix dev
💿 remix dev
info building...
warn esm-only package: @asciidoctor/core
┃ @asciidoctor/core is possibly an ESM-only package.
┃ To bundle it with your server, include it in `serverDependenciesToBundle`
┃ -> https://remix.run/docs/en/main/file-conventions/remix-config#serverdependenciestobundle
â”—
info built (7.6s)
Error: listen EADDRNOTAVAIL: address not available fe80::4d9:a2ed:ca73:24e9:3000
at Server.setupListenHandle [as _listen2] (node:net:1855:21)
at listenInCluster (node:net:1920:12)
at GetAddrInfoReqWrap.doListen (node:net:2069:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:8)
info rebuilding... (~ ../../rfd-433-update-mechanisms/rfd/0433/README.adoc)
info building...
info rebuilt (1.6s)
/Users/dap/oxide/tools/rfd-site/node_modules/@remix-run/dev/node_modules/pidtree/lib/pidtree.js:61
callback(new Error('No matching pid found'));
^
Error: No matching pid found
at /Users/dap/oxide/tools/rfd-site/node_modules/@remix-run/dev/node_modules/pidtree/lib/pidtree.js:61:16
at /Users/dap/oxide/tools/rfd-site/node_modules/@remix-run/dev/node_modules/pidtree/lib/ps.js:40:7
at ChildProcess.<anonymous> (/Users/dap/oxide/tools/rfd-site/node_modules/@remix-run/dev/node_modules/pidtree/lib/bin.js:57:5)
at ChildProcess.emit (node:events:514:28)
at maybeClose (node:internal/child_process:1105:16)
at ChildProcess._handle.onexit (node:internal/child_process:305:5)
Node.js v20.6.1
That's a weird one, possibly distinct from oxidecomputer/rfd-site#20, where I saw hot reload not working, but the site didn't break — it continued to work on full reload.
After working around oxidecomputer/rfd-site#18, things seemed to mostly work. But after a background rebuild, it stopped its TCP server and did not come back up:
It did not exit at this point. I ^C'd it. I think here's a transcript where I did the same thing again but did _not ^C it, and when it rebuilt again, it crashed: