-
Notifications
You must be signed in to change notification settings - Fork 403
Labels
3.2Target is 3.2 and all newer release/master branchesTarget is 3.2 and all newer release/master branchesbugSomething isn't workingSomething isn't workingcrashreplication
Description
Tarantool version: 3.5.0-entrypoint-132-g8c7cfb1cd0
Reproduce files
i.lua (same as in #11703 except fiber.new(box.ctl.promote)):
#!/usr/bin/env tarantool
local fio = require('fio')
local fiber = require('fiber')
local port = tonumber(arg[1])
assert(port ~= nil, port)
fio.mkdir(port)
if port == 3301 then
fiber.new(function()
fiber.sleep(2)
box.ctl.make_bootstrap_leader({graceful = true})
while box.info.status ~= 'running' do
fiber.sleep(0.001)
end
fiber.new(box.ctl.promote)
box.ctl.promote()
box.cfg({read_only = false})
box.ctl.wait_rw()
box.schema.user.grant('guest', 'super')
end)
end
box.cfg({
read_only = true,
work_dir = tostring(port),
listen = port,
replication = {3301, 3302, 3303},
election_mode = 'manual',
bootstrap_strategy = 'supervised',
})Procfile (same as in #11703):
i-3301: ./src/tarantool i.lua 3301
i-3302: ./src/tarantool i.lua 3302
i-3303: ./src/tarantool i.lua 3303Reproduce steps
$ rm -r 3301 3302 3303
$ honcho start
<..wait for gh-11703 crash..>
$ honcho startResult
tarantool: ./src/lua/error.c:123: luaT_error_at: Assertion `e != NULL' failed.
The stacktrace:
(gdb) bt
#0 0x00007ffff5015e6c in __pthread_kill_implementation () from /lib64/libc.so.6
#1 0x00007ffff4fc7612 in raise () from /lib64/libc.so.6
#2 0x00007ffff4fb04ed in abort () from /lib64/libc.so.6
#3 0x00007ffff4fb0415 in __assert_fail_base.cold () from /lib64/libc.so.6
#4 0x00007ffff4fc0192 in __assert_fail () from /lib64/libc.so.6
#5 0x0000555555853147 in luaT_error_at (L=0x402fca88, level=1) at /home/alex/p/tarantool-meta/tarantool/src/lua/error.c:123
#6 0x00005555558531c6 in luaT_error (L=0x402fca88) at /home/alex/p/tarantool-meta/tarantool/src/lua/error.c:135
#7 0x0000555555812083 in lbox_ctl_promote (L=0x402fca88) at /home/alex/p/tarantool-meta/tarantool/src/box/lua/ctl.c:106
#8 0x00005555558e1cf7 in lj_BC_FUNCC () at buildvm_x86.dasc:811
#9 0x00005555558ef6e3 in lua_pcall (L=0x402fca88, nargs=0, nresults=-1, errfunc=0) at /home/alex/p/tarantool-meta/tarantool/third_party/luajit/src/lj_api.c:1173
#10 0x000055555584d1f3 in luaT_call (L=0x402fca88, nargs=0, nreturns=-1) at /home/alex/p/tarantool-meta/tarantool/src/lua/utils.c:708
#11 0x00005555558421c7 in lua_fiber_run_f (ap=0x7ffff4410a30) at /home/alex/p/tarantool-meta/tarantool/src/lua/fiber.c:452
#12 0x0000555555593434 in fiber_cxx_invoke(fiber_func, typedef __va_list_tag __va_list_tag *) (f=0x55555584210e <lua_fiber_run_f>, ap=0x7ffff4410a30) at /home/alex/p/tarantool-meta/tarantool/src/lib/core/fiber.h:1324
#13 0x000055555587e017 in fiber_loop (data=0x0) at /home/alex/p/tarantool-meta/tarantool/src/lib/core/fiber.c:1167
#14 0x0000555555bd3568 in coro_init () at /home/alex/p/tarantool-meta/tarantool/third_party/coro/coro.c:108The relevant code:
Lines 102 to 108 in 8de5bae
| static int | |
| lbox_ctl_promote(struct lua_State *L) | |
| { | |
| if (box_promote() != 0) | |
| return luaT_error(L); | |
| return 0; | |
| } |
Lines 132 to 136 in 8de5bae
| int | |
| luaT_error(lua_State *L) | |
| { | |
| return luaT_error_at(L, 1); | |
| } |
Lines 119 to 130 in 8de5bae
| int | |
| luaT_error_at(lua_State *L, int level) | |
| { | |
| struct error *e = diag_last_error(&fiber()->diag); | |
| assert(e != NULL); | |
| if (level > 0) | |
| luaT_error_set_trace(L, level, e); | |
| luaT_pusherror(L, e); | |
| lua_error(L); | |
| unreachable(); | |
| return 0; | |
| } |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.2Target is 3.2 and all newer release/master branchesTarget is 3.2 and all newer release/master branchesbugSomething isn't workingSomething isn't workingcrashreplication