joinmarket-clientserver icon indicating copy to clipboard operation
joinmarket-clientserver copied to clipboard

Error when checking the wallet history: ValueError: f(a) and f(b) must have different signs

Open GerdOpp opened this issue 2 years ago • 5 comments

When I want to check the wallet history, either using JoininBox or "python wallet-tool.py walletName.jmdat history" I get the below error. However, the display of the TXs is correct.


User data location: /home/joinmarket/.joinmarket/ Enter passphrase to decrypt wallet: tx# timestamp type amount/btc balance-change/btc balance/btc coinjoin-n total-fees utxo-count mixdepth-from mixdepth-to " 0" "2021-07-" "deposit " "" " 1" "2021-07-" "deposit " "" " 2" "2021-07-" "deposit " "" " 3" "2021-07-" "deposit " "" " 4" "2021-07-" "cj intsweep" " "" "N= 1" "2021-07-" "cj batch " " "" 2021-07-24 *** best block is " "****************" total profit = *** BTC

Traceback (most recent call last): File "wallet-tool.py", line 6, in jmprint(wallet_tool_main("wallets"), "success") File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/wallet_utils.py", line 1525, in wallet_tool_main return wallet_fetch_history(wallet_service, options) File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/wallet_utils.py", line 973, in wallet_fetch_history r = brentq(f, a=1, b=-1, args=(deposits, deposit_times, now, balance)) File "/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.7/site-packages/scipy/optimize/zeros.py", line 776, in brentq r = _zeros._brentq(f, a, b, xtol, rtol, maxiter, args, full_output, disp) ValueError: f(a) and f(b) must have different signs

I had an issue with the tumbler before where the min cj amount of 1.000.000 seems to be too high and the process aborts with: "Unable to select sufficient coins: NotEnoughFundsException"

Then the tumbler did not work and always hangs with: "DEBUG:Failed to get wallet information, is there a problem with the blockchain interface?"

I don't know if these errors are connected.

Thanks for looking into it.

GerdOpp avatar Jul 24 '21 22:07 GerdOpp

I first tried a Reboot of the RaspiBlitz: no change Then today a complete PowerOff: After this it worked ok

GerdOpp avatar Jul 25 '21 08:07 GerdOpp

I re-open this issue because I really would like to know what has happened there and if it was a fault on my side (which?). I am a little afraid to use the tumbler again.

GerdOpp avatar Jul 26 '21 21:07 GerdOpp

I get the same error again with a different wallet while the history itself seems ok.

Traceback (most recent call last): File "/home/joinmarket/joinmarket-clientserver/scripts/wallet-tool.py", line 6, in jmprint(wallet_tool_main("wallets"), "success") File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/wallet_utils.py", line 1525, in wallet_tool_main return wallet_fetch_history(wallet_service, options) File "/home/joinmarket/joinmarket-clientserver/jmclient/jmclient/wallet_utils.py", line 973, in wallet_fetch_history r = brentq(f, a=1, b=-1, args=(deposits, deposit_times, now, balance)) File "/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.7/site-packages/scipy/optimize/zeros.py", line 776, in brentq r = _zeros._brentq(f, a, b, xtol, rtol, maxiter, args, full_output, disp) ValueError: f(a) and f(b) must have different signs

GerdOpp avatar Aug 03 '21 21:08 GerdOpp

Then today a complete PowerOff: After this it worked ok

Could it be just a failing hardware issue?

kristapsk avatar Aug 04 '21 08:08 kristapsk

I don't know. My node (RaspiBlitz) is working now for several months without any problems.

I have several wallets and I can get the history from all of them but this one. With this wallet the above error message is reproducible if I want to get the history. For a test, I just powered-off my node but the error is still present.

There is one commonality. In both cases, the wallets were used for a Tumbler action with JoinMarket-Qt and the process aborted with the error "Unable to select sufficient coins: NotEnoughFundsException".

Maybe this information helps?

GerdOpp avatar Aug 04 '21 09:08 GerdOpp