May have blown up my server, help. (installed from arch AUR)

Hello everyone. Appologies in advanced for the lack of detail etc… anyways, my vault warden was installed through AUR of vaultwarden and vaultwarden web package. using mariaDB. Things have been running smooth for a few years. Just 3 accounts on my server for myself, my son and my fiance.

Things took a turn however when I decided to try and get my mom on the server as well. In short the register new user page, would return a 404 error after she tried to set a password. I kind of threw a bunch of htings at it to see what sticks. what I think made that work was when I saw the vaultwarden web directory, was owned by root:root, so I chowned it to vaultwarden:vaultwarden. It seems like that allowed registration to work.

It wasn’t until the next day when I noticed, my apps and browser extensions weren’t syncing. when I logged into the web interface, I could log in, but the passwords would just spin and never list.

I tried checking the logs, but unfortunately some reason /var/log/vaultwarden.log, is just an empty file. I’ve been trying to find where to configure it, but just keep getting dead ends and empty logs.

I’ve tried rolling back the database… a few days (I did have a script to do a mariadb dump daily), so far no changes seem to happen. So far the only real change that’s happening right now is now instead of loading the rest of the interface but not the passwords when logging in, it now just spins on the logging in

I can’t seem to find any way to make logs work, So far the only errors I can seem to see is when I do systemctl status vaultwarden,

15:50:26.462][rocket::server::][ERROR] Handler sync panicked.
15:50:26.463][rocket::server::
][WARN] A panic is treated as an internal server error.
15:50:26.463][rocket::server::_][WARN] No 500 catcher registered. Using Rocket default.
15:50:26.463][response][INFO] (sync) GET /api/sync?<data..> => 500 Internal Server Error
15:50:26.549][request][INFO] GET /notifications/hub?access_token=eyJ0eXAiOiJKV1QiL
15:50:26.549][vaultwarden::api::notifications][INFO] Accepting Rocket WS connection from 127.0.0.1
15:50:26.550][response][INFO] (websockets_hub) GET /notifications/hub?<data..> => 200 OK

any ideas, or any suggestions on how to get more usful logs that can give some details?

First details should be the version you are running:

vaultwarden and vaultwarden-web are packages in the extra repository not AUR. (Nevertheless, to us they still are 3rd party packages.)

This sounds to me like it was caused by a version mismatch (i.e. using a newer web-vault version like v2025.5.1 with an older incompatible vaultwarden version like 1.33.2). But I don’t think that this would cause a database corruption?

There seems to be a line in /etc/vaultwarden.env you have to uncomment.

# LOG_FILE=/var/log/vaultwarden.log

You might also want to set LOG_LEVEL=debug for more information.

The default permissions of the files (644) and directories (755) are so that they are readable and accessible by everyone, so changing the owner should not be required.

According to the logs you have posted the call to /api/sync is panicking. My guess is that something is wrong with the database. (I.e. something that was probably caused by rolling back the database.)

Can you enable the /admin page and check if the users and organizations are still loading and generate and share the support string from the diagnostics page? Also can you share the mariadb-dump script you are using.

Sorry, you are correct it was in extra
extra/vaultwarden-web 2025.5.1.1-1 (11.7 MiB 80.0 MiB) (Installed)
extra/vaultwarden 1.34.1-1 (8.7 MiB 31.1 MiB) (Installed)

ah did not find that in the env file until now.

the backup script I was running was

maria-dump --defaults-extra-file=~/.my.cnf --all-databases > /backupdir/backup-$date +%F).sql

and attempting to restore it via

mariadb < /backupdirt/backup-2025-06-02.sql

Looks like I overloaded the admin page waiting a bit to get back into it. Short term I’m thinking if I don’t find a solid solution I’m switching to a docker compose vaultwarden. I did at least manage to back up the accounts at a local level while it was down so, I guess even if it’s all borked forever I don’t lose anything. but the fact that this happened and I can’t restore is kind of really scaring me since… well I mean that’s the first time I guess I’m learning my backup method didnt work… which is kind of terrifying for a bigger emergency if I didn’t have it logged in on my devices and able to backup from the client side.

Edit: admin pannel is letting me in now,

Not fully sure what the support strings are

Versions

Server Installed Ok
1.34.1
Server Latest
1.34.1
Web Installed Update
2025.5.1.1
Web Latest
2025.5.0
Database
MySQL: 11.8.2-MariaDB

Checks

OS/Arch
linux / x86_64
Running within a container
No
Uses config.json Note
Yes
Uses a reverse proxy
Yes
IP header No Match
Config: X-Real-IP Server: X-Forwarded-For
Internet access Ok
Yes
Internet access via a proxy
No
Websocket enabled Ok
Yes
DNS (github.com) Ok
140.82.121.4
Date & Time (Local)
Server: 2025-06-15 12:16:51 -04:00
Date & Time (UTC) Server/Browser Ok Server NTP Ok Browser NTP Ok
NTP: 2025-06-15 16:16:51 UTC Server: 2025-06-15 16:16:51 UTC Browser: 2025-06-15 16:16:52 UTC
Domain configuration Match HTTPS
Server: domainremoved/admin/diagnostics Browser: domainremoved/admin/diagnostics
HTTP Response validation Ok

also now that I have that working

[2025-06-15 12:21:39.247][panic][ERROR] thread ‘rocket-worker-thread’ panicked at ‘range end index 4 out of range for slice of length 0’: /build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/diesel-2.2.10/src/mysql/value.rs:69
0:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27: clone

[2025-06-15 12:21:39.253][rocket::server::][ERROR] Handler sync panicked.
[2025-06-15 12:21:39.253][rocket::server::
][WARN] A panic is treated as an internal server error.
[2025-06-15 12:21:39.253][rocket::server::_][WARN] No 500 catcher registered. Using Rocket default.
[2025-06-15 12:21:39.253][response][INFO] (sync) GET /api/sync?<data..> => 500 Internal Server Error
[2025-06-15 12:21:39.457][request][INFO] GET /notifications/hub?access_token=eyJ0eXAiOiJKV1QiL
[2025-06-15 12:21:39.457][vaultwarden::api::notifications][INFO] Accepting Rocket WS connection from 127.0.0.1
[2025-06-15 12:21:39.457][response][INFO] (websockets_hub) GET /notifications/hub?<data..> => 200 OK
[2025-06-15 12:21:52.018][vaultwarden::api::core::accounts][DEBUG] Purging auth requests
[2025-06-15 12:21:52.018][vaultwarden::api::core::two_factor][DEBUG] Sending notifications for incomplete 2FA logins

And, do your users still show up with the expected number of entries and attachments? Or is it empty?

That is explained on the diagnostics page in the Support section (below everything you have copied):

Well, that line at least seems to tell us that diesel can’t treat a value stored in a column as i32:

I think with the query_logger feature enabled (which is not built in by default I think) you could get more infos (with QUERY_LOGGER=1) about the sql queries and that could help localize the error. (You could also compare a current dump of the database with the backed up dumps and look for differences, i.e. fields that are NULL which should not be or something like that)

Cf. Panic Error · dani-garcia/vaultwarden · Discussion #5959 · GitHub