diff --git a/ci/test/03_test_script.sh b/ci/test/03_test_script.sh index 9f844a26a41..8d1a739df39 100755 --- a/ci/test/03_test_script.sh +++ b/ci/test/03_test_script.sh @@ -44,32 +44,6 @@ echo "=== BEGIN env ===" env echo "=== END env ===" -# Don't apply patches in the iwyu job, because it relies on the `git diff` -# command to detect IWYU errors. It is safe to skip this patch in the iwyu job -# because it doesn't run a UB detector. -if [[ "${RUN_IWYU}" != true ]]; then - # compact->outputs[i].file_size is uninitialized memory, so reading it is UB. - # The statistic bytes_written is only used for logging, which is disabled in - # CI, so as a temporary minimal fix to work around UB and CI failures, leave - # bytes_written unmodified. - # See https://github.com/bitcoin/bitcoin/pull/28359#issuecomment-1698694748 - # Tee patch to stdout to make it clear CI is testing modified code. - tee >(patch -p1) <<'EOF' ---- a/src/leveldb/db/db_impl.cc -+++ b/src/leveldb/db/db_impl.cc -@@ -1028,9 +1028,6 @@ Status DBImpl::DoCompactionWork(CompactionState* compact) { - stats.bytes_read += compact->compaction->input(which, i)->file_size; - } - } -- for (size_t i = 0; i < compact->outputs.size(); i++) { -- stats.bytes_written += compact->outputs[i].file_size; -- } - - mutex_.Lock(); - stats_[compact->compaction->level() + 1].Add(stats); -EOF -fi - if [ "$RUN_FUZZ_TESTS" = "true" ]; then export DIR_FUZZ_IN=${DIR_QA_ASSETS}/fuzz_corpora/ if [ ! -d "$DIR_FUZZ_IN" ]; then diff --git a/src/leveldb/db/db_impl.cc b/src/leveldb/db/db_impl.cc index 65e31724bce..10f523257c1 100644 --- a/src/leveldb/db/db_impl.cc +++ b/src/leveldb/db/db_impl.cc @@ -803,6 +803,7 @@ Status DBImpl::OpenCompactionOutputFile(CompactionState* compact) { pending_outputs_.insert(file_number); CompactionState::Output out; out.number = file_number; + out.file_size = 0; out.smallest.Clear(); out.largest.Clear(); compact->outputs.push_back(out);