mimblewimble / grin-wallet

Grin Wallet
Apache License 2.0
182 stars 133 forks source link

v5.1.0 segmentation fault when running account or info commands #673

Closed ardocrat closed 1 year ago

ardocrat commented 1 year ago

I can not see my account balance, every time its crashing with segmentation fault (core dumped).

To Reproduce

  1. Run ./grin-wallet account
    
    ____ Wallet Accounts ____

zsh: segmentation fault (core dumped) ./grin-wallet account


1. Run `./grin-wallet info`

...

WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete

__ Wallet Summary Info - Account 'default' as of height height_number __

zsh: segmentation fault (core dumped) ./grin-wallet info


There is nothing about error I can see at logs.

I have installed:

rustc 1.67.1 cargo 1.67.1

ardocrat commented 1 year ago

Tried with grin node v5.2.0-alpha.2. v.5.1.2 is not building, described here: https://github.com/mimblewimble/grin/issues/3742

ardocrat commented 1 year ago

Error is attempt to add with overflow

Debug builld showed me this:

ERROR grin_util::logger - 
thread 'main' panicked at 'attempt to add with overflow': /rustc/library/core/src/iter/traits/accum.rs:141   0: grin_util::logger::send_panic_to_log::{{closure}}
             at /home/user/.cargo/registry/src/github.com/grin_util-5.1.2/src/logger.rs:316:19
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/library/alloc/src/boxed.rs:2032:9
      std::panicking::rust_panic_with_hook
             at /rustc/library/std/src/panicking.rs:692:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/library/std/src/panicking.rs:577:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/library/std/src/sys_common/backtrace.rs:137:18
   4: rust_begin_unwind
             at /rustc/library/std/src/panicking.rs:575:5
   5: core::panicking::panic_fmt
             at /rustc/library/core/src/panicking.rs:64:14
   6: core::panicking::panic
             at /rustc/library/core/src/panicking.rs:111:5
   7: <usize as core::iter::traits::accum::Sum>::sum::{{closure}}
             at /rustc/library/core/src/iter/traits/accum.rs:45:28
   8: core::iter::adapters::map::map_fold::{{closure}}
             at /rustc/library/core/src/iter/adapters/map.rs:84:21
   9: core::iter::traits::iterator::Iterator::fold
             at /rustc/library/core/src/iter/traits/iterator.rs:2414:21
  10: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/library/core/src/iter/adapters/map.rs:124:9
  11: <usize as core::iter::traits::accum::Sum>::sum
             at /rustc/library/core/src/iter/traits/accum.rs:42:17
  12: core::iter::traits::iterator::Iterator::sum
             at /rustc/library/core/src/iter/traits/iterator.rs:3381:9
  13: prettytable::row::Row::column_count
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/row.rs:36:9
  14: prettytable::TableSlice::get_column_num
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/lib.rs:76:21
  15: prettytable::TableSlice::get_all_column_width
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/lib.rs:118:22
  16: prettytable::TableSlice::__print
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/lib.rs:143:25
  17: prettytable::TableSlice::print_term
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/lib.rs:175:9
  18: prettytable::TableSlice::print_tty
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/lib.rs:190:36
  19: prettytable::TableSlice::printstd
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/lib.rs:209:9
  20: prettytable::Table::printstd
             at /home/user/.cargo/registry/src/github.com/prettytable-rs-0.8.0/src/lib.rs:376:9
  21: grin_wallet_controller::display::info
             at /home/user/grin-wallet/controller/src/display.rs:474:2
  22: grin_wallet_controller::command::info::{{closure}}
             at /home/user/grin-wallet/controller/src/command.rs:1035:3
  23: grin_wallet_controller::controller::owner_single_use
             at /home/user/grin-wallet/controller/src/controller.rs:170:14
  24: grin_wallet_controller::command::info
             at /home/user/grin-wallet/controller/src/command.rs:1032:2
  25: grin_wallet::cmd::wallet_args::parse_and_execute
             at /home/user/grin-wallet/src/cmd/wallet_args.rs:1213:4
  26: grin_wallet::cmd::wallet_args::wallet_command
             at /home/user/grin-wallet/src/cmd/wallet_args.rs:1060:4
  27: grin_wallet::cmd::wallet::wallet_command
             at /home/user/grin-wallet/src/cmd/wallet.rs:56:12
  28: grin_wallet::real_main
             at /home/user/grin-wallet/src/bin/grin-wallet.rs:161:2
  29: grin_wallet::main
             at /home/user/grin-wallet/src/bin/grin-wallet.rs:65:18
  30: core::ops::function::FnOnce::call_once
             at /rustc/library/core/src/ops/function.rs:507:5
  31: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/library/std/src/sys_common/backtrace.rs:121:18
  32: std::rt::lang_start::{{closure}}
             at /rustc/library/std/src/rt.rs:166:18
  33: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/library/core/src/ops/function.rs:606:13
      std::panicking::try::do_call
             at /rustc/library/std/src/panicking.rs:483:40
      std::panicking::try
             at /rustc/library/std/src/panicking.rs:447:19
      std::panic::catch_unwind
             at /rustc/library/std/src/panic.rs:137:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/library/std/src/panicking.rs:483:40
      std::panicking::try
             at /rustc/library/std/src/panicking.rs:447:19
      std::panic::catch_unwind
             at /rustc/library/std/src/panic.rs:137:14
      std::rt::lang_start_internal
             at /rustc/library/std/src/rt.rs:148:20
  34: std::rt::lang_start
             at /rustc/library/std/src/rt.rs:165:17
  35: main
  36: <unknown>
  37: __libc_start_main
  38: _start

Thread 'main' panicked with message:
"attempt to add with overflow"
ardocrat commented 1 year ago

Fixed with prettytable-rs 0.10.0. Please, accept this PR @yeastplume. https://github.com/mimblewimble/grin-wallet/pull/668

yeastplume commented 1 year ago

Thanks for reporting this, fixed in #674