NethermindEth / juno

Starknet client implementation.
https://juno.nethermind.io
Apache License 2.0
371 stars 157 forks source link

Error in synching when pebble compression is `Zstd` #1842

Closed ashu26jha closed 1 month ago

ashu26jha commented 2 months ago

Getting Failed storing Block on block 21, sepolia network while synching the network when Zstd compression is enabled.

01:17:19.554 26/04/2024 +05:30  WARN    sync/sync.go:210    Failed storing Block    
{"number": 21, "hash": "0x656c...20d1", "err": "pebble/table: decompressed into unexpected buffer:
0x14001994000 != 0x14fb04620", 
"errVerbose": "pebble/table: decompressed into unexpected buffer: 0x14001994000 != 0x14fb04620 
\n (1) forced error mark\n  | \"pebble: corruption\"\n  | github.com/cockroachdb/errors/withstack/*withstack.withStack::\nWraps: (2) attached stack trace\n  -- stack trace:\n  | github.com/cockroachdb/pebble/internal/base.CorruptionErrorf
\n  |\t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/internal/base/error.go:27\n  | 
github.com/cockroachdb/pebble/sstable.decompressInto
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/sstable/compression.go:49\n  | 
github.com/cockroachdb/pebble/sstable.(*Reader).readBlock
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/sstable/reader.go:604
\n  | github.com/cockroachdb/pebble/sstable.(*Reader).readIndex
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/sstable/reader.go:447
\n  | github.com/cockroachdb/pebble/sstable.(*singleLevelIterator).init
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/sstable/reader_iter_single_lvl.go:183
\n  | github.com/cockroachdb/pebble/sstable.(*Reader).newIterWithBlockPropertyFiltersAndContext
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/sstable/reader.go:328
\n  | github.com/cockroachdb/pebble/sstable.(*Reader).NewIterWithBlockPropertyFiltersAndContextEtc
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/sstable/reader.go:284
\n  | github.com/cockroachdb/pebble.(*tableCacheShard).newIters
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/table_cache.go:532
\n  | github.com/cockroachdb/pebble.(*tableCacheContainer).newIters
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/table_cache.go:137
\n  | github.com/cockroachdb/pebble.(*levelIter).loadFile
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/level_iter.go:678
\n  | github.com/cockroachdb/pebble.(*levelIter).SeekPrefixGE
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/level_iter.go:761
\n  | github.com/cockroachdb/pebble.(*getIter).Next
\n  |\t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/get_iter.go:174
\n  | github.com/cockroachdb/pebble.(*getIter).First
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/get_iter.go:65
\n  | github.com/cockroachdb/pebble.(*Iterator).iterFirstWithinBounds
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/iterator.go:2012
\n  | github.com/cockroachdb/pebble.(*Iterator).First
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/iterator.go:1610
\n  | github.com/cockroachdb/pebble.(*DB).getInternal
\n  |\t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/db.go:592
\n  | github.com/cockroachdb/pebble.(*Batch).Get
\n  |\t/Users/ashutoshjha/go/pkg/mod/github.com/cockroachdb/pebble@v1.1.0/batch.go:577
\n  | github.com/NethermindEth/juno/db/pebble.(*Transaction). Get
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/db/pebble/transaction.go:90\n  | github.com/NethermindEth/juno/core.(*State).globalTrie
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/core/state.go:141
\n  | github.com/NethermindEth/juno/core.(*State).storage\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/core/state.go:127
\n  | github.com/NethermindEth/juno/core.(*State).Root\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/core/state.go:92
\n  | github.com/NethermindEth/juno/core.(*State).verifyStateUpdateRoot
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/core/state.go:184
\n  | github.com/NethermindEth/juno/core.(*State).Update
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/core/state.go:200\n  | github.com/NethermindEth/juno/sync.(*Synchronizer).verifierTask.func1.(*Blockchain).Store.1
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/blockchain/blockchain.go:343
\n  | github.com/NethermindEth/juno/db.Update\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/db/db.go:104
\n  | github.com/NethermindEth/juno/db/pebble.(*DB).Update
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/db/pebble/db.go:105\n  | github.com/NethermindEth/juno/blockchain(*Blockchain).Store
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/blockchain/blockchain.go:339
\n  | github.com/NethermindEth/juno/sync.(*Synchronizer).verifierTask.func1
\n  | \t/Users/ashutoshjha/Desktop/Juno-Bench/Zstd/sync/sync.go:202
\n  | github.com/sourcegraph/conc/panics.(*Catcher).Try
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/sourcegraph/conc@v0.3.0/panics/panics.go:23
\n  | github.com/sourcegraph/conc/stream.(*Stream).callbacker
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/sourcegraph/conc@v0.3.0/stream/stream.go:131
\n  | github.com/sourcegraph/conc/panics.(*Catcher).Try
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/sourcegraph/conc@v0.3.0/panics/panics.go:23
\n  | github.com/sourcegraph/conc.(*WaitGroup).Go.func1
\n  | \t/Users/ashutoshjha/go/pkg/mod/github.com/sourcegraph/conc@v0.3.0/waitgroup.go:32\nWraps: 
(3) pebble/table: 
decompressed into unexpected buffer: 0x14001994000 != 0x14fb04620\nError types: (1) *markers.withMark (2) *withstack.withStack (3) *errutil.leafError"}

But when the compression is set to Default Compression it works as expected