Samourai-Wallet / whirlpool-client-cli

Command line Whirlpool client
Other
16 stars 13 forks source link

mixsDone gets forgotten, how to reconstruct #21

Closed ghost closed 4 years ago

ghost commented 4 years ago

I have been mixing several hundreds of addresses with mixs-target=10 and after months I had a few dozens of mixsDone=10. But then all of sudden I noticed that many 10s disappeared and got reset to 1. Not all of them and probably not just 10s. Simply it seemed like I had done many fewer mixes than in the reality. I don't know how it happened, I didn't do anything strange with the cli, only I stopped it quite many times to compile a new version from git. Fortunately I did have some oldish backups of both json files but still I "lost" several months of mixing. I shrugged and let it be until yesterday, another couple of months of mixing later, I again noticed that many mixsDone had been reset to 1. so I am letting you know that there might be a bug. Maybe something is wrong with my machine but it's a stable powerful underutilized server with a rather reliable filesystem (zfs on raid1) so I don't know. Maybe it happened to other people too, they just never noticed.

So I decided to recalculate the correct mixsDone values and fix the whirlpool-cli-utxos-xxx.json file. From zpub I generated a list of my addresses and then I took each utxo (just a copy&paste of UTXO column from "O" cli command output) and went back in transactions and counted how many times one of the input addresses belongs to my list and that was the correct mixsDone. Now all my mixsDone are correct again, I even got a couple of mixsDone=11.

If anyone notices the same problem, here is a little tool for this reconstruction I made in Python: https://pastebin.com/W0b4dqp3

zeroleak commented 4 years ago

awesome, thx! We are investigating about mix counters resetting randomly. Let us know if you reproduce it or find any log related to this

ghost commented 4 years ago

Oh, so it's not just me. Well, I made a simple cron script that makes hourly json backups, sums up all mixsDone from the current json and if it's lower than the mixsDone sum from the last backup sends pushbullet alert to my phone. So if/when it happens again I should be able to find the corresponding log lines.

zeroleak commented 4 years ago

some users are experiencing it on raspberry. 0.10.5 may fix this hoperfully

ghost commented 4 years ago

So I got some findings but it didn't actually lose any mix count, just two times there was apparently a fake counter increase, then those non-existent extras mixes disappeared from the counters. Here is the timeline:

23:17 the script counted 1324 mixes in whirlpool-cli-utxos-....json file which was last modified 20:39

2020-04-14 23:54:41.599 INFO 31697 --- [nt@4d7747bf-282] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (40%) CONFIRMING_INPUT : waiting for a mix... 2020-04-14 23:54:41.976 INFO 31697 --- [nt@4d7747bf-285] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (50%) CONFIRMED_INPUT : joined a mix! 2020-04-14 23:54:42.364 INFO 31697 --- [nt@4d7747bf-282] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (60%) REGISTERING_OUTPUT : registering output 2020-04-14 23:54:43.007 INFO 31697 --- [nt@4d7747bf-282] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (70%) REGISTERED_OUTPUT : registered output 2020-04-14 23:54:47.656 INFO 31697 --- [nt@4d7747bf-285] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (80%) SIGNING : signing 2020-04-14 23:54:47.657 INFO 31697 --- [nt@4d7747bf-285] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (90%) SIGNED : signed 2020-04-14 23:54:50.013 INFO 31697 --- [nt@4d7747bf-282] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (100%) SUCCESS : mix success 2020-04-14 23:54:50.013 INFO 31697 --- [nt@4d7747bf-282] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ??? WHIRLPOOL SUCCESS ??? txid: ... 2020-04-14 23:54:51.457 INFO 31697 --- [rchestratorImpl] c.s.w.client.wallet.MixOrchestratorImpl : ??? Connecting client to pool: 0.05btc 2020-04-14 23:54:51.458 INFO 31697 --- [t-1586901291458] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-14 23:54:52.815 INFO 31697 --- [nt@4d7747bf-289] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (20%) CONNECTED : connected 2020-04-14 23:54:54.031 INFO 31697 --- [nt@4d7747bf-283] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (30%) REGISTERED_INPUT : registered input

00:17 the script counted 1325 mixes in whirlpool-cli-utxos-....json file which was last modified 00:05

2020-04-15 01:14:30.218 ERROR 31697 --- [nt@4d7747bf-312] c.samourai.stomp.client.JavaStompClient : ! transportError: org.springframework.messaging.simp.stomp.ConnectionLostException: Connection closed 2020-04-15 01:14:30.218 ERROR 31697 --- [nt@4d7747bf-312] c.s.w.c.m.d.MixSession[1586901291458] : ! connexion lost, reconnecting for a new mix... 2020-04-15 01:14:30.218 INFO 31697 --- [nt@4d7747bf-312] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 01:14:30.220 INFO 31697 --- [nt@4d7747bf-312] c.s.w.c.m.d.MixSession[1586901291458] : ! connexion failed, retrying in 5s 2020-04-15 01:14:30.220 INFO 31697 --- [nt@4d7747bf-312] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 01:14:35.952 INFO 31697 --- [nt@1859a260-321] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (20%) CONNECTED : connected 2020-04-15 01:14:37.118 INFO 31697 --- [nt@1859a260-320] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (30%) REGISTERED_INPUT : registered input 2020-04-15 01:16:50.448 ERROR 31697 --- [nt@1859a260-325] c.samourai.stomp.client.JavaStompClient : ! transportError: org.springframework.messaging.simp.stomp.ConnectionLostException: Connection closed 2020-04-15 01:16:50.448 ERROR 31697 --- [nt@1859a260-325] c.s.w.c.m.d.MixSession[1586901291458] : ! connexion lost, reconnecting for a new mix... 2020-04-15 01:16:50.448 INFO 31697 --- [nt@1859a260-325] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 01:16:50.449 INFO 31697 --- [nt@1859a260-325] c.s.w.c.m.d.MixSession[1586901291458] : ! connexion failed, retrying in 5s 2020-04-15 01:16:50.449 INFO 31697 --- [nt@1859a260-325] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 01:16:56.373 INFO 31697 --- [nt@7932581a-333] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (20%) CONNECTED : connected 2020-04-15 01:16:57.571 INFO 31697 --- [nt@7932581a-327] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (30%) REGISTERED_INPUT : registered input 2020-04-15 01:19:38.312 INFO 31697 --- [nt@7932581a-329] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (40%) CONFIRMING_INPUT : waiting for a mix... 2020-04-15 01:19:38.489 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (50%) CONFIRMED_INPUT : joined a mix! 2020-04-15 01:19:39.187 INFO 31697 --- [nt@7932581a-329] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (60%) REGISTERING_OUTPUT : registering output 2020-04-15 01:19:39.875 INFO 31697 --- [nt@7932581a-329] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (70%) REGISTERED_OUTPUT : registered output 2020-04-15 01:19:44.747 ERROR 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ??? WHIRLPOOL FAILED ??? Mix failed 2020-04-15 01:19:44.747 INFO 31697 --- [nt@7932581a-332] c.s.w.client.wallet.WhirlpoolWallet : onMixFail(MIX_FAILED): will retry later 2020-04-15 01:19:44.929 INFO 31697 --- [rchestratorImpl] c.s.w.client.wallet.MixOrchestratorImpl : ??? Connecting client to pool: 0.05btc 2020-04-15 01:19:44.931 INFO 31697 --- [t-1586906384931] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 01:19:46.287 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (20%) CONNECTED : connected 2020-04-15 01:19:47.481 INFO 31697 --- [nt@7932581a-329] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (30%) REGISTERED_INPUT : registered input 2020-04-15 01:33:26.212 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (40%) CONFIRMING_INPUT : waiting for a mix... 2020-04-15 01:33:26.463 INFO 31697 --- [nt@7932581a-331] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (50%) CONFIRMED_INPUT : joined a mix! 2020-04-15 01:33:26.838 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (60%) REGISTERING_OUTPUT : registering output 2020-04-15 01:33:28.154 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (70%) REGISTERED_OUTPUT : registered output 2020-04-15 01:33:30.492 INFO 31697 --- [nt@7932581a-331] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (80%) SIGNING : signing 2020-04-15 01:33:30.493 INFO 31697 --- [nt@7932581a-331] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (90%) SIGNED : signed 2020-04-15 01:33:31.496 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (100%) SUCCESS : mix success 2020-04-15 01:33:31.496 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ??? WHIRLPOOL SUCCESS ??? txid: ... 2020-04-15 01:33:32.437 INFO 31697 --- [rchestratorImpl] c.s.w.client.wallet.MixOrchestratorImpl : ??? Connecting client to pool: 0.05btc 2020-04-15 01:33:32.438 INFO 31697 --- [t-1586907212438] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 01:33:34.545 INFO 31697 --- [nt@7932581a-329] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (20%) CONNECTED : connected 2020-04-15 01:33:35.968 INFO 31697 --- [nt@7932581a-330] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (30%) REGISTERED_INPUT : registered input

01:34 the script counted 1328 mixes (wrong, should be 1326) in whirlpool-cli-utxos-....json file which was last modified 01:33

02:17 the script counted 1326 mixes (2 fake mixes disappeared, no log line whatsoever) in whirlpool-cli-utxos-....json file which was last modified 01:40

03:17 the script counted 1326 mixes in whirlpool-cli-utxos-....json file which was last modified 01:40

2020-04-15 03:25:40.609 ERROR 31697 --- [nt@7932581a-332] c.samourai.stomp.client.JavaStompClient : ! transportError: org.springframework.messaging.simp.stomp.ConnectionLostException: Connection closed 2020-04-15 03:25:40.609 ERROR 31697 --- [nt@7932581a-332] c.s.w.c.m.d.MixSession[1586907212438] : ! connexion lost, reconnecting for a new mix... 2020-04-15 03:25:40.610 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 03:25:40.612 INFO 31697 --- [nt@7932581a-332] c.s.w.c.m.d.MixSession[1586907212438] : ! connexion failed, retrying in 5s 2020-04-15 03:25:40.613 INFO 31697 --- [nt@7932581a-332] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 03:26:03.996 INFO 31697 --- [nt@350e7dd6-356] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (20%) CONNECTED : connected 2020-04-15 03:26:05.668 INFO 31697 --- [nt@350e7dd6-359] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (30%) REGISTERED_INPUT : registered input 2020-04-15 04:16:28.840 INFO 31697 --- [nt@350e7dd6-361] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (40%) CONFIRMING_INPUT : waiting for a mix... 2020-04-15 04:16:29.298 INFO 31697 --- [nt@350e7dd6-360] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (50%) CONFIRMED_INPUT : joined a mix! 2020-04-15 04:16:29.464 INFO 31697 --- [nt@350e7dd6-361] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (60%) REGISTERING_OUTPUT : registering output 2020-04-15 04:16:30.163 INFO 31697 --- [nt@350e7dd6-361] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (70%) REGISTERED_OUTPUT : registered output 2020-04-15 04:16:35.905 INFO 31697 --- [nt@350e7dd6-360] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (80%) SIGNING : signing 2020-04-15 04:16:35.907 INFO 31697 --- [nt@350e7dd6-360] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (90%) SIGNED : signed 2020-04-15 04:16:36.531 INFO 31697 --- [nt@350e7dd6-361] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (100%) SUCCESS : mix success 2020-04-15 04:16:36.531 INFO 31697 --- [nt@350e7dd6-361] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ??? WHIRLPOOL SUCCESS ??? txid: ... 2020-04-15 04:16:37.733 INFO 31697 --- [rchestratorImpl] c.s.w.client.wallet.MixOrchestratorImpl : ??? Connecting client to pool: 0.05btc 2020-04-15 04:16:37.734 INFO 31697 --- [t-1586916997734] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (10%) CONNECTING : connecting... 2020-04-15 04:16:38.899 INFO 31697 --- [nt@350e7dd6-361] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (20%) CONNECTED : connected 2020-04-15 04:16:40.023 INFO 31697 --- [nt@350e7dd6-355] s.w.c.w.l.LoggingWhirlpoolClientListener : - [MIX] 0.05btc ?????????????????????????????? (30%) REGISTERED_INPUT : registered input

04:17 the script counted 1329 mixes (wrong, should be 1327) in whirlpool-cli-utxos-....json file which was last modified 04:16

05:17 the script counted 1327 mixes (2 fake mixes disappeared, no log line whatsoever) in whirlpool-cli-utxos-....json file which was last modified 04:26

06:17 the script counted 1327 mixes in whirlpool-cli-utxos-....json file which was last modified 04:26

Bizarre.

zeroleak commented 4 years ago

This temporary fake counter increase is "expected" behavior, due to asynchronous utxos refresh from wallet backend:

This can probably be optimized :) But it's probably not related to mix counters reset, which looks like a general counters reset.

mosh5382 commented 4 years ago

I've also frequently encountered this issue. I've found a way to reproduce the problem on version 0.10.5. Here is the scenario: I have a mix active for a UTXO in the 0.05 pool that has not reached it's mix goal (completed 2 of 5 mixes). I have a 0.01 UTXO that is currently not in an active mix (it's in the post mix but not active). It has completed 9 mixes with a target of 5 (I've manually mixed it a couple more times). I click on the mix button to start the 0.01 UTXO mixing.

Upon completion of a mix for the 0.01 UTXO and it going idol the whirlpool-cli-utxos file will get messed up. It will keep the correct status of the 0.01 UTXO that has just completed a mix and it will keep the Pre-mix UTXOs in the file. All other UTXOs will disappear form the file and start back at 1 mix complete upon starting up whirlpool-client-cli again.

Hopefully this points you in the right direction. Of course there may be other things that trigger this issue. I'll keep reporting any ways I find to reproduce this issue.

ghost commented 4 years ago

This reminds me something that might be relevant. I had been mixing a few 0.01s and many 0.05s. Now the former are long done (but still in postmix unspent) so only the 0.05s are being mixed. I haven't encountered the reset bug since I opened this issue. When the bug happened the last time by that time I think the 0.01s were already done and only 0.05s were mixing so after the reset all of a sudden 2 concurrent mixes started happening and that's how I quickly noticed. But when the reset happened earlier I am not sure if the 0.01s were done by then, they definitely got "undone" by the bug, though. So maybe the bug has something to do with 2 different pools or multiple concurrent mixes?

Anyway the bug reset only some of my utxo mix counters, definitely not all of them. Maybe 50%. And I am almost certain that some utxos weren't reset back to 1 but to a higher number. As if the software somehow remembered the state from months ago and now it restored it. But the software probably couldn't remember that far history because I was restarting and updating it quite often. I am using the command line version, if that matters.

ghost commented 4 years ago

I have some new findings. I just noticed that my json file got truncated to 2 bytes: {}. Command "O" was still showing all the counters (probably) correctly. When I ctrl-c the software, the json file stayed at 2 bytes.

I should mention that I am using my own instance of Tor running at 127.0.0.1:9050 and I setup the cli using cli.proxy=socks\://127.0.0.1\:9050. Setting cli.torConfig.executable=local didn't work, my Tor instance wasn't detected so that's why I am using the socks option. The reason tor isn't detected might be related to the fact that I am running chroot, although both /run/tor/* and /proc are bind mounted. Either way tor via socks is working for months. I am mentioning this because there are some socks errors in the log, but the tor instance is running and connectable correctly.

The last hourly backup with the correct json was at 2:17, since 3:17 the json is only 2 bytes, there have been several backups after that, all are at 2 bytes. Here are the logs between 2:17 and 3:17 and then some more, the timestamps are CEST (GMT+2): https://pastebin.com/x5mJNYN6

The version is the latest git develop. After replacing the last good json the software is running again fine.

mosh5382 commented 4 years ago

I concur, my experience is very similar to @blamb5. It seems that after mixes the json files is updated and under certain circumstances the file size shrinks drastically to only a couple UTXOs. Most mix history is lost when this happens upon a restart of the cli client. I've found that even when the json file loses the information the active running UTXO information for cli client remains correct as observed by blamb5. It is only upon restarting the cli client that the issue will be observed when the information is read in from the json file.

I also observe similar logs that imply that my connection is broken (although I'm not sure if it's my connection to the coordinator or to my dojo). I've tried numerous things to resolve this issue without success. I suspected that this was the nature of Tor connections but maybe something is not working correctly.

ghost commented 4 years ago

Yes, that would match my scenario where I frequently restarted the software. So it's very possible that the json file got (at least partially) "emptied" but the software kept running ok until I restarted. It's very possible that everytime I noticed this bug it was only after I restarted the tool because that's when I usually press "O" to check the counters.

So this bug doesn't explicitly forget the counters, it forgets the whole utxo records. When the tool is restarted of course it finds all the unspent utxos from xpub, but since the records from json file are gone then the counters are gone as well.

What seems strange to me is that it seems once the json is damaged it doesn't get replaced by the correct version later. I would have thought the software saves json periodically, but I didn't check. Maybe it saves only after a mix.

Maybe if I didn't restart the tool today when I noticed the empty json, the software would continue working and after the next mix the json file would be corrected. That could be why not many people noticed this because maybe it happens much more often but only for a short period of time before the next mix happens. Because I tend to restart the tool quite often that could by why I noticed this repeatedly - I didn't give the software enough time to sweep the bug under the carpet so to speak.

Maybe a work-around could be to make the software save the json file periodically, not only after a mix, if that's indeed what's happening.

zeroleak commented 4 years ago

Awesome, thanks for these reports and logs, very useful. The whole process is being rewritten to make sure json keeps in sync with utxos, survive connectivity problems and get this fixed on next release.

ghost commented 4 years ago

Hi again, today I noticed that my total sum of all MixsDone dropped by 7 and it wasn't in relation to any adjustment after a "fake" increase, there were no mixes done anytime recently. The drop happened some time between 5:17 and 6:17. Before I restored the last known backup of my .json from 5:17 I used my tool to recalculate all MixsDone and it matched, the whirlpool client indeed forgot 7 mixes.

Further analysis showed that the client in fact totally forgot 2 utxos, one with 3 MixsDone and the other with 4 MixsDone. It might be interesting to see if these utxos were maybe mixed the last, but I don't know how to find out from the persist utxos data contained in the json. Actually I can, from xpub I can see all the transactions done and from that I can find which outputs belong to me and from that calculate the persist data and compare it to the lost ones. Would you like me to do this?

Anyway, here are all the log lines after 5:17 till the last line before I ctrl-c it several hours later: https://pastebin.com/aw5fBP8S

zeroleak commented 4 years ago

Thanks @blamb5. Logs confirm that it happens during connectivity problems. It's not necessary to invest too much time in this, because the whole data layer is being rewritten for next CLI release. Let me know if you would like to test it earlier before public release.

ghost commented 4 years ago

Oh, I see. I was wondering if perhaps the connection issues have anything to do with this. Yes, I would totally like to test the new pre-release.

zeroleak commented 4 years ago

Great! Please contact support@samouraiwallet.com to reference your github username and that you'd like to test the QA CLI candidate in follow-up to this issue. Data layer was entirely rewritten. QA will begin this week :+1:

zeroleak commented 4 years ago

Should be fixed in CLI 0.10.6 https://code.samourai.io/whirlpool/whirlpool-client-cli/-/releases/0.10.6

zeroleak commented 4 years ago

FYI, CLI 0.10.7 is still affected by this bug. It shoud be fully fixed in next release, which will include a tool to reconstruct counters.

zeroleak commented 4 years ago

Fixed in CLI 0.10.8