bug(config reload): reloading new config does not result in new config being applied immediately #1189

Open
opened 2025-11-22 12:46:40 +00:00 by lily · 1 comment
Contributor

System in short

uname: Linux inanna 6.16.12+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.16.12-1 (2025-10-13) x86_64 GNU/Linux

Server version with git commit hash

server version: continuwuity 0.5.0-rc.8.1 (6794ea56)

regular, high-perf or max-perf?

max-perf

Description

Awoo! So I've recently found out about a possibly unintentional bug that makes it so that even if you reload the config (!admin server reload-config) with new values applied to configuration file, nothing gets really applied live. Even though it shows up with !admin server show-config.

Reverse proxy config?

No size limit on there, and is pretty basic, so has nothing to do with it. In fact, setting the max request size alone is more than enough, except for some software that require explicit size for reverse proxy config IIRC! (courtesy to Jade for that tidbit)

To reproduce

(example)

  1. Starting with a default file request size of 20MB, a 50MB example file and having new 60MB request size in mind, change max_request_size=20971520 to max_request_size=62914560 in conduwuit.toml, save changes.
  2. Before reloading the new config with admin command, try to send your oomfie a 50MB example file for a check, to be sure that it fails against old size.
  3. Reload in admin room with !admin server reload-config.
  4. Check that new value has been applied with !admin server show-config.
  5. Try to send your oomfie with a 50MB file again, except it still fails despite new size being apparently applied and listed.

Expected beaviour

Your oomfie manages to receive a 50MB file with new config being applied live with admin command.

Bugfix or workaround?

The current workaround is to restart the server directly, and one will thus be able to send one's own oomfies 50MB file.

### **System in short** `uname: Linux inanna 6.16.12+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.16.12-1 (2025-10-13) x86_64 GNU/Linux` ### **Server version with git commit hash** `server version: continuwuity 0.5.0-rc.8.1 (6794ea56)` ### **regular, high-perf or max-perf?** `max-perf` ### **Description** Awoo! So I've recently found out about a possibly unintentional bug that makes it so that even if you reload the config (`!admin server reload-config`) with new values applied to configuration file, **nothing gets really applied live.** Even though it shows up with `!admin server show-config`. ### **Reverse proxy config?** No size limit on there, and is pretty basic, so has nothing to do with it. In fact, setting the max request size alone is more than enough, except for some software that require explicit size for reverse proxy config IIRC! (courtesy to Jade for that tidbit) ### **To reproduce** (example) 1. Starting with a default file request size of 20MB, a 50MB example file and having new 60MB request size in mind, change `max_request_size=20971520` to `max_request_size=62914560` in conduwuit.toml, save changes. 2. Before reloading the new config with admin command, try to send your oomfie a 50MB example file for a check, to be sure that it fails against old size. 3. Reload in admin room with `!admin server reload-config`. 4. Check that new value has been applied with `!admin server show-config`. 5. Try to send your oomfie with a 50MB file again, except it still fails despite new size being apparently applied and listed. ### **Expected beaviour** Your oomfie manages to receive a 50MB file with new config being applied live with admin command. ### **Bugfix or workaround?** The current workaround is to restart the server directly, and one will thus be able to send one's own oomfies 50MB file.
Author
Contributor

Features that I've forgot to list:

✅ bindgen-runtime [enabled]
❌ bindgen-static
✅ blurhashing [enabled]
✅ brotli_compression [enabled]
❌ conduwuit_mods
❌ console
✅ default [enabled]
❌ direct_tls
✅ element_hacks [enabled]
❌ full
✅ gzip_compression [enabled]
❌ hardened_malloc
✅ io_uring [enabled]
✅ jemalloc [enabled]
✅ jemalloc_conf [enabled]
❌ jemalloc_prof
❌ jemalloc_stats
✅ journald [enabled]
✅ ldap [enabled]
✅ media_thumbnail [enabled]
❌ perf_measurements
✅ release_max_log_level [enabled]
✅ sentry_telemetry [enabled]
✅ standard [enabled]
✅ systemd [enabled]
❌ tokio_console
✅ url_preview [enabled]
✅ zstd_compression [enabled]
Features that I've forgot to list: ``` ✅ bindgen-runtime [enabled] ❌ bindgen-static ✅ blurhashing [enabled] ✅ brotli_compression [enabled] ❌ conduwuit_mods ❌ console ✅ default [enabled] ❌ direct_tls ✅ element_hacks [enabled] ❌ full ✅ gzip_compression [enabled] ❌ hardened_malloc ✅ io_uring [enabled] ✅ jemalloc [enabled] ✅ jemalloc_conf [enabled] ❌ jemalloc_prof ❌ jemalloc_stats ✅ journald [enabled] ✅ ldap [enabled] ✅ media_thumbnail [enabled] ❌ perf_measurements ✅ release_max_log_level [enabled] ✅ sentry_telemetry [enabled] ✅ standard [enabled] ✅ systemd [enabled] ❌ tokio_console ✅ url_preview [enabled] ✅ zstd_compression [enabled] ```
lily changed title from bug(config reload): Hot reloading new config does not result in new config being applied immediately to bug(config reload): reloading new config does not result in new config being applied immediately 2025-11-22 17:09:38 +00:00
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
continuwuation/continuwuity#1189
No description provided.