ordinals / ord

👁‍🗨 Rare and exotic sats
https://ordinals.com
Creative Commons Zero v1.0 Universal
3.85k stars 1.38k forks source link

thread '<unnamed>' panicked at 'assertion failed: offset + len <= self.len()' #2092

Closed theoryspace closed 1 year ago

theoryspace commented 1 year ago

It has been a whole week for me wrestling with ord, and never have I been able to index ord fully. It always crashes at some point. ord version 0.5.2 bitcoin-core 24.0.1 - fully synced and txindex=1 macOS 11.7.6 (Big Sur) on MacBook Air M1

I start with the index downloaded from https://45.128.27.75/torrent/index.redb-without-sats-788000-0.5.2.gz.torrent It crashed with the following error at 788061/790146 Upon restart, the index.redb is already corrupt beyond repair and I have to start all over again. Isn't redb supposed to be crash-safe and has savepoints and rollbacks?

thread '' panicked at 'assertion failed: offset + len <= self.len()', /Users/username/.cargo/registry/src/github.com-1ecc6299db9ec823/redb-0.13.0/src/tree_store/page_store/mmap.rs:212:9
stack backtrace:
0: rust_begin_unwind
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
1: core::panicking::panic_fmt
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
2: core::panicking::panic
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:114:5
3: ::write
4: redb::tree_store::page_store::page_manager::TransactionalMemory::allocate
5: redb::tree_store::btree_base::LeafBuilder::build
6: redb::tree_store::btree_mutator::MutateHelper<K,V>::delete_helper
7: redb::tree_store::btree_mutator::MutateHelper<K,V>::delete_helper
8: redb::tree_store::btree_mutator::MutateHelper<K,V>::delete_helper
9: redb::tree_store::btree_mutator::MutateHelper<K,V>::delete_helper
10: redb::tree_store::btree_mutator::MutateHelper<K,V>::delete_helper
11: redb::tree_store::btree_mutator::MutateHelper<K,V>::delete
12: redb::tree_store::btree::BtreeMut<K,V>::remove
13: ord::index::updater::inscription_updater::InscriptionUpdater::index_transaction_inscriptions
14: ord::index::updater::Updater::update_index
15: ord::index::updater::Updater::update
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.

tsua0002 commented 1 year ago

Hello same issue at indexing block 790165/790315.

Need to find a solution :)

tsua0002 commented 1 year ago

Hello same issue at indexing block 790165/790315.

Need to find a solution :)

exactly my error is thread 'main' panicked at 'range end index 4116 out of range for slice of length 4096'

With MacOS Venture 13.x Last ord version 0.5.2

lgalabru commented 1 year ago

Can't you create a DB from scratch?

theoryspace commented 1 year ago

Can't you create a DB from scratch?

Yeah, that's what I'm doing. I'm letting ord index from scratch. It's been 24 hours and I'm only at 768186/790290. The rate is about 28 blocks per hour. It will take me another 32 days to fully index....

lgalabru commented 1 year ago

In 32 days, we'll have 4000 new blocks that your indexer will have to process, so another 30 days. I'm working on chainhook, powering https://ordinals.hiro.so. Depending on your use case, you could use it as a replacement of ord.

raphjaph commented 1 year ago

We've made some improvements since May, but you still need an SSD or better. If you still have problems please reopen this issue. Just trying to get an overview of things so closing much.