Description
Bug description
Tarantool crashed with backtrace:
#4 0x000064c034cbf04e in crash_signal_cb (signo=11, siginfo=0x64c05c919f30,
context=0x64c05c919e00) at /home/shiny/dev/tarantool/src/lib/core/crash.c:204
#5 <signal handler called>
#6 0x000064c034a1f428 in NS_USE_HINT::bps_tree_memtx_tree_garbage_push (
tree=0x64c05c9b4f38, block=0x7c5457120200, id=1)
at /home/shiny/dev/tarantool/src/lib/salad/bps_tree.h:3170
#7 0x000064c034a1f6aa in NS_USE_HINT::bps_tree_memtx_tree_reserve_blocks (
tree=0x64c05c9b4f38, count=2)
at /home/shiny/dev/tarantool/src/lib/salad/bps_tree.h:3262
#8 0x000064c034a26b78 in NS_USE_HINT::bps_tree_memtx_tree_insert (t=0x64c05c9b4f38,
new_elem=..., replaced=0x7c5467080890, successor=0x7c54670808a0,
inserted_iterator=0x0, offset=0x0)
at /home/shiny/dev/tarantool/src/lib/salad/bps_tree.h:5825
#9 NS_USE_HINT::memtx_tree_insert (t=0x64c05c9b4f38, new_elem=...,
replaced=0x7c5467080890, successor=0x7c54670808a0)
at /home/shiny/dev/tarantool/src/lib/salad/bps_tree.h:5880
#10 0x000064c034a2a2d0 in memtx_tree_index_replace<true> (base=0x64c05c9b4f00,
old_tuple=0x0, new_tuple=0x7c54560078cc, mode=DUP_INSERT, result=0x7c5467080930,
successor=0x7c5467080948) at /home/shiny/dev/tarantool/src/box/memtx_tree.cc:1521
#11 <
796B
span class="pl-c1">0x000064c034a572aa in index_replace (index=0x64c05c9b4f00, old_tuple=0x0,
new_tuple=0x7c54560078cc, mode=DUP_INSERT, result=0x7c5467080930,
successor=0x7c5467080948) at /home/shiny/dev/tarantool/src/box/index.h:1020
#12 0x000064c034a58cf1 in memtx_space_replace_all_keys (space=0x64c05c9b4b70,
old_tuple=0x0, new_tuple=0x7c54560078cc, mode=DUP_INSERT, result=0x7c54670809c8)
at /home/shiny/dev/tarantool/src/box/memtx_space.c:327
#13 0x000064c034a58f43 in memtx_space_replace_tuple (space=0x64c05c9b4b70,
stmt=0x7c546742d2b0, old_tuple=0x0, new_tuple=0x7c54560078cc, mode=DUP_INSERT)
at /home/shiny/dev/tarantool/src/box/memtx_space.c:389
#14 0x000064c034a59122 in memtx_space_execute_replace (space=0x64c05c9b4b70,
txn=0x7c546742d038, request=0x7c5467080b80, result=0x7c5467080af8)
at /home/shiny/dev/tarantool/src/box/memtx_space.c:435
#15 0x000064c034ae6a9c in space_execute_dml (space=0x64c05c9b4b70,
txn=0x7c546742d038, request=0x7c5467080b80, result=0x7c5467080af8)
at /home/shiny/dev/tarantool/src/box/space.c:1450
$ ./build-dev/src/tarantool --version
Tarantool 3.4.0-entrypoint-216-gdef445684d
Target: Linux-x86_64-Debug
Build options: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_BACKTRACE=TRUE
Compiler: GNU-14.2.1
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/shiny/dev/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/shiny/dev/tarantool=. -std=c++11 -Wall -Wextra -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -Werror -g -ggdb -O0
Steps to reproduce
Repro script:
local fiber = require('fiber')
box.cfg{log_level = 'warn', wal_mode = 'none'}
local s = box.schema.create_space('test')
s:create_index('pk')
s:insert({1})
box.error.injection.set("ERRINJ_INDEX_ALLOC", true)
box.error.injection.set("ERRINJ_SNAP_COMMIT_DELAY", true)
fiber.create(function()
box.snapshot()
end)
s:insert({2})
os.exit()
Same as https://github.com/tarantool/tarantool-ee/issues/1180.