Details
Description
This is similar to MB-14414 in that compaction has just occurred resulting in partially initialized dbfile.
During e2e test e2e_async_manual_compact_test a call to fdb_set_kv causes segfault:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fc4edb01cf8 in fdb_kvs_set_seqnum (file=0x117f97850, id=3, seqnum=1) at /home/tmcafee/src/forestdb/src/kv_instance.cc:932
932 node->seqnum = seqnum;
(gdb) bt
#0 0x00007fc4edb01cf8 in fdb_kvs_set_seqnum (file=0x117f97850, id=3, seqnum=1) at /home/tmcafee/src/forestdb/src/kv_instance.cc:932
#1 0x00007fc4edae0e89 in fdb_set (handle=0xc44f8e0, doc=0x117f975e0) at /home/tmcafee/src/forestdb/src/forestdb.cc:2989
#2 0x00007fc4edab97af in fdb_set_kv (handle=0xc44f8e0, key=0x7fff27406e10, keylen=127, value=0x7fff27407510, valuelen=4)
at /home/tmcafee/src/forestdb/src/api_wrapper.cc:104
#3 0x0000000000405516 in e2e_fdb_set_person (st=0x18a98650, p=0x7fff27406d90) at /home/tmcafee/src/forestdb/tests/e2e/e2espec.cc:191
#4 0x0000000000402190 in load_persons (st=0x18a98650) at /home/tmcafee/src/forestdb/tests/e2e/e2etest.cc:39
#5 0x00000000004037cc in e2e_async_compact_pattern (n_checkpoints=10, fconfig=..., deletes=false, walflush=true)
at /home/tmcafee/src/forestdb/tests/e2e/e2etest.cc:475
#6 0x0000000000404993 in e2e_async_manual_compact_test () at /home/tmcafee/src/forestdb/tests/e2e/e2etest.cc:765
#7 0x0000000000404c56 in main () at /home/tmcafee/src/forestdb/tests/e2e/e2etest.cc:795
(gdb) print node
$1 = (kvs_node *) 0xffffffffffffff98
dump shows that the latest dbfile is empty:
../../forestdb_dump e2edb_main.10
DB header info:
No header exists.
filesystem shows dbfile was 0 bytes:
rw-rw-r- 1 tmcafee tmcafee 69M Apr 9 20:37 e2edb_main.9
rw-rw-r- 1 tmcafee tmcafee 0 Apr 9 20:37 e2edb_main.10
rw-rw-r- 1 tmcafee tmcafee 2.6M Apr 9 20:37 e2edb_main
Attachments
For Gerrit Dashboard: MB-14415 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
49498,1 | MB-14415 Switch to new file after it becomes complete | sherlock | forestdb | Status: MERGED | +2 | +1 |
49503,1 | Merge remote-tracking branch 'origin/sherlock' | master | forestdb | Status: MERGED | +2 | +1 |
49796,1 | MB-14415 Postpone renaming of in-place compacted file if old file exists | sherlock | forestdb | Status: MERGED | +2 | +1 |
49819,1 | Merge remote-tracking branch 'origin/sherlock' | master | forestdb | Status: MERGED | +2 | +1 |