We are seeing problems with SDL syncing very old wallets , something like
ERROR::Error with get_address_txids runtime Status { code: Internal, message: "Unexpected compression flag: 60" }
The wallet this happened on had only zaddrs with funds, no taddrs. It seems that get_address_txids should only be called if a taddr with funds is found. My guess is that currently it's called unconditionally. If we only call it when it's actually needed, it may fix this bug.
It's not clear exactly which repo the code change needs to happen in, it could the SDL or lightwalletd, but it's likely this repo.
We are seeing problems with SDL syncing very old wallets , something like
```
ERROR::Error with get_address_txids runtime Status { code: Internal, message: "Unexpected compression flag: 60" }
```
The wallet this happened on had only zaddrs with funds, no taddrs. It seems that `get_address_txids` should only be called if a taddr with funds is found. My guess is that currently it's called unconditionally. If we only call it when it's actually needed, it may fix this bug.
It's not clear exactly which repo the code change needs to happen in, it could the SDL or lightwalletd, but it's likely this repo.
ERROR::Error with get_address_txids runtime tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError("dns error", Custom { kind: Other, error: "failed to lookup address information: Name or service not known" })))
The important thing about this bug is the client has a stable internet connection and the node operator has its node and lightwalletd to be fully operational. It was tested with multiple lite servers run by various node operators.
Even more important is that it doesn't crash on start but it fetches blocks normally for a few hours (see attached files), then returns errors mentioned above for unknown reasons - the node is up and lightwalletd didn't crash.
OS
Kernel
Qt
SDL
Branch
Debian 12
6.1.0-13-amd64
5.15.8
v1.5.3
master
This hush/SilentDragonLite#119 is related and would be a useful feature when done, though it won't fix the root problem.
Start height is 540001. All attempts (4) to restore a wallet with a very old birthday returned either of these errors:
```
ERROR::Error with get_address_txids runtime Status { code: Internal, message: "Unexpected compression flag: 60" }
```
```
ERROR::Error with get_address_txids runtime tonic::transport::Error(Transport, hyper::Error(Connect, Custom { kind: UnexpectedEof, error: "tls handshake eof" }))
```
```
ERROR::Error with get_address_txids runtime tonic::transport::Error(Transport, hyper::Error(Connect, ConnectError("dns error", Custom { kind: Other, error: "failed to lookup address information: Name or service not known" })))
```
The important thing about this bug is the client has a stable internet connection and the node operator has its node and lightwalletd to be fully operational. It was tested with multiple lite servers run by various node operators.
Even more important is that it doesn't crash on start but it fetches blocks normally for a few hours (see attached files), then returns errors mentioned above for unknown reasons - the node is up and lightwalletd didn't crash.
| OS | Kernel | Qt | SDL | Branch |
| --------- | -------------- | ------ | ------ | ------ |
| Debian 12 | 6.1.0-13-amd64 | 5.15.8 | v1.5.3 | master |
This https://git.hush.is/hush/SilentDragonLite/issues/119 is related and would be a useful feature when done, though it won't fix the root problem.
Unsure if this is related, but if I leave SDL open & idle on my computer, then I get that lovely "Unexpected compression flag: 60" error message randomly, but when I hit ok it appears to be functioning fine.
Unsure if this is related, but if I leave SDL open & idle on my computer, then I get that lovely `"Unexpected compression flag: 60"` error message randomly, but when I hit ok it appears to be functioning fine.
We have a catch-22. The wallet must call get_address_txids to see if a taddress has funds, it doesn't know this information beforehand. So we can't avoid calling this for taddrs with no funds, the wallet doesn't know which taddrs have funds until it knows which transactions involve that taddr.
The errors that mention `Error with get_address_txids runtime` are generated from lib/src/grpcconnector.rs line 210 in silentdragonlite-cli here : https://git.hush.is/hush/silentdragonlite-cli/src/branch/master/lib/src/grpcconnector.rs#L210
We have a catch-22. The wallet must call get_address_txids to see if a taddress has funds, it doesn't know this information beforehand. So we can't avoid calling this for taddrs with no funds, the wallet doesn't know which taddrs have funds until it knows which transactions involve that taddr.
We can't avoid calling get_address_txids so I think this issue is not necessary anymore. We have made a lot of progress on the compression flag bug recently and we have other issues to track that. Closing
We can't avoid calling `get_address_txids` so I think this issue is not necessary anymore. We have made a lot of progress on the compression flag bug recently and we have other issues to track that. Closing
We are seeing problems with SDL syncing very old wallets , something like
The wallet this happened on had only zaddrs with funds, no taddrs. It seems that
get_address_txids
should only be called if a taddr with funds is found. My guess is that currently it's called unconditionally. If we only call it when it's actually needed, it may fix this bug.It's not clear exactly which repo the code change needs to happen in, it could the SDL or lightwalletd, but it's likely this repo.
Start height is 540001. All attempts (4) to restore a wallet with a very old birthday returned either of these errors:
The important thing about this bug is the client has a stable internet connection and the node operator has its node and lightwalletd to be fully operational. It was tested with multiple lite servers run by various node operators.
Even more important is that it doesn't crash on start but it fetches blocks normally for a few hours (see attached files), then returns errors mentioned above for unknown reasons - the node is up and lightwalletd didn't crash.
This hush/SilentDragonLite#119 is related and would be a useful feature when done, though it won't fix the root problem.
Unsure if this is related, but if I leave SDL open & idle on my computer, then I get that lovely
"Unexpected compression flag: 60"
error message randomly, but when I hit ok it appears to be functioning fine.@onryo @jahway603 thanks for the extra details. I haven't seen the
"tls handshake eof"
error before. I am still researching thisThe errors that mention
Error with get_address_txids runtime
are generated from lib/src/grpcconnector.rs line 210 in silentdragonlite-cli here : https://git.hush.is/hush/silentdragonlite-cli/src/branch/master/lib/src/grpcconnector.rs#L210We have a catch-22. The wallet must call get_address_txids to see if a taddress has funds, it doesn't know this information beforehand. So we can't avoid calling this for taddrs with no funds, the wallet doesn't know which taddrs have funds until it knows which transactions involve that taddr.
We can't avoid calling
get_address_txids
so I think this issue is not necessary anymore. We have made a lot of progress on the compression flag bug recently and we have other issues to track that. Closing