Since DB migration, users page shows HTTP 500 #1466

Closed
opened 2026-04-06 01:54:37 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @santiagon610 on 9/5/2023

Subject of the issue

When attempting to use the users page of the admin panel, I get an HTTP 500 back, and an error from the database that prepared statements either already exist or do not exist, as shown in the log output.

Deployment environment

Your environment (Generated via diagnostics page)

  • Vaultwarden version: v1.29.2
  • Web-vault version: v2023.7.1
  • OS/Arch: linux/x86_64
  • Running within Docker: false (Base: Not applicable)
  • Environment settings overridden: false
  • Uses a reverse proxy: true
  • IP Header check: true (X-Real-IP)
  • Internet access: true
  • Internet access via a proxy: false
  • DNS Check: true
  • Browser/Server Time Check: true
  • Server/NTP Time Check: true
  • Domain Configuration Check: true
  • HTTPS Check: true
  • Database type: PostgreSQL
  • Database version: PostgreSQL 13.12 on x86_64-pc-linux-gnu, compiled by gcc, a b1ae812d88 p 97651dedcb, 64-bit
  • Clients used:
  • Reverse proxy and version:
  • Other relevant information:

Config (Generated via diagnostics page)

Show Running Config

Environment settings which are overridden:

{
  "_duo_akey": null,
  "_enable_duo": true,
  "_enable_email_2fa": true,
  "_enable_smtp": true,
  "_enable_yubico": true,
  "_icon_service_csp": "",
  "_icon_service_url": "",
  "_ip_header_enabled": true,
  "_smtp_img_src": "cid:",
  "admin_ratelimit_max_burst": 3,
  "admin_ratelimit_seconds": 300,
  "admin_session_lifetime": 20,
  "admin_token": "***",
  "allowed_iframe_ancestors": "",
  "attachments_folder": "/data/attachments",
  "auth_request_purge_schedule": "30 * * * * *",
  "authenticator_disable_time_drift": false,
  "data_folder": "/data",
  "database_conn_init": "",
  "database_max_conns": 10,
  "database_timeout": 30,
  "database_url": "**********://********************************************************************************************************************************",
  "db_connection_retries": 15,
  "disable_2fa_remember": false,
  "disable_admin_token": false,
  "disable_icon_download": false,
  "domain": "*****://*********************",
  "domain_origin": "*****://*********************",
  "domain_path": "",
  "domain_set": true,
  "duo_host": null,
  "duo_ikey": null,
  "duo_skey": null,
  "email_attempts_limit": 3,
  "email_expiration_time": 600,
  "email_token_size": 6,
  "emergency_access_allowed": true,
  "emergency_notification_reminder_schedule": "0 3 * * * *",
  "emergency_request_timeout_schedule": "0 7 * * * *",
  "enable_db_wal": true,
  "event_cleanup_schedule": "0 10 0 * * *",
  "events_days_retain": null,
  "extended_logging": true,
  "helo_name": null,
  "hibp_api_key": null,
  "icon_blacklist_non_global_ips": true,
  "icon_blacklist_regex": null,
  "icon_cache_folder": "/data/icon_cache",
  "icon_cache_negttl": 259200,
  "icon_cache_ttl": 2592000,
  "icon_download_timeout": 10,
  "icon_redirect_code": 302,
  "icon_service": "internal",
  "incomplete_2fa_schedule": "30 * * * * *",
  "incomplete_2fa_time_limit": 3,
  "invitation_expiration_hours": 120,
  "invitation_org_name": "Vaultwarden",
  "invitations_allowed": true,
  "ip_header": "X-Real-IP",
  "job_poll_interval_ms": 30000,
  "log_file": null,
  "log_level": "Info",
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "login_ratelimit_max_burst": 10,
  "login_ratelimit_seconds": 60,
  "org_attachment_limit": null,
  "org_creation_users": "",
  "org_events_enabled": false,
  "org_groups_enabled": false,
  "password_hints_allowed": true,
  "password_iterations": 600000,
  "push_enabled": false,
  "push_installation_id": "***",
  "push_installation_key": "***",
  "push_relay_uri": "https://push.bitwarden.com",
  "reload_templates": false,
  "require_device_email": false,
  "rsa_key_filename": "/data/rsa_key",
  "send_purge_schedule": "0 5 * * * *",
  "sendmail_command": null,
  "sends_allowed": true,
  "sends_folder": "/data/sends",
  "show_password_hint": true,
  "signups_allowed": true,
  "signups_domains_whitelist": "*************,*************,**********,**********,******************,********************,***********",
  "signups_verify": true,
  "signups_verify_resend_limit": 6,
  "signups_verify_resend_time": 3600,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "smtp_auth_mechanism": "Login",
  "smtp_debug": false,
  "smtp_embed_images": true,
  "smtp_explicit_tls": null,
  "smtp_from": "***************************",
  "smtp_from_name": "Vaultwarden",
  "smtp_host": "*****************",
  "smtp_password": "***",
  "smtp_port": 587,
  "smtp_security": "starttls",
  "smtp_ssl": null,
  "smtp_timeout": 15,
  "smtp_username": "******",
  "templates_folder": "/data/templates",
  "tmp_folder": "/data/tmp",
  "trash_auto_delete_days": null,
  "trash_purge_schedule": "0 5 0 * * *",
  "use_sendmail": false,
  "use_syslog": false,
  "user_attachment_limit": null,
  "web_vault_enabled": true,
  "web_vault_folder": "web-vault/",
  "websocket_address": "0.0.0.0",
  "websocket_enabled": true,
  "websocket_port": 3012,
  "yubico_client_id": null,
  "yubico_secret_key": null,
  "yubico_server": null
}
  • vaultwarden version: 1.29.2

  • Install method: Helm

  • Clients used: Web vault

  • Reverse proxy and version: Nginx Ingress Controller 3.2.1

  • MySQL/MariaDB or PostgreSQL version: PostgreSQL 13

  • Other relevant details:

Steps to reproduce

  • Updated the signup_domains_whitelist environment variable
  • Restart Vaultwarden to pull the latest version of the image
  • Above log output

Expected behaviour

  • Admin panel users page works as normal and renders an HTTP 200

Actual behaviour

  • Users are able to log in and view their vaults without any visible issue currently
  • Administrators are unable to view the users in the admin panel

Troubleshooting data

Log output shows the following:

[2023-09-05 02:01:37.749][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:37.749][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:38.550][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:38.552][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:38.553][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:38.578][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:38.578][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:40.185][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:40.186][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:40.187][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:43.438][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:01:43.440][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:02:14.279][vaultwarden::api::notifications][INFO] Accepting WS connection from 10.244.1.14:41506                                           
[2023-09-05 02:02:37.266][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.266][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.268][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.268][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.270][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.270][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.271][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.272][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists                                                                
[2023-09-05 02:02:37.273][panic][ERROR] thread 'tokio-runtime-worker' panicked at 'Error loading twofactor_incomplete: DatabaseError(Unknown, "prepared st
atement \"__diesel_stmt_22\" does not exist")': src/db/models/two_factor_incomplete.rs:79                                                                 
   0: vaultwarden::init_logging::{{closure}}                                                                                                              
   1: std::panicking::rust_panic_with_hook                                                                                                                
   2: std::panicking::begin_panic_handler::{{closure}}                                                                                                    
   3: std::sys_common::backtrace::__rust_end_short_backtrace                                                                                              
   4: rust_begin_unwind                                                                                                                                   
   5: core::panicking::panic_fmt                                                                                                                          
   6: core::result::unwrap_failed                                                                                                                         
   7: tokio::runtime::context::runtime_mt::exit_runtime                                                                                                   
   8: tokio::runtime::scheduler::multi_thread::worker::block_in_place                                                                                     
   9: vaultwarden::api::core::two_factor::send_incomplete_2fa_notifications::{{closure}}                                                                  
  10: tokio::runtime::task::core::Core<T,S>::poll                                                                                                         
  11: tokio::runtime::task::harness::Harness<T,S>::poll                                                                                                   
  12: tokio::runtime::scheduler::multi_thread::worker::Context::run_task                                                                                  
  13: tokio::runtime::context::scoped::Scoped<T>::set                                                                                                     
  14: tokio::runtime::context::runtime::enter_runtime                                                                                                     
  15: tokio::runtime::scheduler::multi_thread::worker::run                                                                                                
  16: tokio::runtime::task::core::Core<T,S>::poll                                                                                                         
  17: tokio::runtime::task::harness::Harness<T,S>::poll                                                                                                   
  18: tokio::runtime::blocking::pool::Inner::run                                                                                                          
  19: std::sys_common::backtrace::__rust_begin_short_backtrace                                                                                            
  20: core::ops::function::FnOnce::call_once{{vtable.shim}}                                                                                               
  21: std::sys::unix::thread::Thread::new::thread_start                                                                                                   
  22: <unknown>                                                                                                                                           
  23: <unknown>                                                                                                                                           
                                                                                                                                                          
[2023-09-05 02:02:37.297][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
[2023-09-05 02:02:37.346][r2d2][ERROR] unnamed prepared statement does not exist                                                                          
*Originally created by @santiagon610 on 9/5/2023* ### Subject of the issue When attempting to use the users page of the admin panel, I get an HTTP 500 back, and an error from the database that prepared statements either already exist or do not exist, as shown in the log output. ### Deployment environment ### Your environment (Generated via diagnostics page) * Vaultwarden version: v1.29.2 * Web-vault version: v2023.7.1 * OS/Arch: linux/x86_64 * Running within Docker: false (Base: Not applicable) * Environment settings overridden: false * Uses a reverse proxy: true * IP Header check: true (X-Real-IP) * Internet access: true * Internet access via a proxy: false * DNS Check: true * Browser/Server Time Check: true * Server/NTP Time Check: true * Domain Configuration Check: true * HTTPS Check: true * Database type: PostgreSQL * Database version: PostgreSQL 13.12 on x86_64-pc-linux-gnu, compiled by gcc, a b1ae812d88 p 97651dedcb, 64-bit * Clients used: * Reverse proxy and version: * Other relevant information: ### Config (Generated via diagnostics page) <details><summary>Show Running Config</summary> **Environment settings which are overridden:** ```json { "_duo_akey": null, "_enable_duo": true, "_enable_email_2fa": true, "_enable_smtp": true, "_enable_yubico": true, "_icon_service_csp": "", "_icon_service_url": "", "_ip_header_enabled": true, "_smtp_img_src": "cid:", "admin_ratelimit_max_burst": 3, "admin_ratelimit_seconds": 300, "admin_session_lifetime": 20, "admin_token": "***", "allowed_iframe_ancestors": "", "attachments_folder": "/data/attachments", "auth_request_purge_schedule": "30 * * * * *", "authenticator_disable_time_drift": false, "data_folder": "/data", "database_conn_init": "", "database_max_conns": 10, "database_timeout": 30, "database_url": "**********://********************************************************************************************************************************", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "domain": "*****://*********************", "domain_origin": "*****://*********************", "domain_path": "", "domain_set": true, "duo_host": null, "duo_ikey": null, "duo_skey": null, "email_attempts_limit": 3, "email_expiration_time": 600, "email_token_size": 6, "emergency_access_allowed": true, "emergency_notification_reminder_schedule": "0 3 * * * *", "emergency_request_timeout_schedule": "0 7 * * * *", "enable_db_wal": true, "event_cleanup_schedule": "0 10 0 * * *", "events_days_retain": null, "extended_logging": true, "helo_name": null, "hibp_api_key": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "/data/icon_cache", "icon_cache_negttl": 259200, "icon_cache_ttl": 2592000, "icon_download_timeout": 10, "icon_redirect_code": 302, "icon_service": "internal", "incomplete_2fa_schedule": "30 * * * * *", "incomplete_2fa_time_limit": 3, "invitation_expiration_hours": 120, "invitation_org_name": "Vaultwarden", "invitations_allowed": true, "ip_header": "X-Real-IP", "job_poll_interval_ms": 30000, "log_file": null, "log_level": "Info", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "login_ratelimit_max_burst": 10, "login_ratelimit_seconds": 60, "org_attachment_limit": null, "org_creation_users": "", "org_events_enabled": false, "org_groups_enabled": false, "password_hints_allowed": true, "password_iterations": 600000, "push_enabled": false, "push_installation_id": "***", "push_installation_key": "***", "push_relay_uri": "https://push.bitwarden.com", "reload_templates": false, "require_device_email": false, "rsa_key_filename": "/data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sendmail_command": null, "sends_allowed": true, "sends_folder": "/data/sends", "show_password_hint": true, "signups_allowed": true, "signups_domains_whitelist": "*************,*************,**********,**********,******************,********************,***********", "signups_verify": true, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": "Login", "smtp_debug": false, "smtp_embed_images": true, "smtp_explicit_tls": null, "smtp_from": "***************************", "smtp_from_name": "Vaultwarden", "smtp_host": "*****************", "smtp_password": "***", "smtp_port": 587, "smtp_security": "starttls", "smtp_ssl": null, "smtp_timeout": 15, "smtp_username": "******", "templates_folder": "/data/templates", "tmp_folder": "/data/tmp", "trash_auto_delete_days": null, "trash_purge_schedule": "0 5 0 * * *", "use_sendmail": false, "use_syslog": false, "user_attachment_limit": null, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "websocket_address": "0.0.0.0", "websocket_enabled": true, "websocket_port": 3012, "yubico_client_id": null, "yubico_secret_key": null, "yubico_server": null } ``` </details> * vaultwarden version: 1.29.2 * Install method: [Helm](https://github.com/guerzon/vaultwarden) * Clients used: Web vault * Reverse proxy and version: Nginx Ingress Controller 3.2.1 * MySQL/MariaDB or PostgreSQL version: PostgreSQL 13 * Other relevant details: ### Steps to reproduce - Updated the `signup_domains_whitelist` environment variable - Restart Vaultwarden to pull the latest version of the image - Above log output ### Expected behaviour - Admin panel users page works as normal and renders an HTTP 200 ### Actual behaviour - Users are able to log in and view their vaults without any visible issue currently - Administrators are unable to view the users in the admin panel ### Troubleshooting data Log output shows the following: ```txt [2023-09-05 02:01:37.749][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:37.749][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:38.550][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:38.552][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:38.553][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:38.578][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:38.578][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:40.185][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:40.186][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:40.187][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:43.438][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:01:43.440][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:02:14.279][vaultwarden::api::notifications][INFO] Accepting WS connection from 10.244.1.14:41506 [2023-09-05 02:02:37.266][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.266][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.268][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.268][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.270][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.270][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.271][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.272][r2d2][ERROR] prepared statement "__diesel_stmt_0" already exists [2023-09-05 02:02:37.273][panic][ERROR] thread 'tokio-runtime-worker' panicked at 'Error loading twofactor_incomplete: DatabaseError(Unknown, "prepared st atement \"__diesel_stmt_22\" does not exist")': src/db/models/two_factor_incomplete.rs:79 0: vaultwarden::init_logging::{{closure}} 1: std::panicking::rust_panic_with_hook 2: std::panicking::begin_panic_handler::{{closure}} 3: std::sys_common::backtrace::__rust_end_short_backtrace 4: rust_begin_unwind 5: core::panicking::panic_fmt 6: core::result::unwrap_failed 7: tokio::runtime::context::runtime_mt::exit_runtime 8: tokio::runtime::scheduler::multi_thread::worker::block_in_place 9: vaultwarden::api::core::two_factor::send_incomplete_2fa_notifications::{{closure}} 10: tokio::runtime::task::core::Core<T,S>::poll 11: tokio::runtime::task::harness::Harness<T,S>::poll 12: tokio::runtime::scheduler::multi_thread::worker::Context::run_task 13: tokio::runtime::context::scoped::Scoped<T>::set 14: tokio::runtime::context::runtime::enter_runtime 15: tokio::runtime::scheduler::multi_thread::worker::run 16: tokio::runtime::task::core::Core<T,S>::poll 17: tokio::runtime::task::harness::Harness<T,S>::poll 18: tokio::runtime::blocking::pool::Inner::run 19: std::sys_common::backtrace::__rust_begin_short_backtrace 20: core::ops::function::FnOnce::call_once{{vtable.shim}} 21: std::sys::unix::thread::Thread::new::thread_start 22: <unknown> 23: <unknown> [2023-09-05 02:02:37.297][r2d2][ERROR] unnamed prepared statement does not exist [2023-09-05 02:02:37.346][r2d2][ERROR] unnamed prepared statement does not exist ```
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/vaultwarden#1466