-
Type: Build Failure
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
Signature:
[2021/08/11 05:26:37.489] cursor_order: fixed-length columns [2021/08/11 05:26:37.489] ../src/reconcile/rec_col.c:330:27: runtime error: null pointer passed as argument 2, which is declared to never be null [2021/08/11 05:26:37.489] /usr/include/string.h:43:28: note: nonnull attribute specified here [2021/08/11 05:26:37.489] #0 0x7fe938856b42 in __wt_rec_col_fix /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/reconcile/rec_col.c:330:5 [2021/08/11 05:26:37.489] #1 0x7fe9388abd10 in __reconcile /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/reconcile/rec_write.c:179:19 [2021/08/11 05:26:37.489] #2 0x7fe9388aa2bb in __wt_reconcile /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/reconcile/rec_write.c:99:11 [2021/08/11 05:26:37.489] #3 0x7fe938707dd1 in __evict_review /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/evict/evict_page.c:744:9 [2021/08/11 05:26:37.489] #4 0x7fe938700ad8 in __wt_evict /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/evict/evict_page.c:159:5 [2021/08/11 05:26:37.489] #5 0x7fe9386dc360 in __evict_page /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/evict/evict_lru.c:2301:5 [2021/08/11 05:26:37.489] #6 0x7fe9386d413b in __evict_lru_pages /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/evict/evict_lru.c:1129:20 [2021/08/11 05:26:37.489] #7 0x7fe9386e076e in __evict_pass /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/evict/evict_lru.c:731:13 [2021/08/11 05:26:37.489] #8 0x7fe9386d38a4 in __evict_server /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/evict/evict_lru.c:388:5 [2021/08/11 05:26:37.489] #9 0x7fe9386d31b1 in __wt_evict_thread_run /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/evict/evict_lru.c:297:15 [2021/08/11 05:26:37.489] #10 0x7fe9389ee88c in __thread_run /data/mci/363037b12357e18d11f32c4cb85a9706/wiredtiger/build_posix/../src/support/thread_group.c:31:9 [2021/08/11 05:26:37.489] #11 0x7fe9374d86da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da) [2021/08/11 05:26:37.489] #12 0x7fe936c4b71e in clone /build/glibc-S9d2JN/glibc-2.27/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95 [2021/08/11 05:26:37.489] FAIL smoke.sh (exit status: 1)
make-check-test failed on ! Ubuntu 18.04 UBSAN
Host: ec2-34-236-148-113.compute-1.amazonaws.com
Project: WiredTiger (develop)
Commit: diff: WT-7928 VLCS checkpoint and additional test suite improvements (#6870)
- Another fix for column stores, plus some tidyup.
There was a missing call to __wt_txn_update_check on one branch of
__wt_col_modify. This allowed e.g. removal of values from the past
without causing a conflict and rollback, which creates an extra
inconsistent tombstone that provokes an assertion failure during
reconciliation.
Accompanying tidyup, mostly from Keith Bostic:
- rename __wt_txn_update_check to __wt_txn_modify_check, for accuracy;
- unify the __wt_col/row_modify error paths to rectify some things that
were missed/mishandled in the column code; - in __wt_col/row_modify lay down more comments and improve existing
comments.
- Add new Python test that explicitly exercises the bug.
To see the problem you need a value multiple generations in the past.
(The issue was originally found by test_checkpoint, and this test was
only written after it had been understood and fixed.)
- Fixes and improvements to the C tests.
- Fix test/checkpoint to not try to rewind time while the database is
running. That doesn't work.
- In test/checkpoint close a race between worker threads sampling the
time to choose the commit timestamp, and actually committing, by not
unlocking the clock_lock until after commit. Otherwise occasionally
the clock thread increments the stable timestamp in this window and
things go south.
- The latter also fixes a problem where transactions can apparently
commit out of order, resulting in assertions about invalid time
windows while handling the history store. I'm not sure if that's
expected (that is, without this change the test is wrong) or if it
reflects an actual problem that this change masks.
(To reproduce it reliably, one can revert the clock_lock change and
then also change the worker thread call to __wt_random_init_seed to
just __wt_random_init; this makes every thread use the same random
seed, so they pound on the same keys at once and readily conflict
with one another.)
- Re-enable disabled test_checkpoint cases and add some more for
columns.
- Add column-store (both fixed and variable) cases in make check for
test/cursor_order.
- Re-enable columns in test/csuite/random_abort; they work now.
- Add column-store cases to more of the Python tests.
- Fix whitespace via s_all. (oops)
- Fix comment, per request.
- Don't use 'int' and 'string' (as opposed to 'column') as scenario names.
Change these all to use 'integer-row', 'string-row', and use 'column'
rather than 'col'.
(most of this change was in a previous ticket; this lot got missed then
because it was sitting on a different git branch at the time) | 11 Aug 21 04:43 UTC
Evergreen Subscription: ; Evergreen Event:
- duplicates
-
WT-7928 VLCS checkpoint and additional test suite improvements
- Closed