Thread panic after login to web vault - Missing Pair #353

Closed
opened 2026-02-04 19:51:36 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @frankrosano on GitHub (Jul 29, 2019).

Currently using the bitwardenrs/server-mysql container, but the issue occurs on the sqlite version as well.

This is typically reproducible immediately after logging in to the web vault. I can see in the logs that fav icon updates begin, then there will be a thread panic. Here is the full backtrace:

`thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: MissingPair', src/libcore/result.rs:1051:5

stack backtrace:

   0:     0x5581ccaadd6b - backtrace::backtrace::libunwind::trace::h4f04af92f39f2b78

                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88

   1:     0x5581ccaadd6b - backtrace::backtrace::trace_unsynchronized::hb28ce8d2b7fb3e31

                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66

   2:     0x5581ccaadd6b - std::sys_common::backtrace::_print::he3f49d2d13a51ff1

                               at src/libstd/sys_common/backtrace.rs:47

   3:     0x5581ccaadd6b - std::sys_common::backtrace::print::h46c2f3b13519e9bf

                               at src/libstd/sys_common/backtrace.rs:36

   4:     0x5581ccaadd6b - std::panicking::default_hook::{{closure}}::h6694acddafc67583

                               at src/libstd/panicking.rs:200

   5:     0x5581ccaada47 - std::panicking::default_hook::hb4761d2feeb6d93c

                               at src/libstd/panicking.rs:214

   6:     0x5581ccaae4e0 - std::panicking::rust_panic_with_hook::h7a5f9620b0a832bc

                               at src/libstd/panicking.rs:477

   7:     0x5581ccaae062 - std::panicking::continue_panic_fmt::h76588b16c9674f9c

                               at src/libstd/panicking.rs:384

   8:     0x5581ccaadf46 - rust_begin_unwind

                               at src/libstd/panicking.rs:311

   9:     0x5581ccad041d - core::panicking::panic_fmt::hcce9be08ab68e123

                               at src/libcore/panicking.rs:85

  10:     0x5581cc46b1e8 - core::result::unwrap_failed::h5c12644b0c61ee9f

  11:     0x5581cc46273e - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once::he989addf49563cde

  12:     0x5581cc3d7b1a - <alloc::string::String as core::iter::traits::collect::FromIterator<alloc::string::String>>::from_iter::h0537c733a4aa78e0

  13:     0x5581cc47c74d - bitwarden_rs::api::icons::get_icon::ha097b026409e3725

  14:     0x5581cc489d6b - bitwarden_rs::api::icons::rocket_route_fn_icon::h69fca24c4470c7c1

  15:     0x5581cc9766be - <F as rocket::handler::Handler>::handle::h8ae8992286c8d640

  16:     0x5581cc9646cf - rocket::rocket::Rocket::route_and_process::hc47e089255be66a1

  17:     0x5581cc9628de - <rocket::rocket::Rocket as hyper::server::Handler>::handle::h1ca4c9a404e95e77

  18:     0x5581cc980599 - hyper::server::Worker<H>::handle_connection::hb8287ed8f2694b74

  19:     0x5581cc98c4ac - hyper::server::listener::spawn_with::{{closure}}::hf5b5f737f054762c

  20:     0x5581cc987e17 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6040787daa72f01c

  21:     0x5581cc984d07 - std::panicking::try::do_call::h284c6f7a85c58c79

  22:     0x5581ccab7e0a - __rust_maybe_catch_panic

                               at src/libpanic_unwind/lib.rs:82

  23:     0x5581cc9414de - core::ops::function::FnOnce::call_once{{vtable.shim}}::h65a8c9a2cf9be4c3

  24:     0x5581cca9dc9f - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h352281c34878505f

                               at /rustc/78ca1bda3522b14bc0336bc01dd1d49fdba2cda7/src/liballoc/boxed.rs:766

  25:     0x5581ccab71b0 - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h77507a97b5d0b6ca

                               at /rustc/78ca1bda3522b14bc0336bc01dd1d49fdba2cda7/src/liballoc/boxed.rs:766

  26:     0x5581ccab71b0 - std::sys_common::thread::start_thread::h8e874688d93a6d97

                               at src/libstd/sys_common/thread.rs:13

  27:     0x5581ccab71b0 - std::sys::unix::thread::Thread::new::thread_start::hbfd3b1248521427e

                               at src/libstd/sys/unix/thread.rs:79

  28:     0x7f32044524a4 - start_thread

  29:     0x7f3203f7dd0f - __clone

  30:                0x0 - <unknown>`

At this point, the web vault hangs for 30s to 1 minute. Eventually it wakes up and loads everything as expected. Unfortunately I'm not able to determine which entry in my vault is triggering this panic.

Any assistance is appreciated.

Originally created by @frankrosano on GitHub (Jul 29, 2019). Currently using the bitwardenrs/server-mysql container, but the issue occurs on the sqlite version as well. This is typically reproducible immediately after logging in to the web vault. I can see in the logs that fav icon updates begin, then there will be a thread panic. Here is the full backtrace: ``` `thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: MissingPair', src/libcore/result.rs:1051:5 stack backtrace: 0: 0x5581ccaadd6b - backtrace::backtrace::libunwind::trace::h4f04af92f39f2b78 at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88 1: 0x5581ccaadd6b - backtrace::backtrace::trace_unsynchronized::hb28ce8d2b7fb3e31 at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66 2: 0x5581ccaadd6b - std::sys_common::backtrace::_print::he3f49d2d13a51ff1 at src/libstd/sys_common/backtrace.rs:47 3: 0x5581ccaadd6b - std::sys_common::backtrace::print::h46c2f3b13519e9bf at src/libstd/sys_common/backtrace.rs:36 4: 0x5581ccaadd6b - std::panicking::default_hook::{{closure}}::h6694acddafc67583 at src/libstd/panicking.rs:200 5: 0x5581ccaada47 - std::panicking::default_hook::hb4761d2feeb6d93c at src/libstd/panicking.rs:214 6: 0x5581ccaae4e0 - std::panicking::rust_panic_with_hook::h7a5f9620b0a832bc at src/libstd/panicking.rs:477 7: 0x5581ccaae062 - std::panicking::continue_panic_fmt::h76588b16c9674f9c at src/libstd/panicking.rs:384 8: 0x5581ccaadf46 - rust_begin_unwind at src/libstd/panicking.rs:311 9: 0x5581ccad041d - core::panicking::panic_fmt::hcce9be08ab68e123 at src/libcore/panicking.rs:85 10: 0x5581cc46b1e8 - core::result::unwrap_failed::h5c12644b0c61ee9f 11: 0x5581cc46273e - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once::he989addf49563cde 12: 0x5581cc3d7b1a - <alloc::string::String as core::iter::traits::collect::FromIterator<alloc::string::String>>::from_iter::h0537c733a4aa78e0 13: 0x5581cc47c74d - bitwarden_rs::api::icons::get_icon::ha097b026409e3725 14: 0x5581cc489d6b - bitwarden_rs::api::icons::rocket_route_fn_icon::h69fca24c4470c7c1 15: 0x5581cc9766be - <F as rocket::handler::Handler>::handle::h8ae8992286c8d640 16: 0x5581cc9646cf - rocket::rocket::Rocket::route_and_process::hc47e089255be66a1 17: 0x5581cc9628de - <rocket::rocket::Rocket as hyper::server::Handler>::handle::h1ca4c9a404e95e77 18: 0x5581cc980599 - hyper::server::Worker<H>::handle_connection::hb8287ed8f2694b74 19: 0x5581cc98c4ac - hyper::server::listener::spawn_with::{{closure}}::hf5b5f737f054762c 20: 0x5581cc987e17 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6040787daa72f01c 21: 0x5581cc984d07 - std::panicking::try::do_call::h284c6f7a85c58c79 22: 0x5581ccab7e0a - __rust_maybe_catch_panic at src/libpanic_unwind/lib.rs:82 23: 0x5581cc9414de - core::ops::function::FnOnce::call_once{{vtable.shim}}::h65a8c9a2cf9be4c3 24: 0x5581cca9dc9f - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h352281c34878505f at /rustc/78ca1bda3522b14bc0336bc01dd1d49fdba2cda7/src/liballoc/boxed.rs:766 25: 0x5581ccab71b0 - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h77507a97b5d0b6ca at /rustc/78ca1bda3522b14bc0336bc01dd1d49fdba2cda7/src/liballoc/boxed.rs:766 26: 0x5581ccab71b0 - std::sys_common::thread::start_thread::h8e874688d93a6d97 at src/libstd/sys_common/thread.rs:13 27: 0x5581ccab71b0 - std::sys::unix::thread::Thread::new::thread_start::hbfd3b1248521427e at src/libstd/sys/unix/thread.rs:79 28: 0x7f32044524a4 - start_thread 29: 0x7f3203f7dd0f - __clone 30: 0x0 - <unknown>` ``` At this point, the web vault hangs for 30s to 1 minute. Eventually it wakes up and loads everything as expected. Unfortunately I'm not able to determine which entry in my vault is triggering this panic. Any assistance is appreciated.
Author
Owner

@dani-garcia commented on GitHub (Jul 30, 2019):

I've made some changes that should probably solve this bug here c9c3f07171.

If you are using the docker images, you might need to wait some time for them to build.

@dani-garcia commented on GitHub (Jul 30, 2019): I've made some changes that should probably solve this bug here https://github.com/dani-garcia/bitwarden_rs/commit/c9c3f07171b9037629aacdee5c83757a1d171859. If you are using the docker images, you might need to wait some time for them to build.
Author
Owner

@frankrosano commented on GitHub (Jul 30, 2019):

Awesome, thanks for the quick fix! As soon as the docker images update i'll pull and confirm if the issue is resolved.

@frankrosano commented on GitHub (Jul 30, 2019): Awesome, thanks for the quick fix! As soon as the docker images update i'll pull and confirm if the issue is resolved.
Author
Owner

@frankrosano commented on GitHub (Jul 31, 2019):

Hi @dani-garcia - pulled the new docker image this morning and confirmed that the issue appears to be fully resolved! Thank you for the quick patch!

@frankrosano commented on GitHub (Jul 31, 2019): Hi @dani-garcia - pulled the new docker image this morning and confirmed that the issue appears to be fully resolved! Thank you for the quick patch!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/vaultwarden#353