Need some help with failed assertions

  • From: Konstantin Olkhovskiy <lupus@xxxxxxxxxx>
  • To: luajit <luajit@xxxxxxxxxxxxx>
  • Date: Thu, 14 Nov 2013 12:25:19 +0400

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

Other related posts: