-
Notifications
You must be signed in to change notification settings - Fork 403
Open
Labels
Description
Bug description
A clear and concise description of what the bug is.
- OS: Linux
- OS Version: Ubuntu 24.04
- Architecture: amd64
tarantool 58c7b79
Steps to reproduce
./src/tarantool ../test/fuzz/lua/test_engine.lua --workers 800 --test_duration 180 --fault_injection --verbose --seed 1750849859
Actual behavior
<snipped>
2025-06-25 14:11:02.983 [108130] main/477/WRK #360/...test.fuzz.lua.test_engine test_engine.lua:1321 I> INDEX_ALTER_OP [{"unique":true,"parts":[{"fieldno":13,"sort_order":"asc","type":"string","exclude_null":false,"is_nullable":false},{"fieldno":3,"sort_order":"asc","type":"uuid","exclude_null":false,"is_nullable":false}],"options":{"page_size":4096,"run_count_per_level":32,"run_size_ratio":4,"bloom_fpr":0.25,"range_size":4096},"id":0,"space_id":512,"type":"TREE","name":"idx_1"},{"type":"TREE","parts":[{"1":"field_17","is_nullable":false,"exclude_null":false},{"1":"field_3","is_nullable":false,"exclude_null":false},{"1":"field_13","is_nullable":false,"exclude_null":false}],"unique":true,"if_not_exists":false}]
2025-06-25 14:11:02.983 [108130] main/477/WRK #360 index.cc:972 E> OutOfMemory: Failed to allocate 0 bytes in errinj for errinj
tarantool: src/box/memtx_tx.c:1568: void memtx_tx_story_full_unlink_story_gc_step(struct memtx_story *): Assertion `0' failed.
backtrace:
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x0000788bb064527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x0000788bb06288ff in __GI_abort () at ./stdlib/abort.c:79
#5 0x0000788bb062881b in __assert_fail_base (fmt=0x788bb07d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=assertion@entry=0x57a2907e692b "0", file=file@entry=0x57a2907c5a7a "src/box/memtx_tx.c", line=line@entry=1568,
function=function@entry=0x57a2907c6663 "void memtx_tx_story_full_unlink_story_gc_step(struct memtx_story *)")
at ./assert/assert.c:96
#6 0x0000788bb063b517 in __assert_fail (assertion=0x57a2907e692b "0", file=0x57a2907c5a7a "src/box/memtx_tx.c", line=1568,
function=0x57a2907c6663 "void memtx_tx_story_full_unlink_story_gc_step(struct memtx_story *)") at ./assert/assert.c:105
#7 0x000057a28fda91dd in memtx_tx_story_full_unlink_story_gc_step (story=0x788bace180c8)
at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:1568
#8 0x000057a28fda8e1d in memtx_tx_story_gc_step () at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:1685
#9 0x000057a28fda99ce in memtx_tx_story_gc () at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:1696
#10 0x000057a28fdb1556 in memtx_tx_clean_txn (txn=0x788b22395038) at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:3832
#11 0x000057a28ff0b6ea in txn_free (txn=0x788b22395038) at /home/sergeyb/sources/MRG/tarantool/src/box/txn.c:472
#12 0x000057a28ff0fc3d in txn_free_or_wakeup (txn=0x788b22395038) at /home/sergeyb/sources/MRG/tarantool/src/box/txn.c:755
#13 0x000057a28ff0f6af in txn_complete_fail (txn=0x788b22395038) at /home/sergeyb/sources/MRG/tarantool/src/box/txn.c:796
#14 0x000057a28ff1106b in txn_rollback (txn=0x788b22395038) at /home/sergeyb/sources/MRG/tarantool/src/box/txn.c:1253
#15 0x000057a28ff1241b in box_txn_rollback () at /home/sergeyb/sources/MRG/tarantool/src/box/txn.c:1423
#16 0x000057a2900d5e0d in lbox_rollback (L=0x4185b790) at /home/sergeyb/sources/MRG/tarantool/src/box/lua/init.c:544
#17 0x000057a2902552e7 in lj_BC_FUNCC () at /home/sergeyb/sources/MRG/tarantool/build/third_party/luajit/src/lj_vm.S:811
#18 0x000057a290267e77 in lua_pcall (L=0x4185b790, nargs=4, nresults=-1, errfunc=0)
at /home/sergeyb/sources/MRG/tarantool/third_party/luajit/src/lj_api.c:1173
#19 0x000057a2901654ab in luaT_call (L=0x4185b790, nargs=4, nreturns=-1) at /home/sergeyb/sources/MRG/tarantool/src/lua/utils.c:708
#20 0x000057a290154e98 in lua_fiber_run_f (ap=0x788baceabb30) at /home/sergeyb/sources/MRG/tarantool/src/lua/fiber.c:452
#21 0x000057a28fd25f33 in fiber_cxx_invoke (f=0x57a290154d60 <lua_fiber_run_f>, ap=0x788baceabb30)
at /home/sergeyb/sources/MRG/tarantool/src/lib/core/fiber.h:1324
#22 0x000057a2901af36d in fiber_loop (data=0x0) at /home/sergeyb/sources/MRG/tarantool/src/lib/core/fiber.c:1167
#23 0x000057a2907a0e6e in coro_init () at /home/sergeyb/sources/MRG/tarantool/third_party/coro/coro.c:108
(gdb)
(gdb) frame 7
#7 0x000057a28fda91dd in memtx_tx_story_full_unlink_story_gc_step (story=0x788bace180c8)
at /home/sergeyb/sources/MRG/tarantool/src/box/memtx_tx.c:1568
1568 unreachable();
(gdb) list
1563 struct tuple *removed, *unused;
1564 if (index_replace(index, story->tuple, NULL,
1565 DUP_INSERT,
1566 &removed, &unused) != 0) {
1567 diag_log();
1568 unreachable();
1569 panic("failed to rollback change");
1570 }
1571 struct key_def *key_def = index->def->key_def;
1572 assert(story->tuple == removed ||
(gdb) coredump and log file: gh-11602.zip
Expected behavior
Successful rollback.
Reactions are currently unavailable