flyctl issue on 0.3.216: runtime error: invalid memory address or nil pointer dereference

It started happening with 0.3.214, and we’re still having issue with the latest 0.3.216 version.

When we force version to 0.3.213, it works as expected.

Run superfly/flyctl-actions/setup-flyctl@master
Acquired 0.3.216 from https://github.com/superfly/flyctl/releases/download/v0.3.216/flyctl_0.3.216_Linux_x86_64.tar.gz
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/0d9c63b6-db62-4d12-8166-82dab3a714c6 -f /home/runner/work/_temp/7e74800c-8547-4756-a90d-b0874e894263
Successfully cached flyctl to /opt/hostedtoolcache/flyctl/0.3.216/x86_64
Added flyctl to the path
[2025-11-14 18:52:21 +0000]   flyctl launch --yes         --name=pr-3503-xxxx --org=yyyy         --region=lhr         --dockerfile=deployment/Dockerfile         --ha=false         --build-only         --internal-port=80         --no-deploy         --vm-size=shared-cpu-4x         --vm-memory=4gb       
[2025-11-14 18:52:21 +0000] Error deploying review app
[2025-11-14 18:52:21 +0000] RuntimeError
[2025-11-14 18:52:21 +0000] Using dockerfile deployment/Dockerfile
Oops, something went wrong! Could you try that again?

runtime error: invalid memory address or nil pointer dereference
goroutine 1 [running]:
runtime/debug.Stack()
	/opt/hostedtoolcache/go/1.24.5/x64/src/runtime/debug/stack.go:26 +0x5e
github.com/superfly/flyctl/internal/sentry.printError({0x265d780, 0x448f2a0})
	/home/runner/work/flyctl/flyctl/internal/sentry/sentry.go:187 +0x16a
github.com/superfly/flyctl/internal/sentry.Recover({0x265d780, 0x448f2a0})
	/home/runner/work/flyctl/flyctl/internal/sentry/sentry.go:177 +0xb4
main.run.func1()
	/home/runner/work/flyctl/flyctl/main.go:40 +0x2f
panic({0x265d780?, 0x448f2a0?})
	/opt/hostedtoolcache/go/1.24.5/x64/src/runtime/panic.go:792 +0x132
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End.deferwrap1()
	/home/runner/go/pkg/mod/go.opentelemetry.io/otel/sdk@v1.38.0/trace/span.go:468 +0x25
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc00030b4a0, {0x0, 0x0, 0xc0005bd798?})
	/home/runner/go/pkg/mod/go.opentelemetry.io/otel/sdk@v1.38.0/trace/span.go:517 +0xc12
panic({0x265d780?, 0x448f2a0?})
	/opt/hostedtoolcache/go/1.24.5/x64/src/runtime/panic.go:792 +0x132
github.com/superfly/fly-go/flaps.(*Client).AppNameAvailable(0x0?, {0x2fb0310?, 0xc0006c05a0?}, {0x7ffda5e0700e?, 0xe?})
	/home/runner/go/pkg/mod/github.com/superfly/fly-go@v0.1.67/flaps/flaps_apps.go:76 +0x39
github.com/superfly/flyctl/internal/command/launch.appNameTaken({0x2fb0310, 0xc0006c05a0}, {0x7ffda5e0700e, 0xe})
	/home/runner/work/flyctl/flyctl/internal/command/launch/plan_builder.go:636 +0x85
github.com/superfly/flyctl/internal/command/launch.determineAppName({0x2fb0310, 0xc0006c05a0}, 0x0, 0xc000159a40, {0xc000444ab0, 0x30})
	/home/runner/work/flyctl/flyctl/internal/command/launch/plan_builder.go:608 +0x3bd
github.com/superfly/flyctl/internal/command/launch.buildManifest({0x2fb0310, 0xc0006c05a0}, 0x0, 0xc000879570)
	/home/runner/work/flyctl/flyctl/internal/command/launch/plan_builder.go:167 +0x3f5
github.com/superfly/flyctl/internal/command/launch.run({0x2fb0310, 0xc0006c05a0})
	/home/runner/work/flyctl/flyctl/internal/command/launch/cmd.go:354 +0x66e
github.com/superfly/flyctl/internal/command/launch.New.New.newRunE.func1(0xc000602308, {0xc00018d080?, 0x4?, 0x2a2cc86?})
	/home/runner/work/flyctl/flyctl/internal/command/command.go:147 +0x1ca
github.com/spf13/cobra.(*Command).execute(0xc000602308, {0xc00018cf20, 0xb, 0xb})
	/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1015 +0xaaa
github.com/spf13/cobra.(*Command).ExecuteC(0xc000222608)
	/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148 +0x46f
github.com/spf13/cobra.(*Command).ExecuteContextC(...)
	/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1080
github.com/superfly/flyctl/internal/cli.Run({0x2fb0498?, 0xc0000f6b00?}, 0xc00075aa00, {0xc000114420, 0xc, 0xc})
	/home/runner/work/flyctl/flyctl/internal/cli/cli.go:95 +0x7d6
main.run()
	/home/runner/work/flyctl/flyctl/main.go:47 +0x150
main.main()
	/home/runner/work/flyctl/flyctl/main.go:26 +0x18



We’re taking a look. But yes, you should use v0.3.213 for now. You should be able to update your CI to pin that version using the download script using curl -L https://fly.io/install.sh | sh -s 0.3.213

Thanks!

We’re using GitHub Actions with superfly/flyctl-actions, here’s the config to lock to the previous version in case it is useful to others:

  - uses: superfly/flyctl-actions/setup-flyctl@master
    with:
      version: 0.3.213

Thanks for sharing the proper config setting!

We’ve just revoked the 0.3.216 version, so the install script + GH action should be back to defaulting to 0.3.213. No harm in keeping it explicitly pinned for now though

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.