Issue Description
An accidental discovery while testing Vandelay, but changing the Stalwart HTTP rate limit (Network > Services > HTTP > Security > Rate Limit > Authenticated) units to Milliseconds, causes Tokio “Divide by Zero” crashes, and appears to be completely unrecoverable, as neither the WebUI, CLI or recovery mode are usable once this occurs.
Restoring or recreating the data store is the only solution I found.
Error message is:
thread ‘tokio-rt-worker’ (8) panicked at crates/store/src/dispatch/lookup.rs:304:27:
attempt to divide by zero
Expected Behavior
There should be no divice by zero panics, and the WebUI, CLI and recovery mode should work.
Actual Behavior
thread ‘tokio-rt-worker’ (8) panicked at crates/store/src/dispatch/lookup.rs:304:27:
attempt to divide by zero
Relevant Log Output
- From a running Stalwart configuration (please backup before you try this), navigate to Network > Services > HTTP > Security > Rate Limit > Authenticated and change the units to Milliseconds and save.
- Restart stalwart, and the WebUI and CLI will no longer be available. The panics will be written to the (docker) log.
Stalwart Version
v0.16.x
Installation Method
Docker
Database Backend
PostgreSQL
Blob Storage
S3-compatible
Search Engine
Meilisearch
Directory Backend
Internal
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