Closed snow884 closed 1 year ago
Thanks for the report. Looks like QueryAssetTransfers
returns an empty result list but we try to access assetTransfers[0]
anyway. @Roasbeef I thought sqlc would return ErrNoRows if there are no results? Or is that only returned for :one
queries? We might have to revisit some of our queries.
Is each tarod connected to a separate lnd here?
@Roasbeef I thought sqlc would return ErrNoRows if there are no results? Or is that only returned for :one queries? We might have to revisit some of our queries.
Yeah that was my understanding as well. Looking at the logs, it looks like we did get the error (sql: no rows in result set
) but didn't catch it properly?
The section in question: https://github.com/lightninglabs/taro/blob/main/tarodb/assets_store.go#L1571-L1579
First step would be a simple test to see what it returns if there's no output at all. There's an assumption here that for a given conf event, we already have an asset transfer entry on disk. Possible that's violated if something else fails upstream.
Based on the sqlc and sql package docs, I think @guggero is right, that error will only be passed for queries tagged with :one
. So we should probably be length checking results from queries with :many
.
@jharveyb good eye!
Hi @Roasbeef @guggero ,
is this a non-standard configuration on my end or is this an actual issue and I should wait for a fix please ?
I keep getting this error repeatedly after making a certain number of mintings and transactions
It's an issue that needs to be fixed. Did you create your assets with the --enable_emission
flag? If so, you can start over (delete the .taro
directory) and re-create your assets without the flag, then I think you shouldn't run into this one (which seems to be a follow-up error anyway).
Hi @guggero
I have used --enable_emission=false .
I tried deleting the .taro directory but the error keeps reoccurring after a certain number of mintings / transactions .
I will try again without selecting the flag
Also thanks a lot for developing this. Sadly I am not a Go coder. I will try to be as helpful as I can.
Yeah, the guide on that part was wrong, the --enable_emission=false
notation doesn't actually work. So just omitting the flag completely should fix things (after deleting the data directory and of course restarting the Taro daemon).
hmm... I keep getting the issue even when sending taro to myself repeatedly.
Removing the --enable_emission=false
flag did not help.
To confirm, is this one tarod
running where you mint and then send to the same tarod
? Or two separate instances?
It looks like this is on testnet - are you waiting for a new block before trying the send, or doing it immediately after the minting? If you are not waiting for a new block, could you try that and see if the issue still appears?
@jharveyb yes I confirm I am running only 1 tarod.
I am testing one idea I have. Minting currencies, creating invoices and paying them myself.
After I do this a few times this error occurs.
I am not using --enable_emission
anywhere. I am using all arguments with =
.
@jharveyb
Let me try waiting for a new block between minting and sending
I was running tarod for a long time - about 1 day creating about 3 transactions and minting a currency.
I randomly got this error when trying to pay a taro invoice.
when I try to restart tarod I get the error:
I can se the following proofs: