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

Wallet history timeout error when importing wallet with extensive transaction history #883

Open
uforiaio opened this issue Oct 17, 2024 · 6 comments
Assignees

Comments

@uforiaio
Copy link

uforiaio commented Oct 17, 2024

Describe the bug

When importing my main wallet—which has hundreds of transactions—I repeatedly encounter a "wallet history timeout" error message. This issue occurs across multiple machines and seems to be tied to the depth of the wallet's transaction history. The application fails to import the wallet properly and does not provide helpful information for correlation.

Steps to reproduce the behavior:

Open the application.
Navigate to the wallet import feature.
Attempt to import a wallet with a large number of transactions (e.g., started within the first few hours of launch).
Observe that a "wallet history timeout" error message appears intermittently during or after the import process.

Expected behavior

The wallet should import successfully without any timeout errors, regardless of the number of transactions in its history.

Screenshots

If applicable, please add screenshots of the "wallet history timeout" error message to help explain the problem.

image

Desktop:

OS & Version: Microsoft Windows 11 Version 24H2 (OS Build 26100.2033)
Application Version: Tari v0.5.2x-v0.5.3x .* Havent see it in v0.5.31 yet, but the wallets still won sync.
Additional context

I tried using different builds and older versions of the application to determine if the wallet format had changed, but the issue persists.
The error does not occur when importing wallets with fewer transactions.
The problem seems consistent across multiple machines.
The lack of detailed error information makes it difficult to correlate and troubleshoot the issue.

@brianp
Copy link
Collaborator

brianp commented Dec 3, 2024

I've successfully created a wallet with import issues due to high balance/number of tx's. When this issue gets prioritized please DM me for seed words.

I'm not sold on exactly what the issue is. I created a new wallet with 10000+ transactions and could still import without a problem. This particular wallet is older, and the age of the wallet may be part of the issue.

@uforiaio
Copy link
Author

uforiaio commented Dec 3, 2024 via email

@mmrrnn mmrrnn self-assigned this Jan 8, 2025
@mmrrnn
Copy link
Collaborator

mmrrnn commented Jan 8, 2025

For now, I implemented infinite scrolling so we won't render all transactions at all(#1336).

Going further, I created MVP(#1343) of pagination so we'll fetch only bunch of the latest transactions that we need at the time. It's on hold for now since it needs merging changes to the tari core repo or changing the way how we handle tx history(fetch, sort, save to store and handle tx events).

@mmrrnn
Copy link
Collaborator

mmrrnn commented Jan 16, 2025

I created a pr in the Tari repo to return transactions in a sorted vector: tari-project/tari#6733

I can continue working on this MVP using these changes

@mmrrnn
Copy link
Collaborator

mmrrnn commented Jan 16, 2025

As part of this task, I'll also debug Brian's issues with his wallet on esmeralda:

12:46:24 WARN  Wallet health check failed: Wallet not started
12:46:24 INFO  Launching wallet node
12:46:24 WARN  wallet is not healthy. Health check returned false
12:46:24 WARN  wallet is not healthy. Waiting for startup time to elapse
12:46:33 ERROR wallet is not healthy: health check timed out
12:46:33 WARN  wallet is not healthy. Waiting for startup time to elapse
12:46:38 ERROR wallet is not healthy: health check timed out
12:46:38 WARN  wallet is not healthy. Waiting for startup time to elapse
12:46:43 ERROR wallet is not healthy: health check timed out
12:46:43 WARN  wallet is not healthy. Waiting for startup time to elapse
12:46:48 ERROR wallet is not healthy: health check timed out
12:46:48 INFO  Stopping wallet node with exit code: 0
12:46:48 INFO  wallet exited successfully
12:46:49 WARN  Restarting wallet after health check failure

@mmrrnn
Copy link
Collaborator

mmrrnn commented Jan 17, 2025

When importing wallet with an extensive tx history(2500txs), get_balance request which is used for health check, responds after a long time:

09:10:04 INFO  XXXXXXXXXXXXXXXXXXXXXXX Checking wallet health
09:10:04 INFO  YYYYYYYYYYYYYYYYYYYYYYYYYYY WalletBalance { available_balance: MicroMinotari(0), timelocked_balance: MicroMinotari(0), pending_incoming_balance: MicroMinotari(0), pending_outgoing_balance: MicroMinotari(0) }
09:10:06 INFO  Starting process watcher for p2pool
09:10:06 WARN  P2pool health check failed: error sending request for url (http://127.0.0.1:40169/stats)
09:10:06 WARN  p2pool is not healthy. Health check returned false
09:10:06 WARN  p2pool is not healthy. Waiting for startup time to elapse
09:10:06 WARN  P2pool stats not available yet
09:10:11 WARN  P2pool stats not available yet
09:10:14 INFO  XXXXXXXXXXXXXXXXXXXXXXX Checking wallet health
09:10:16 WARN  P2pool stats not available yet
09:10:21 INFO  Assigned port: 40835
09:10:21 INFO  Starting mmproxy
09:10:21 INFO  Starting process watcher for minotari_merge_mining_proxy
09:10:21 INFO  Killing previous instances of minotari_merge_mining_proxy
09:10:21 INFO  Using "/home/fish/.cache/com.tari.universe.alpha/binaries/tari/esmeralda/1.9.2-pre.0/minotari_merge_mining_proxy" for minotari_merge_mining_proxy
Initializing logging according to "/home/fish/.local/share/com.tari.universe.alpha/logs/proxy/configs/log4rs_config_proxy.yml"
09:10:21 INFO  Starting minotari_merge_mining_proxy process with args: -b /home/fish/.local/share/com.tari.universe.alpha/mmproxy --non-interactive-mode --log-config=/home/fish/.local/share/com.tari.universe.alpha/logs/proxy/configs/log4rs_config_proxy.yml -p merge_mining_proxy.base_node_grpc_address=/ip4/127.0.0.1/tcp/37363 -p merge_mining_proxy.listener_address=/ip4/127.0.0.1/tcp/40835 -p merge_mining_proxy.coinbase_extra=v3,frtdE9NeoBTZXU8UC7FKmP4Bbpjr,0.8.44,47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU -p merge_mining_proxy.wallet_payment_address=f2NG7yUDxmRwg9HtmRP3XfiofbcCKyNyw2iAUPqGj6Pb5jnaY3QgjPh12VFJNLgFAZ5mWABEzwr9FccVXwtW9mYod3k -p merge_mining_proxy.wait_for_initial_sync_at_startup=false -p merge_mining_proxy.use_dynamic_fail_data=false -p merge_mining_proxy.monerod_url=https://xmr-01.tari.com -p merge_mining_proxy.p2pool_enabled=true -p merge_mining_proxy.p2pool_node_grpc_address=/ip4/127.0.0.1/tcp/42369
09:10:21 INFO  Launching minotari_merge_mining_proxy node
09:10:31 INFO  Starting process watcher for minotari_merge_mining_proxy
09:10:41 INFO  Starting process watcher for xmrig
09:10:41 INFO  Killing previous instances of xmrig
09:10:41 INFO  Using "/home/fish/.cache/com.tari.universe.alpha/binaries/xmrig/esmeralda/6.22.0/xmrig-6.22.0/xmrig" for xmrig
09:10:41 INFO  Gpu availability false gpu_mining_enabled true
09:10:41 INFO  Starting xmrig process with args: --daemon --url=127.0.0.1:40835 --coin=monero --log-file=/home/fish/.local/share/com.tari.universe.alpha/logs/xmrig/xmrig.log --http-port=43121 --http-access-token=pass --donate-level=1 --user=42KCRhQeHfXXyDki9nhvbXF2jxbkX8wiM8VDLHXN3iwu42bq5GkjkXkbiGikb5dnJB5wXduGLCekVa7bis6PGFhyH38FTVf --threads=2 --verbose
09:10:41 INFO  Launching xmrig node
09:10:51 INFO  Starting process watcher for xmrig
09:13:31 INFO  YYYYYYYYYYYYYYYYYYYYYYYYYYY WalletBalance { available_balance: MicroMinotari(0), timelocked_balance: MicroMinotari(0), pending_incoming_balance: MicroMinotari(12024423512276), pending_outgoing_balance: MicroMinotari(0) }

It exceeds lifetime so we try to restart it over and over again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants