Can't delete conversation
Deleting conversations seems to work only occasionally, if at all. Apparently due to a foreign key violation. After a failed delete, the app crashes with a segmentation fault sooner or later.
Trace log
There is not much information in the log, but anyway, here it is:
[2021-04-02T17:07:57Z TRACE harbour_whisperfish::model::session] Dispatched actor::DeleteSession(1)
[2021-04-02T17:07:57Z TRACE harbour_whisperfish::store] Called delete_session(1)
thread 'main' panicked at 'delete session: DatabaseError(ForeignKeyViolation, "FOREIGN KEY constraint failed")', src/store/mod.rs:1371:18
stack backtrace:
0: 0xab784c34 - std::backtrace_rs::backtrace::libunwind::trace::h358ecc2ba74fc0fa
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
1: 0xab784c34 - std::backtrace_rs::backtrace::trace_unsynchronized::hb01ad12c565f2d2f
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0xab784c34 - std::sys_common::backtrace::_print_fmt::h300fcbffa6dfde45
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:67:5
3: 0xab784c34 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha1582600f48a0ec8
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:46:22
4: 0xab30117c - core::fmt::write::he90e9da63aa8a1d1
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/fmt/mod.rs:1078:17
5: 0xab7842c4 - std::io::Write::write_fmt::h18f850c7a157c6bc
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/io/mod.rs:1517:15
6: 0xab783c20 - std::sys_common::backtrace::_print::h7b8f4f2d910f1b36
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:49:5
7: 0xab783c20 - std::sys_common::backtrace::print::h9284fe0bbc24b07b
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:36:9
8: 0xab783c20 - std::panicking::default_hook::{{closure}}::h197b647ed98483a6
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:208:50
9: 0xab783150 - std::panicking::default_hook::h73402197ad826955
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:225:9
10: 0xab783150 - std::panicking::rust_panic_with_hook::h659e8f7cb84ffc1d
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:591:17
11: 0xab7a24c8 - std::panicking::begin_panic_handler::{{closure}}::hb0192a2c5ef64c1d
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:497:13
12: 0xab7a2470 - std::sys_common::backtrace::__rust_end_short_backtrace::h423b36283a2f57a4
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:141:18
13: 0xab7a241c - rust_begin_unwind
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:493:5
14: 0xab2fef50 - core::panicking::panic_fmt::hbe772e1410782fd3
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/panicking.rs:92:14
15: 0xab30237c - core::option::expect_none_failed::h93245056c15e9e93
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/option.rs:1268:5
16: 0xab3ff7ac - <actix::address::envelope::SyncEnvelopeProxy<M> as actix::address::envelope::EnvelopeProxy<A>>::handle::h246d360d2738e653
17: 0xab52008c - <actix::contextimpl::ContextFut<A,C> as core::future::future::Future>::poll::h2c3dc34686053925
18: 0xab50ff88 - tokio::runtime::task::raw::poll::h50d720cc23090e84
19: 0xab21bb1c - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hd40a486638865b2a
20: 0xab531d70 - harbour_whisperfish::main::h866f8513ec9a7e7c
21: 0xab523ba4 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9b78ffd969e91ba4
22: 0xab52f2a4 - main
23: 0xf61b3af0 - __libc_start_main
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: MailboxError(Mailbox has closed)', /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/ops/function.rs:227:5
stack backtrace:
0: 0xab784c34 - std::backtrace_rs::backtrace::libunwind::trace::h358ecc2ba74fc0fa
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
1: 0xab784c34 - std::backtrace_rs::backtrace::trace_unsynchronized::hb01ad12c565f2d2f
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0xab784c34 - std::sys_common::backtrace::_print_fmt::h300fcbffa6dfde45
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:67:5
3: 0xab784c34 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha1582600f48a0ec8
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:46:22
4: 0xab30117c - core::fmt::write::he90e9da63aa8a1d1
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/fmt/mod.rs:1078:17
5: 0xab7842c4 - std::io::Write::write_fmt::h18f850c7a157c6bc
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/io/mod.rs:1517:15
6: 0xab783c20 - std::sys_common::backtrace::_print::h7b8f4f2d910f1b36
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:49:5
7: 0xab783c20 - std::sys_common::backtrace::print::h9284fe0bbc24b07b
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:36:9
8: 0xab783c20 - std::panicking::default_hook::{{closure}}::h197b647ed98483a6
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:208:50
9: 0xab783150 - std::panicking::default_hook::h73402197ad826955
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:225:9
10: 0xab783150 - std::panicking::rust_panic_with_hook::h659e8f7cb84ffc1d
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:591:17
11: 0xab7a24c8 - std::panicking::begin_panic_handler::{{closure}}::hb0192a2c5ef64c1d
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:497:13
12: 0xab7a2470 - std::sys_common::backtrace::__rust_end_short_backtrace::h423b36283a2f57a4
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/sys_common/backtrace.rs:141:18
13: 0xab7a241c - rust_begin_unwind
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/std/src/panicking.rs:493:5
14: 0xab2fef50 - core::panicking::panic_fmt::hbe772e1410782fd3
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/panicking.rs:92:14
15: 0xab30237c - core::option::expect_none_failed::h93245056c15e9e93
at /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/option.rs:1268:5
16: 0xab3805c8 - tokio::runtime::task::raw::poll::h3c360a7089f7f201
17: 0xab21bb1c - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hd40a486638865b2a
18: 0xab531d70 - harbour_whisperfish::main::h866f8513ec9a7e7c
19: 0xab523ba4 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9b78ffd969e91ba4
20: 0xab52f2a4 - main
21: 0xf61b3af0 - __libc_start_main
[2021-04-02T17:08:12Z TRACE libsignal_service_actix::websocket] Triggering keep-alive