Issue Description
For some unknown reason, the ACME LetsEncrypt renewal failed on my server with “HTTP error: builder error”, exactly 1 month ago. I had not changed anything on the server when the problem appeared, it’s just the normal renewal that failed with “HTTP error: builder error”.
However, what’s far more severe than the original error: the task was never re-tried. I see a failed “Task” in the web UI, last month, and no new attempts.
I had tried all kinds of things, restarted the server, even changing the ACME provider from TLS to HTTP method, but to no avail.
The only thing that helped was to change the domain from automatic TLS to manual, and then back to Automatic (and configure the ACME provider again). Only then did Stalwart re-try. And it worked immediately.
So, there are 2 issues here:
-
The “builder error”. Given that it had worked before, and I didn’t change any config, and it now works again with the same config, that is not a misconfigured URL. (BTW: I also checked the URL and it was correct the whole time.)
-
A single renewal failure is fatal. It never retries. Which then breaks the entire server.
I could not even get to the web UI of the server, because of a) HSTS (which makes override impossible) and b) the “risks” of it being an actual attack and entering the admin password and c) the ssh -L trick doesn’t work either, due to how stalwart does its own authentication with OAuth2 and keeps going back to the original domain instead of localhost.
This took me several hours to debug and figure out.
Expected Behavior
a) No “builder error”
b) Temporary ACME failures are re-tried after a few days. (That’s why we renew a month earlier than necessary.)
Actual Behavior
a) Unprovoked “HTTP error: builder error”
b) Temporary ACME failures become fatal and kill the entire server and the admin UI.
Relevant Log Output
No log output, because no ACME was even attempted.
The task failed with “HTTP error: builder error” (no other info).
Stalwart Version
v0.16.x
Installation Method
Docker
Database Backend
RocksDB
Blob Storage
RocksDB
Search Engine
Internal
Directory Backend
Internal
Additional Context
Retries (today) with Stalwart v0.16.19
I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.
on
I have searched this support forum (open and closed topics) and confirm this is not a duplicate.
on
I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.
on