#Remix Cloudflare dev server just crashing randomly

1 messages · Page 1 of 1 (latest)

tribal dock
#

Basically after starting the dev server, after loading 1-10 screens dev server crashes and this error starts getting spammed in the console:

#
workerd/jsg/util.c++:291: error: e = kj/async-io-unix.c++:1509: failed: connect(): Cannot assign requested address; address = 127.0.0.1:59921
> stack: /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@55bc239 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@55b8e05 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@55b9740 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@55b9f50 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2dff956 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@55abfb0 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@55ae450 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@40b458c /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@40b49a4 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@5592e60 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@55a0210 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2ddee40
#
/home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2de9000 /home/REDACTED/dev/REDACTED/node_modules/.pnpm/@[email protected]/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3586c20; sentryErrorContext = jsgInternalError
#

(split the message into two parts to fit Discord's message length limits)

#

sudo netstat -ntlp | grep 59921 shows that port 59921 is indeed occupied by a node process, but killing that node process just shuts the dev server down

#

__

It's kind of weird because I've been devving this web app for some time now without touching package.json in any way, so I can't tell how come this happened

#

I use WSL2 and I tried wsl --shutdown to restart stuff, that did not help

tribal dock
#

I was able to convert the stack trace above into:

kj::(anonymous namespace)::LowLevelAsyncIoProviderImpl::wrapConnectingSocketFd(int, sockaddr const*, unsigned int, unsigned int)
kj::(anonymous namespace)::NetworkAddressImpl::connectImpl(kj::LowLevelAsyncIoProvider&, kj::LowLevelAsyncIoProvider::NetworkFilter&, kj::ArrayPtr<kj::(anonymous namespace)::SocketAddress>, bool)
kj::(anonymous namespace)::NetworkAddressImpl::connectImpl(kj::LowLevelAsyncIoProvider&, kj::LowLevelAsyncIoProvider::NetworkFilter&, kj::ArrayPtr<kj::(anonymous namespace)::SocketAddress>, bool)::'lambda'(kj::Own<kj::AsyncIoStream, std::nullptr_t>&&)::operator()(kj::Own<kj::AsyncIoStream, std::nullptr_t>&&) const
kj::(anonymous namespace)::NetworkAddressImpl::connect()::'lambda'(kj::AuthenticatedStream&&)::operator()(kj::AuthenticatedStream&&) const
workerd::server::PromisedNetworkAddress::connect() (.resume)
kj::(anonymous namespace)::PromisedAsyncIoStream::PromisedAsyncIoStream(kj::Promise<kj::Own<kj::AsyncIoStream, std::nullptr_t>>)::'lambda'(kj::Own<kj::AsyncIoStream, std::nullptr_t>)::operator()(kj::Own<kj::AsyncIoStream, std::nullptr_t>) const
kj::(anonymous namespace)::PromisedAsyncIoStream::write(void const*, unsigned long)::'lambda'()::operator()() const
kj::(anonymous namespace)::HttpOutputStream::writeBodyData(void const*, unsigned long) (.resume)
kj::(anonymous namespace)::HttpFixedLengthEntityWriter::write(void const*, unsigned long) (.resume)
kj::(anonymous namespace)::AsyncPipe::BlockedPumpTo::write(void const*, unsigned long)::'lambda'()::operator()() const
kj::Canceler::AdapterImpl<void>::AdapterImpl(kj::PromiseFulfiller<void>&, kj::Canceler&, kj::Promise<void>)::$_1::operator()() const
kj::(anonymous namespace)::AsyncPipe::BlockedWrite::pumpTo(kj::AsyncOutputStream&, unsigned long)::'lambda1'()::operator()() const
workerd::api::(anonymous namespace)::BodyBufferInputStream::pumpTo(workerd::api::WritableStreamSink&, bool) (.resume)
#

workerd::api::ReadableStreamInternalController::pumpTo(workerd::jsg::Lock&, kj::Own<workerd::api::WritableStreamSink, std::nullptr_t>, bool)::$_21::operator()(workerd::api::DeferredProxy<void>)
kj::Promise<void> workerd::IoContext::waitForDeferredProxy<void>(kj::Promise<workerd::api::DeferredProxy<void>>&&)::'lambda'(workerd::api::DeferredProxy<void>)::operator()(workerd::api::DeferredProxy<void>) const
kj::Promise<void> workerd::api::(anonymous namespace)::fetchImplNoOutputLock(workerd::jsg::Lock&, workerd::jsg::Ref<workerd::api::Fetcher>, workerd::jsg::Ref<workerd::api::Request>, kj::Vector<kj::Url>)::$_36::operator()<workerd::jsg::Ref<workerd::api::ReadableStream>>(kj::Promise<void>, workerd::jsg::Ref<workerd::api::ReadableStream>) const (.resume)
kj::Promise<void> workerd::api::(anonymous namespace)::fetchImplNoOutputLock(workerd::jsg::Lock&, workerd::jsg::Ref<workerd::api::Fetcher>, workerd::jsg::Ref<workerd::api::Request>, kj::Vector<kj::Url>)::$_36::operator()<workerd::jsg::Ref<workerd::api::ReadableStream>>(kj::Promise<void>, workerd::jsg::Ref<workerd::api::ReadableStream>) const (.resume)
#

but I am unsure what to do about this

#

Like I can't tell if it's a system problem of mine, or workerd probem, or Remix problem

tribal dock
#

I feel like this is something introduced by Remix v2

#

cause the other project that uses Remix v1 works

#

and matching the new project's wrangler version to the old project's did not fix the problem