Skip to content

CLOUDFLAREAPI: DNSControl push panics when >1000 corrections #1440

@szczot3k

Description

@szczot3k

Hi,
we're using DNSControl in production to control a quite big DNS Zone (about 1400 records).
While trying to move the DNS to Cloudflare, we've encountered a DNSControl panic, while trying to print corrections on push.
It managed to print corrections on preview (https://github.com/itwzhp/infrastruktura/pull/139), but it failed while deploying the zone to Cloudflare - https://github.com/itwzhp/infrastruktura/runs/5422959457.

We imported the zone manually, before trying to deploy it with dnscontrol, to avoid hitting any API limits.

I'm attaching a stacktrace below:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x80 pc=0xd2cfc0]

goroutine 1 [running]:
github.com/StackExchange/dnscontrol/v3/providers/cloudflare.(*cloudflareProvider).createRec.func1(0x2339060, 0x0)
	/go/src/github.com/StackExchange/dnscontrol/providers/cloudflare/rest.go:154 +0x1e0
github.com/StackExchange/dnscontrol/v3/commands.printOrRunCorrections(0xc000bc806a, 0x6, 0xc000bc8070, 0xa, 0xc000[22](https://github.com/itwzhp/infrastruktura/runs/5422959457?check_suite_focus=true#step:4:22)0a00, 0x52, 0xa0, 0x1ae9a50, 0x[23](https://github.com/itwzhp/infrastruktura/runs/5422959457?check_suite_focus=true#step:4:23)39060, 0x1, ...)
	/go/src/github.com/StackExchange/dnscontrol/commands/previewPush.go:[24](https://github.com/itwzhp/infrastruktura/runs/5422959457?check_suite_focus=true#step:4:24)7 +0xd5
github.com/StackExchange/dnscontrol/v3/commands.run(0x7ffe9a0549f2, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/StackExchange/dnscontrol/commands/previewPush.go:145 +0x567
github.com/StackExchange/dnscontrol/v3/commands.Push(...)
	/go/src/github.com/StackExchange/dnscontrol/commands/previewPush.go:92
github.com/StackExchange/dnscontrol/v3/commands.glob..func8.1(0xc000554000, 0xd, 0x10)
	/go/src/github.com/StackExchange/dnscontrol/commands/previewPush.go:63 +0xde
github.com/urfave/cli/v2.(*Command).Run(0xc000[27](https://github.com/itwzhp/infrastruktura/runs/5422959457?check_suite_focus=true#step:4:27)3440, 0xc0004c92c0, 0x0, 0x0)
	/go/pkg/mod/github.com/urfave/cli/[email protected]/command.go:163 +0x4dd
github.com/urfave/cli/v2.(*App).RunContext(0xc0004aa340, 0x1ad9e80, 0xc000040090, 0xc00003c1e0, 0x6, 0x6, 0x0, 0x0)
	/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:[31](https://github.com/itwzhp/infrastruktura/runs/5422959457?check_suite_focus=true#step:4:31)3 +0x810
github.com/urfave/cli/v2.(*App).Run(...)
	/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:224
github.com/StackExchange/dnscontrol/v3/commands.Run(0xc000045200, 0x60, 0xb)
	/go/src/github.com/StackExchange/dnscontrol/commands/commands.go:65 +0x2a7
main.main()
	/go/src/github.com/StackExchange/dnscontrol/main.go:[35](https://github.com/itwzhp/infrastruktura/runs/5422959457?check_suite_focus=true#step:4:35) +0x11d

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions