Skip to content

LevelDB corruption on macOS Big Sur beta #19410

@Sjors

Description

@Sjors

For more problems with macOS Big Sur (beta) see #19406.

I first ran the binary release v0.20.0 and it synced at least a few dozen blocks without issue (around height 604,000).

Depends built with: make NO_ZMQ=1 DEBUG=1 NO_QT=1 NO_WALLET=1
Configured with: ./configure --enable-debug --enable-werror --prefix=/Users/sjors/dev/bitcoin/depends/x86_64-apple-darwin20.0.0

On an existing node, bitcoind crashes at different heights, and often for different ldb files. Example log:

src/bitcoind -debug=leveldb

2020-06-29T12:12:52Z UpdateTip: new best=000000000000000000106cbbe535af482a10094e546425de969cc83d42c1ab54 height=604383 version=0x3fffe000 log2_work=91.348713 tx=475833455 date='2019-11-18T16:43:29Z' progress=0.877056 cache=29.6MiB(216045txo)
2020-06-29T12:12:52Z leveldb: Generated table #707286@3: 36594 keys, 2171204 bytes
2020-06-29T12:12:52Z Pre-allocating up to position 0x4000000 in blk01868.dat
2020-06-29T12:12:52Z leveldb: Generated table #707287@3: 36898 keys, 2171437 bytes
2020-06-29T12:12:52Z leveldb: Generated table #707288@3: 35879 keys, 2170291 bytes
2020-06-29T12:12:52Z leveldb: Generated table #707289@3: 36289 keys, 2170993 bytes
2020-06-29T12:12:52Z leveldb: Generated table #707290@3: 36425 keys, 2171307 bytes
2020-06-29T12:12:52Z leveldb: Generated table #707291@3: 36176 keys, 2170300 bytes
2020-06-29T12:12:52Z leveldb: Generated table #707292@3: 37432 keys, 2172172 bytes
2020-06-29T12:12:52Z leveldb: Generated table #707293@3: 13346 keys, 818093 bytes
2020-06-29T12:12:52Z leveldb: Compacted 1@3 + 12@4 files => 22528033 bytes
2020-06-29T12:12:53Z leveldb: compacted to: files[ 0 0 3 167 1703 0 0 ]
2020-06-29T12:12:53Z leveldb: Delete type=2 #704114
2020-06-29T12:12:53Z leveldb: Delete type=2 #704115
2020-06-29T12:12:53Z leveldb: Delete type=2 #705541
2020-06-29T12:12:53Z leveldb: Delete type=2 #705542
2020-06-29T12:12:53Z leveldb: Delete type=2 #704112
2020-06-29T12:12:53Z leveldb: Delete type=2 #704113
2020-06-29T12:12:53Z leveldb: Delete type=2 #705543
2020-06-29T12:12:53Z leveldb: Delete type=2 #703169
2020-06-29T12:12:53Z leveldb: Delete type=2 #703172
2020-06-29T12:12:53Z leveldb: Delete type=2 #703173
2020-06-29T12:12:53Z leveldb: Delete type=2 #703171
2020-06-29T12:12:53Z leveldb: Delete type=2 #703170
2020-06-29T12:12:53Z leveldb: Delete type=2 #705749
2020-06-29T12:12:53Z leveldb: Compacting 1@3 + 10@4 files
2020-06-29T12:12:53Z LevelDB read failure: Corruption: block checksum mismatch: /Users/sjors/Library/Application Support/Bitcoin/chainstate/705763.ldb
2020-06-29T12:12:53Z Fatal LevelDB error: Corruption: block checksum mismatch: /Users/sjors/Library/Application Support/Bitcoin/chainstate/705763.ldb
2020-06-29T12:12:53Z You can use -debug=leveldb to get more complete diagnostic messages
2020-06-29T12:12:53Z Error: Error reading from database, shutting down.

When building without depends or using the 0.20 release, afterwards, results in the same errors, so most likely those files are actually corrupt.

I'm syncing a node (built with depends) from scratch. So far no crash (height=225,000).

Unless someone else sees this (which could suggest an upgrade issue), I'll close this in a while.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions