Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

owner_api panic if "open_wallet" is not called first #576

Open
bladedoyle opened this issue Jan 14, 2021 · 2 comments
Open

owner_api panic if "open_wallet" is not called first #576

bladedoyle opened this issue Jan 14, 2021 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@bladedoyle
Copy link

Describe the bug
The owner-API panics when calling "retrieve_summary_info" if "open_wallet" is not called first.

20210114 10:07:24.259 ERROR grin_util::logger - 
thread 'tokio-runtime-worker' panicked at 'index 32 out of range for slice of length 0': /home/bdoyle/.cargo/registry/src/github.com-1ecc6299db9ec823/grin_core-5.0.1/src/libtx/secp_ser.rs:129   0: grin_util::logger::send_panic_to_log::{{closure}}
             at /home/bdoyle/.cargo/registry/src/github.com-1ecc6299db9ec823/grin_util-5.0.1/src/logger.rs:317
   1: std::panicking::rust_panic_with_hook
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/panicking.rs:530
   2: rust_begin_unwind
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/panicking.rs:437
   3: core::panicking::panic_fmt
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/panicking.rs:85
   4: core::slice::slice_index_len_fail
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/slice/mod.rs:2974
   5: <core::ops::range::Range<usize> as core::slice::SliceIndex<[T]>>::index
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/slice/mod.rs:3156
   6: core::slice::<impl core::ops::index::Index<I> for [T]>::index
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/slice/mod.rs:2955
   7: <alloc::vec::Vec<T> as core::ops::index::Index<I>>::index
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/liballoc/vec.rs:1975
   8: grin_core::libtx::secp_ser::option_seckey_serde::deserialize::{{closure}}::{{closure}}
             at /home/bdoyle/.cargo/registry/src/github.com-1ecc6299db9ec823/grin_core-5.0.1/src/libtx/secp_ser.rs:129
   9: core::result::Result<T,E>::and_then
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/result.rs:729
  10: grin_core::libtx::secp_ser::option_seckey_serde::deserialize::{{closure}}
             at /home/bdoyle/.cargo/registry/src/github.com-1ecc6299db9ec823/grin_core-5.0.1/src/libtx/secp_ser.rs:125
  11: core::result::Result<T,E>::and_then
             at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/result.rs:729
  12: grin_core::libtx::secp_ser::option_seckey_serde::deserialize
             at /home/bdoyle/.cargo/registry/src/github.com-1ecc6299db9ec823/grin_core-5.0.1/src/libtx/secp_ser.rs:124
  13: grin_wallet_api::types::_::<impl serde::de::Deserialize for grin_wallet_api::types::Token>::deserialize
             at /home/bdoyle/dev/grin-wallet/api/src/types.rs:40
  14: serde_json::value::from_value
             at /home/bdoyle/.cargo/registry/src/github.com-1ecc6299db9ec823/serde_json-1.0.57/src/value/mod.rs:1006
  15: <dyn grin_wallet_api::owner_rpc::OwnerRpc as easy_jsonrpc_mw::Handler>::handle
             at /home/bdoyle/dev/grin-wallet/api/src/owner_rpc.rs:356
  16: easy_jsonrpc_mw::handle_call
...
...

To Reproduce
Using wallet_v3.py library: https://github.com/grinfans/grin.py

import os
from wallet_v3 import WalletV3

api_url="http://localhost:3420/v3/owner"
api_user="grin"
wallet_password = "abc"
api_secret="owner_api_secret"

wallet = WalletV3(api_url, api_user, api_secret)
shared_ecdh_key = wallet.init_secure_api()
#token = wallet.open_wallet(None, wallet_password)
result = wallet.retrieve_summary_info(refresh=True)
print(result)

Expected behavior
An error message and not crash

@bladedoyle
Copy link
Author

Note: I continue to see a wallet thread panic for this case even with the above fix.

@quentinlesceller
Copy link
Member

Same way to reproduce it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants