Oops I broke my #gossip client. Anyone know how to fix relay picker error error serdejson error
Discussion
nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c I saw something mentioning this problem on GitHub. But looks like the solution was in bugfixes. This may have happened due to a hard boot in my case
It depends on the precise error. Lots of serde_json errors from bad objects over the network are not a problem. It just means that event is broken and you can't use it. Getting them from your database is a different story. Anyhow I see you rebuilt your db from scratch so I guess we will never know. If it happens again and you have a github account, open an issue at https://github.com/mikedilger/gossip
I did keep a copy of those dotfiles! So if you wanted to try to trouble shoot... I also tried doing gossip rebuild indexes, but it failed due to the relays table being corrupt as far as I could tell
If you were getting MdbErrors then probably the database was corrupted.
I take backups of my database because I often break it as I write new code that doesn't work quite right yet:
tar cvf - lmdb | zstd -c > lmdb.$(date +%Y%m%d).zst
I think so. mdb_dump -s relays ./
mdb.c:5966: Assertion 'IS_LEAF(mp)' failed in mdb_cursor_next()
Aborted (core dumped)
That isn't necessarily an indication of corrupt data. It could be a bug. That comes up, for example, if you delete records from a cursor you are iterating over (which should work but doesn't and IMHO is a deep LMDB bug never corrected because it requires a specific data state that you, congratulations, stumbled upon!). But if you hard booted your machine, it might also be corrupted. I'm not keen to try to restore it to find a bug that might not be there.