fluidex / rollup-state-manager

5 stars 6 forks source link

crash: duplicate user #175

Open lispc opened 3 years ago

lispc commented 3 years ago

Aug 27 06:30:40.677 DEBUG rollup_state_manager::msg::msg_loader: got message at offset 478063 Aug 27 06:30:40.677 DEBUG rollup_state_manager: recv new msg USER(Message { message: UserMessage { user_id: 1, l1_address: "0x6286d0A2FC1d4C12a4ACc274018b401c68157Fdb", l2_pubkey: "0x5d182c51bcfe99583d7075a7a0c10d96bef82b8a059c4bf8c5f6e7124cf2bba3" }, offset: Some(478063) }) Aug 27 06:30:40.733 ERROR fluidex_common::non_blocking_tracing: thread '' panicked at 'assertion failed: !manager.has_account(account_id)', src/msg/msg_processor.rs:42:9 0: fluidex_common::non_blocking_tracing::set_panic_hook::{{closure}} 1: std::panicking::rust_panic_with_hook at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:595:17 2: std::panicking::begin_panic_handler::{{closure}} at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:495:13 3: std::sys_common::backtrace::rust_end_short_backtrace at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:141:18 4: rust_begin_unwind at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:493:5 5: core::panicking::panic_fmt at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/panicking.rs:92:14 6: core::panicking::panic at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/panicking.rs:50:5 7: rollup_state_manager::msg::msg_processor::Processor::handle_user_msg 8: <core::future::from_generator::GenFuture as core::future::future::Future>::poll 9: tokio::runtime::enter::Enter::block_on 10: tokio::runtime::Runtime::block_on 11: std::sys_common::backtrace::rust_begin_short_backtrace 12: core::ops::function::FnOnce::call_once{{vtable.shim}} 13: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/alloc/src/boxed.rs:1546:9 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/alloc/src/boxed.rs:1546:9 std::sys::unix::thread::Thread::new::thread_start at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys/unix/thread.rs:71:17 14: start_thread 15: clone

Aug 27 06:30:40.754 DEBUG rollup_state_manager::msg::msg_loader: got message at offset 478064 Aug 27 06:30:40.761 ERROR fluidex_common::non_blocking_tracing: thread '' panicked at 'called Result::unwrap() on an Err value: "Disconnected(..)"', src/msg/msg_loader.rs:170:39 0: fluidex_common::non_blocking_tracing::set_panic_hook::{{closure}} 1: std::panicking::rust_panic_with_hook at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:595:17 2: std::panicking::begin_panic_handler::{{closure}} at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:497:13 3: std::sys_common::backtrace::rust_end_short_backtrace at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:141:18 4: rust_begin_unwind at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:493:5 5: core::panicking::panic_fmt at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/panicking.rs:92:14 6: core::result::unwrap_failed at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/result.rs:1355:5 7: rollup_state_manager::msg::msg_loader::MessageWriter::on_message 8: <core::future::from_generator::GenFuture as core::future::future::Future>::poll 9: <tokio::future::poll_fn::PollFn as core::future::future::Future>::poll 10: <core::future::from_generator::GenFuture as core::future::future::Future>::poll 11: tokio::runtime::enter::Enter::block_on 12: tokio::runtime::Runtime::block_on 13: std::sys_common::backtrace::rust_begin_short_backtrace 14: core::ops::function::FnOnce::call_once{{vtable.shim}} 15: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/alloc/src/boxed.rs:1546:9 <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/alloc/src/boxed.rs:1546:9 std::sys::unix::thread::Thread::new::thread_start at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys/unix/thread.rs:71:17 16: start_thread 17: clone

Aug 27 06:30:40.771 ERROR fluidex_common::non_blocking_tracing: thread 'main' panicked at 'loader thread failed: Any { .. }', src/bin/main.rs:106:36 0: fluidex_common::non_blocking_tracing::set_panic_hook::{{closure}} 1: std::panicking::rust_panic_with_hook at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:595:17 2: std::panicking::begin_panic_handler::{{closure}} at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:497:13 3: std::sys_common::backtrace::rust_end_short_backtrace at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/sys_common/backtrace.rs:141:18 4: rust_begin_unwind at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:493:5 5: core::panicking::panic_fmt at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/panicking.rs:92:14 6: core::result::unwrap_failed at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/result.rs:1355:5 7: <core::future::from_generator::GenFuture as core::future::future::Future>::poll 8: <core::future::from_generator::GenFuture as core::future::future::Future>::poll 9: tokio::runtime::enter::Enter::block_on 10: tokio::runtime::Runtime::block_on 11: rollup_state_manager::main 12: std::sys_common::backtrace::__rust_begin_short_backtrace 13: std::rt::lang_start::{{closure}} 14: core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/core/src/ops/function.rs:259:13 std::panicking::try::do_call at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:379:40 std::panicking::try at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panicking.rs:343:19 std::panic::catch_unwind at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/panic.rs:431:14 std::rt::lang_start_internal at /rustc/53cb7b09b00cbea8754ffb78e7e3cb521cb8af4b/library/std/src/rt.rs:34:21 15: main 16: libc_start_main 17: _start

maybe we need add an assert in the dingir-exchange side?

HAOYUatHZ commented 3 years ago

looks wierd.... It seems this error should never happen, because user_id has been overwritten.

https://github.com/fluidex/dingir-exchange/blob/master/src/matchengine/controller.rs#L362-L367