[GH-ISSUE #401] sqlite3 support missing in new version #228

Closed
opened 2026-03-13 16:12:04 +03:00 by kerem · 4 comments
Owner

Originally created by @hanskuhn on GitHub (Feb 5, 2026).
Original GitHub issue: https://github.com/acme-dns/acme-dns/issues/401

Thank you for the new release! This software is useful for for managing our DNS challenge-based certificate workflow.

I downloaded the latest release from github (acme-dns_2.0.2_linux_amd64.tar.gz).

When I start the service, I get the following error on startup:

error        sql: unknown driver "sqlite3" (forgotten import?)

Here's the relevant section from /etc/acme-dns/config.cfg:

From 
[database]
engine = "sqlite3"
connection = "/var/lib/acme-dns/acme-dns.db"

Let me know if you need further information.

Originally created by @hanskuhn on GitHub (Feb 5, 2026). Original GitHub issue: https://github.com/acme-dns/acme-dns/issues/401 Thank you for the new release! This software is useful for for managing our DNS challenge-based certificate workflow. I downloaded the latest release from github (acme-dns_2.0.2_linux_amd64.tar.gz). When I start the service, I get the following error on startup: ``` error sql: unknown driver "sqlite3" (forgotten import?) ``` Here's the relevant section from `/etc/acme-dns/config.cfg`: ``` From [database] engine = "sqlite3" connection = "/var/lib/acme-dns/acme-dns.db" ``` Let me know if you need further information.
kerem closed this issue 2026-03-13 16:12:10 +03:00
Author
Owner

@joohoi commented on GitHub (Feb 5, 2026):

Try using keyword "sqlite" instead of "sqlite3". This is due to moving to pure-go sqlite implementation.

<!-- gh-comment-id:3855330409 --> @joohoi commented on GitHub (Feb 5, 2026): Try using keyword "sqlite" instead of "sqlite3". This is due to moving to pure-go sqlite implementation.
Author
Owner

@hanskuhn commented on GitHub (Feb 5, 2026):

That worked. Thanks!

<!-- gh-comment-id:3855725000 --> @hanskuhn commented on GitHub (Feb 5, 2026): That worked. Thanks!
Author
Owner

@mikegleasonjr commented on GitHub (Feb 6, 2026):

May I suggest outputting a message about using "sqlite3" being deprecated in favor of "sqlite" and assuming "sqlite" when "sqlite3" is specified instead of not reading the DB at all?

<!-- gh-comment-id:3860608070 --> @mikegleasonjr commented on GitHub (Feb 6, 2026): May I suggest outputting a message about using "sqlite3" being deprecated in favor of "sqlite" and assuming "sqlite" when "sqlite3" is specified instead of not reading the DB at all?
Author
Owner

@MyIgel commented on GitHub (Mar 1, 2026):

In addition to that, when sqlite3 instead of sqlite is stil configured, TXT requests end in a crash:

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

goroutine 5 [running]:
internal/sync.(*Mutex).Lock(...)
	/opt/hostedtoolcache/go/1.25.7/x64/src/internal/sync/mutex.go:63
sync.(*Mutex).Lock(...)
	/opt/hostedtoolcache/go/1.25.7/x64/src/sync/mutex.go:46
database/sql.(*DB).conn(0x0, {0xc61dc0, 0x110f500}, 0x1)
	/opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1317 +0x55
database/sql.(*DB).prepare(0x0, {0xc61dc0, 0x110f500}, {0xb80b21, 0x34}, 0x24?)
	/opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1625 +0x39
database/sql.(*DB).PrepareContext.func1(0x52?)
	/opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1599 +0x45
database/sql.(*DB).retry(0x7453a0?, 0xc000105988)
	/opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1576 +0x42
database/sql.(*DB).PrepareContext(0xc00020e080?, {0xc61dc0?, 0x110f500?}, {0xb80b21?, 0x7f0ba7f73350?})
	/opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1598 +0x7c
database/sql.(*DB).Prepare(...)
	/opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1615
github.com/joohoi/acme-dns/pkg/database.(*acmednsdb).GetTXTForDomain(0xc00019ce00, {0xc00020e080?, 0xc0002021a0?})
	/home/runner/work/acme-dns/acme-dns/pkg/database/db.go:278 +0x17e
github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).answerTXT(0xc000166870, {{0xc00020e080?, 0x36?}, 0x10?, 0x0?})
	/home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:88 +0x6a
github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).answer(0xc000166870, {{0xc00020e080, 0x36}, 0x10, 0x1})
	/home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:68 +0x325
github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).readQuery(0xc000166870, 0xc000212120)
	/home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:38 +0x8e
github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).handleRequest(0xc000166870, {0xc670d0, 0xc00007a200}, 0xc000212090)
	/home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:24 +0x2f1
github.com/miekg/dns.HandlerFunc.ServeDNS(0xc00019c4c0?, {0xc670d0?, 0xc00007a200?}, 0x10?)
	/home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:37 +0x29
github.com/miekg/dns.(*ServeMux).ServeDNS(0xc0001cc400?, {0xc670d0?, 0xc00007a200?}, 0xc000212090?)
	/home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/serve_mux.go:103 +0x68
github.com/miekg/dns.(*Server).serveDNS(0xc0001a6b40, {0xc0001cc400, 0x52, 0x200}, 0xc00007a200)
	/home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:681 +0x44a
github.com/miekg/dns.(*Server).serveUDPPacket(0xc0001a6b40, 0xc00011a960, {0xc0001cc400, 0x52, 0x200}, {0xc645b0, 0xc00010e1b8}, 0xc000032100, {0x0, 0x0})
	/home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:622 +0x1a5
created by github.com/miekg/dns.(*Server).serveUDP in goroutine 19
	/home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:552 +0x41a
<!-- gh-comment-id:3978686995 --> @MyIgel commented on GitHub (Mar 1, 2026): In addition to that, when sqlite3 instead of sqlite is stil configured, TXT requests end in a crash: ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x5a3e15] goroutine 5 [running]: internal/sync.(*Mutex).Lock(...) /opt/hostedtoolcache/go/1.25.7/x64/src/internal/sync/mutex.go:63 sync.(*Mutex).Lock(...) /opt/hostedtoolcache/go/1.25.7/x64/src/sync/mutex.go:46 database/sql.(*DB).conn(0x0, {0xc61dc0, 0x110f500}, 0x1) /opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1317 +0x55 database/sql.(*DB).prepare(0x0, {0xc61dc0, 0x110f500}, {0xb80b21, 0x34}, 0x24?) /opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1625 +0x39 database/sql.(*DB).PrepareContext.func1(0x52?) /opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1599 +0x45 database/sql.(*DB).retry(0x7453a0?, 0xc000105988) /opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1576 +0x42 database/sql.(*DB).PrepareContext(0xc00020e080?, {0xc61dc0?, 0x110f500?}, {0xb80b21?, 0x7f0ba7f73350?}) /opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1598 +0x7c database/sql.(*DB).Prepare(...) /opt/hostedtoolcache/go/1.25.7/x64/src/database/sql/sql.go:1615 github.com/joohoi/acme-dns/pkg/database.(*acmednsdb).GetTXTForDomain(0xc00019ce00, {0xc00020e080?, 0xc0002021a0?}) /home/runner/work/acme-dns/acme-dns/pkg/database/db.go:278 +0x17e github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).answerTXT(0xc000166870, {{0xc00020e080?, 0x36?}, 0x10?, 0x0?}) /home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:88 +0x6a github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).answer(0xc000166870, {{0xc00020e080, 0x36}, 0x10, 0x1}) /home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:68 +0x325 github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).readQuery(0xc000166870, 0xc000212120) /home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:38 +0x8e github.com/joohoi/acme-dns/pkg/nameserver.(*Nameserver).handleRequest(0xc000166870, {0xc670d0, 0xc00007a200}, 0xc000212090) /home/runner/work/acme-dns/acme-dns/pkg/nameserver/handler.go:24 +0x2f1 github.com/miekg/dns.HandlerFunc.ServeDNS(0xc00019c4c0?, {0xc670d0?, 0xc00007a200?}, 0x10?) /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:37 +0x29 github.com/miekg/dns.(*ServeMux).ServeDNS(0xc0001cc400?, {0xc670d0?, 0xc00007a200?}, 0xc000212090?) /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/serve_mux.go:103 +0x68 github.com/miekg/dns.(*Server).serveDNS(0xc0001a6b40, {0xc0001cc400, 0x52, 0x200}, 0xc00007a200) /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:681 +0x44a github.com/miekg/dns.(*Server).serveUDPPacket(0xc0001a6b40, 0xc00011a960, {0xc0001cc400, 0x52, 0x200}, {0xc645b0, 0xc00010e1b8}, 0xc000032100, {0x0, 0x0}) /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:622 +0x1a5 created by github.com/miekg/dns.(*Server).serveUDP in goroutine 19 /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.65/server.go:552 +0x41a ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/acme-dns#228
No description provided.