-
Notifications
You must be signed in to change notification settings - Fork 403
Description
Bug description
- OS: Linux
- OS Version: 22.04
- Architecture: amd64
Tarantool 3.2.0-entrypoint-56-g05d03a1c58
Target: Linux-x86_64-Debug
Build options: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_BACKTRACE=TRUE
Compiler: GNU-11.4.0
C_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -fno-common -msse2 -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIC -fmacro-prefix-map=/home/sergeyb/sources/MRG/tarantool=. -std=c11 -Wall -Wextra -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type -Werror -g -ggdb -O0
CXX_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -fno-common -msse2 -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIC -fmacro-prefix-map=/home/sergeyb/sources/MRG/tarantool=. -std=c++11 -Wall -Wextra -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -Werror -g -ggdb -O0
Steps to reproduce
Actually, there are no exact steps to reproduce.
Actual behavior
[0] ~/sources/snippets/tarantool-tools$ taskset 0xef ./tarantool vinyl.lua --workers 50 --test_duration 10 --engine memtx
Random seed: 1717600491
CLEANUP
SETUP
2024-06-05 18:14:51.984 [821953] main/104/vinyl.lua I> Tarantool 3.2.0-entrypoint-56-g05d03a1c58 Linux-x86_64-Debug
2024-06-05 18:14:51.984 [821953] main/104/vinyl.lua I> log level 5 (INFO)
2024-06-05 18:14:51.984 [821953] main/104/vinyl.lua I> wal/engine cleanup is paused
2024-06-05 18:14:51.984 [821953] main/104/vinyl.lua I> mapping 67108864 bytes for memtx tuple arena...
2024-06-05 18:14:51.984 [821953] main/104/vinyl.lua I> Actual slab_alloc_factor calculated on the basis of desired slab_alloc_factor = 1.044274
2024-06-05 18:14:51.984 [821953] main/104/vinyl.lua I> mapping 16777216 bytes for vinyl tuple arena...
2024-06-05 18:14:51.992 [821953] main/104/vinyl.lua I> update replication_synchro_quorum = 1
2024-06-05 18:14:51.992 [821953] main/104/vinyl.lua I> instance uuid 3e2e8dfb-d376-4a77-b6f9-c1c5a0b1bc9f
2024-06-05 18:14:51.992 [821953] main/104/vinyl.lua I> initializing an empty data directory
2024-06-05 18:14:52.015 [821953] main/104/vinyl.lua I> assigned id 1 to replica 3e2e8dfb-d376-4a77-b6f9-c1c5a0b1bc9f
2024-06-05 18:14:52.015 [821953] main/104/vinyl.lua I> update replication_synchro_quorum = 1
2024-06-05 18:14:52.015 [821953] main/104/vinyl.lua I> replicaset uuid f4a4d016-4cc9-4646-a70c-196a7d00a7ea
2024-06-05 18:14:52.016 [821953] snapshot/101/main I> saving snapshot `./00000000000000000000.snap.inprogress'
2024-06-05 18:14:52.028 [821953] snapshot/101/main I> done
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua I> ready to accept requests
2024-06-05 18:14:52.028 [821953] main/105/gc I> wal/engine cleanup is resumed
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'memtx_memory' configuration option to 1048576
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'vinyl_memory' configuration option to 10485760
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'vinyl_cache' configuration option to 0
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'vinyl_timeout' configuration option to 1
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'vinyl_max_tuple_size' configuration option to 10068
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'checkpoint_count' configuration option to 4
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'checkpoint_wal_threshold' configuration option to 512
2024-06-05 18:14:52.028 [821953] main/104/vinyl.lua/box.load_cfg I> set 'checkpoint_interval' configuration option to 35
2024-06-05 18:14:52.030 [821953] main/104/vinyl.lua/vinyl I> FINISH BOX.CFG
2024-06-05 18:14:52.030 [821953] main/104/vinyl.lua/vinyl I> CREATE A SPACE
2024-06-05 18:14:52.030 [821953] main/104/vinyl.lua/vinyl I> {"format":[{"name":"name_1","type":"string"},{"name":"name_2","type":"boolean"},{"name
":"name_3","type":"integer"},{"name":"name_4","type":"number"},{"name":"name_5","type":"boolean"},{"name":"name_6","type":"number"},{"name":"name_7
","type":"number"},{"name":"name_8","type":"double"}],"if_not_exists":false,"is_local":false,"field_count":0,"engine":"memtx"}
2024-06-05 18:14:52.030 [821953] main/106/checkpoint_daemon I> scheduled next checkpoint for Wed Jun 5 18:15:56 2024
2024-06-05 18:14:52.035 [821953] main I> WAL threshold exceeded, triggering checkpoint
2024-06-05 18:14:52.035 [821953] main/104/vinyl.lua/vinyl I> FINISH SETUP
2024-06-05 18:14:52.050 [821953] main/114/WORKER #1/vinyl I> {"unique":true,"parts":[{"fieldno":1,"sort_order":"asc","type":"string","exclude_null"
:false,"is_nullable":false},{"fieldno":2,"sort_order":"asc","type":"boolean","exclude_null":false,"is_nullable":false},{"fieldno":3,"sort_order":"asc","type":"integer","exclude_null":false,"is_nullable":false},{"fieldno":4,"sort_order":"asc","type":"number","exclude_null":false,"is_nullable":false},{"fieldno":5,"sort_order":"asc","type":"boolean","exclude_null":false,"is_nullable":false},{"fieldno":6,"sort_order":"asc","type":"number","exclude_null":false,"is_nullable":false}],"hint":true,"id":0,"type":"TREE","name":"idx_92","space_id":512}
2024-06-05 18:14:52.050 [821953] main/114/WORKER #1/vinyl I> {"unique":true,"parts":[{"fieldno":1,"sort_order":"asc","type":"string","exclude_null":false,"is_nullable":false},{"fieldno":2,"sort_order":"asc","type":"boolean","exclude_null":false,"is_nullable":false},{"fieldno":3,"sort_order":"asc","type":"integer","exclude_null":false,"is_nullable":false},{"fieldno":4,"sort_order":"asc","type":"number","exclude_null":false,"is_nullable":false},{"fieldno":5,"sort_order":"asc","type":"boolean","exclude_null":false,"is_nullable":false},{"fieldno":6,"sort_order":"asc","type":"number","exclude_null":false,"is_nullable":false}],"hint":true,"id":0,"type":"TREE","name":"idx_92","space_id":512}
<snipped>
2024-06-05 18:14:52.254 [821953] main/124/WORKER #11/vinyl I> ERROR: Duplicate key exists in unique index "idx_92" in space "test_37" with old tuple - ["yyyyyyyyyy", false, 848478597448, 192351534553, false, 710823797960, 764622690689, 6.02163e+11] and new tuple - ["yyyyyyyyyy", false, 848478597448, 192351534553, false, 710823797960, 764622690689, 6.02163e+11]
2024-06-05 18:14:52.254 [821953] main/143/WORKER #30/vinyl I> ["INSERT_OP",[["gggggggggg",false,318668502202,34373894412,false,404617987292,302555819992,846635156854.67]]]
2024-06-05 18:14:52.254 [821953] main/143/WORKER #30/vinyl I> ERROR: Duplicate key exists in unique index "idx_92" in space "test_37" with old tuple - ["gggggggggg", false, 318668502202, 34373894412, false, 404617987292, 302555819992, 8.46635e+11] and new tuple - ["gggggggggg", false, 318668502202, 34373894412, false, 404617987292, 302555819992, 8.46635e+11]
2024-06-05 18:14:52.254 [821953] main/139/WORKER #26/vinyl I> ["REPLACE_OP",[["cccccccccc",false,590816633030,166358963974,false,34256285881,135299257313,273784573347.76]]]
tarantool: ./src/box/memtx_tx.c:1698: memtx_tx_story_find_visible_tuple: Assertion `index < story->index_count' failed.
Aborted (core dumped)
coredump and tarantool binary: gh-10096-core.zip
#3 0x00007ec06a842476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ec06a8287f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ec06a82871b in __assert_fail_base (fmt=0x7ec06a9dd130 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x59f650b7f335 "index < story->index_count", file=0x59f650b7ebbc "./src/box/memtx_tx.c", line=1698, function=<optimized out>)
at ./assert/assert.c:92
#6 0x00007ec06a839e96 in __GI___assert_fail (assertion=0x59f650b7f335 "index < story->index_count", file=0x59f650b7ebbc "./src/box/memtx_tx.c",
line=1698, function=0x59f650b80040 <__PRETTY_FUNCTION__.30> "memtx_tx_story_find_visible_tuple") at ./assert/assert.c:101
#7 0x000059f6504f8831 in memtx_tx_story_find_visible_tuple (story=0x7ec067b08730, tnx=0x7ec067b54038, index=1, is_prepared_ok=true,
visible_tuple=0x7ec04a8807a0, is_own_change=0x7ec04a880793) at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:1698
#8 0x000059f6504f8cc0 in check_dup (stmt=0x7ec067b54290, new_tuple=0x7ec0630245cc, directly_replaced=0x7ec04a880800, old_tuple=0x7ec04a880860,
mode=DUP_REPLACE_OR_INSERT, is_own_change=0x7ec04a88087b) at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:1835
#9 0x000059f6504f9afa in memtx_tx_history_add_insert_stmt (stmt=0x7ec067b54290, old_tuple=0x0, new_tuple=0x7ec0630245cc,
mode=DUP_REPLACE_OR_INSERT, result=0x7ec04a880a78) at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:2012
#10 0x000059f6504fa1bd in memtx_tx_history_add_stmt (stmt=0x7ec067b54290, old_tuple=0x0, new_tuple=0x7ec0630245cc, mode=DUP_REPLACE_OR_INSERT,
result=0x7ec04a880a78) at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:2158
#11 0x000059f65050f7ca in memtx_space_replace_all_keys (space=0x59f652651ed0, old_tuple=0x0, new_tuple=0x7ec0630245cc,
mode=DUP_REPLACE_OR_INSERT, result=0x7ec04a880a78) at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_space.c:328
#12 0x000059f65050fa46 in memtx_space_replace_tuple (space=0x59f652651ed0, stmt=0x7ec067b54290, old_tuple=0x0, new_tuple=0x7ec0630245cc,
mode=DUP_REPLACE_OR_INSERT) at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_space.c:399
#13 0x000059f65050fc29 in memtx_space_execute_replace (space=0x59f652651ed0, txn=0x7ec067b54038, request=0x7ec04a880c40, result=0x7ec04a880bb8)
at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_space.c:445
#14 0x000059f65059abb6 in space_execute_dml (space=0x59f652651ed0, txn=0x7ec067b54038, request=0x7ec04a880c40, result=0x7ec04a880bb8)
at /home/sergeyb/sources/MRG/tarantool/src/box/space.c:1359
#15 0x000059f6505e854a in box_process_rw (request=0x7ec04a880c40, space=0x59f652651ed0, result=0x7ec04a880d40)
at /home/sergeyb/sources/MRG/tarantool/src/box/box.cc:491
#16 0x000059f6505f5447 in box_process1 (request=0x7ec04a880c40, result=0x7ec04a880d40) at /home/sergeyb/sources/MRG/tarantool/src/box/box.cc:3731
#17 0x000059f6505f608d in box_replace (space_id=512, tuple=0x7ec068059240 "\230\252cccccccccc\302", <incomplete sequence \317>,
tuple_end=0x7ec06805927b 'P' <repeats 200 times>..., result=0x7ec04a880d40) at /home/sergeyb/sources/MRG/tarantool/src/box/box.cc:3931
#18 0x000059f6506ffc0a in lbox_replace (L=0x41e3a308) at /home/sergeyb/sources/MRG/tarantool/src/box/lua/index.c:80
#19 0x000059f6507d2cc7 in lj_BC_FUNCC () at buildvm_x86.dasc:811
#20 0x000059f6507e083f in lua_pcall (L=0x41e3a308, nargs=1, nresults=-1, errfunc=0)
at /home/sergeyb/sources/MRG/tarantool/third_party/luajit/src/lj_api.c:1173
#21 0x000059f650745afc in luaT_call (L=0x41e3a308, nargs=1, nreturns=-1) at /home/sergeyb/sources/MRG/tarantool/src/lua/utils.c:687
#22 0x000059f65073bd1c in lua_fiber_run_f (ap=0x7ec068014628) at /home/sergeyb/sources/MRG/tarantool/src/lua/fiber.c:426
#23 0x000059f6504a2147 in fiber_cxx_invoke(fiber_func, typedef __va_list_tag __va_list_tag *) (f=0x59f65073bc5f <lua_fiber_run_f>,
ap=0x7ec068014628) at /home/sergeyb/sources/MRG/tarantool/src/lib/core/fiber.h:1311
#24 0x000059f650774bd1 in fiber_loop (data=0x0) at /home/sergeyb/sources/MRG/tarantool/src/lib/core/fiber.c:1159
#25 0x000059f650b5e0f6 in coro_init () at /home/sergeyb/sources/MRG/tarantool/third_party/coro/coro.c:108
(gdb) Expected behavior
no crash