Hi all, I've encountered an assertion with 2.0.2... #0 0x00007ffff7831425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00007ffff7834b8b in __GI_abort () at abort.c:91 #2 0x00007ffff782a0ee in __assert_fail_base (fmt=<optimized out>, assertion=0x7ffff2541db0 "itype2irt(tv) == ((IRType)(((tr)>>24) & IRT_TYPE))", file=0x7ffff254111d "lj_record.c", line=<optimized out>, function=<optimized out>) #3 0x00007ffff782a192 in __GI___assert_fail (assertion=0x7ffff2541db0 "itype2irt(tv) == ((IRType)(((tr)>>24) & IRT_TYPE))", file=0x7ffff254111d "lj_record.c", line=113, function=0x7ffff2542650 "rec_check_slots") at assert.c:103 #4 0x00007ffff2500a32 in rec_check_slots (J=0x40000550) at lj_record.c:113 ref = <optimized out> ir = <optimized out> tr = <optimized out> s = <optimized out> depth = <optimized out> nslots = <optimized out> base = <optimized out> #5 lj_record_ins (J=0x40000550) at lj_record.c:1704 lbase = <optimized out> ix = {tabv = {u64 = 4743593469363794704, n = 1384415953.1671791, {{gcr = {gcptr32 = 3024794384}, i = -1270172912}, it = 1104453920}, fr = {func = {gcptr32 = 3024794384}, tp = {ftsz = 1104453920, pcr = {ptr32 = 1104453920}}}, u32 = {lo = 3024794384, hi = 1104453920}}, keyv = {u64 = 0, n = 0, {{gcr = {gcptr32 = 0}, i = 0}, it = 0}, fr = {func = {gcptr32 = 0}, tp = {ftsz = 0, pcr = {ptr32 = 0}}}, u32 = {lo = 0, hi = 0}}, valv = {u64 = 0, n = 0, {{ gcr = {gcptr32 = 0}, i = 0}, it = 0}, fr = {func = {gcptr32 = 0}, tp = {ftsz = 0, pcr = {ptr32 = 0}}}, u32 = {lo = 0, hi = 0}}, mobjv = {u64 = 0, n = 0, {{gcr = {gcptr32 = 0}, i = 0}, it = 0}, fr = {func = {gcptr32 = 0}, tp = {ftsz = 0, pcr = {ptr32 = 0}}}, u32 = {lo = 0, hi = 0}}, mtv = 0x0, oldv = 0x0, tab = 0, key = 0, val = 0, mt = 0, mobj = 0, idxchain = 0} pc = 0x4000915c ins = <optimized out> op = <optimized out> ra = <optimized out> rb = <optimized out> rc = <optimized out> __PRETTY_FUNCTION__ = "lj_record_ins" #6 0x00007ffff2517fd0 in trace_state (L=0x4014a508, dummy=<optimized out>, ud=0x40000550) at lj_trace.c:589 J = 0x40000550 #7 0x00007ffff24d5c50 in lj_vm_cpcall () from /usr/lib/libluajit-5.1.so.2 No symbol table info available. #8 0x00007ffff25189bf in lj_trace_ins (J=0x40000550, pc=<optimized out>) at lj_trace.c:647 No locals. #9 0x00007ffff24e1514 in lj_dispatch_ins (L=0x4014a508, pc=0x40009160) at lj_dispatch.c:399 delta = <optimized out> J = 0x40000550 olderr = 11 fn = <optimized out> pt = <optimized out> __PRETTY_FUNCTION__ = "lj_dispatch_ins" cf = <optimized out> oldpc = <optimized out> g = 0x400003b8 slots = 40 #10 0x00007ffff24d72d7 in lj_vm_inshook () from /usr/lib/libluajit-5.1.so.2 No symbol table info available. #11 0x00007ffff24e6393 in lua_pcall (L=0x4014a508, nargs=<optimized out>, nresults=0, errfunc=<optimized out>) at lj_api.c:1052 g = 0x400003b8 oldh = 0 '\000' ef = <optimized out> status = <optimized out> __PRETTY_FUNCTION__ = "lua_pcall" With latest v2.1 branch i get another assertion: #0 0x00007ffff7831425 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00007ffff7834b8b in __GI_abort () at abort.c:91 #2 0x00007ffff782a0ee in __assert_fail_base (fmt=<optimized out>, assertion=0x7ffff253dc30 "!((((frame)->fr.tp.ftsz) & 3) == FRAME_C)", file=0x7ffff253d9ec "lj_snap.c", line=<optimized out>, function=<optimized out>) at assert.c:94 #3 0x00007ffff782a192 in __GI___assert_fail (assertion=0x7ffff253dc30 "!((((frame)->fr.tp.ftsz) & 3) == FRAME_C)", file=0x7ffff253d9ec "lj_snap.c", line=114, function=0x7ffff253e030 "snapshot_framelinks") at assert.c:103 #4 0x00007ffff24f7d9d in snapshot_framelinks (map=<optimized out>, J=0x40000550) at lj_snap.c:114 frame = <optimized out> lim = <optimized out> ftop = <optimized out> f = <optimized out> #5 snapshot_stack (nsnapmap=16, snap=0x401561b8, J=0x40000550) at lj_snap.c:133 nslots = 19 p = <optimized out> #6 lj_snap_add (J=0x40000550) at lj_snap.c:162 nsnap = <optimized out> nsnapmap = 16 #7 0x00007ffff24fdb01 in lj_record_ins (J=0x40000550) at lj_record.c:1687 lbase = <optimized out> ix = {tabv = {u64 = 4743593474790856231, n = 1384417247.0794771, {{gcr = {gcptr32 = 4156888615}, i = -138078681}, it = 1104453921}, fr = {func = {gcptr32 = 4156888615}, tp = {ftsz = 1104453921, pcr = {ptr32 = 1104453921}}}, u32 = {lo = 4156888615, hi = 1104453921}}, keyv = {u64 = 0, n = 0, {{gcr = {gcptr32 = 0}, i = 0}, it = 0}, fr = {func = {gcptr32 = 0}, tp = {ftsz = 0, pcr = {ptr32 = 0}}}, u32 = {lo = 0, hi = 0}}, valv = {u64 = 0, n = 0, {{ gcr = {gcptr32 = 0}, i = 0}, it = 0}, fr = {func = {gcptr32 = 0}, tp = {ftsz = 0, pcr = {ptr32 = 0}}}, u32 = {lo = 0, hi = 0}}, mobjv = {u64 = 0, n = 0, {{gcr = {gcptr32 = 0}, i = 0}, it = 0}, fr = {func = {gcptr32 = 0}, tp = {ftsz = 0, pcr = {ptr32 = 0}}}, u32 = {lo = 0, hi = 0}}, mtv = 0x0, oldv = 0x0, tab = 0, key = 0, val = 0, mt = 0, mobj = 0, idxchain = 0} pc = <optimized out> ins = <optimized out> op = <optimized out> ra = <optimized out> rb = <optimized out> rc = <optimized out> __PRETTY_FUNCTION__ = "lj_record_ins" #8 0x00007ffff2514fd0 in trace_state (L=0x4014a5a8, dummy=<optimized out>, ud=0x40000550) at lj_trace.c:589 J = 0x40000550 #9 0x00007ffff24d2c50 in lj_vm_cpcall () from /usr/lib/libluajit-5.1.so.2 No symbol table info available. #10 0x00007ffff25159bf in lj_trace_ins (J=0x40000550, pc=<optimized out>) at lj_trace.c:647 No locals. #11 0x00007ffff24de514 in lj_dispatch_ins (L=0x4014a5a8, pc=0x40009160) at lj_dispatch.c:399 delta = <optimized out> J = 0x40000550 olderr = 11 fn = <optimized out> pt = <optimized out> __PRETTY_FUNCTION__ = "lj_dispatch_ins" cf = <optimized out> oldpc = <optimized out> g = 0x400003b8 slots = 40 #12 0x00007ffff24d42d7 in lj_vm_inshook () from /usr/lib/libluajit-5.1.so.2 No symbol table info available. #13 0x00007ffff24e3393 in lua_pcall (L=0x4014a5a8, nargs=<optimized out>, nresults=0, errfunc=<optimized out>) at lj_api.c:1052 g = 0x400003b8 oldh = 0 '\000' ef = <optimized out> status = <optimized out> __PRETTY_FUNCTION__ = "lua_pcall" #14 0x00007ffff7bc4af5 in fiber_trampoline (fctx=0x7ffff7dd9108, arg=0x0) Can someone please hint on what I'm doing wrong? Valgrind does not show memory corruption. Thanks! -- Regards, Konstantin