Re: New valgrind error in latest LuaJIT v2.1 on i386

  • From: "Yichun Zhang (agentzh)" <agentzh@xxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Wed, 5 Mar 2014 15:42:00 -0800

Hello!

On Wed, Mar 5, 2014 at 3:24 PM, Yichun Zhang (agentzh) wrote:
> My test cluster running on Amazon EC2 caught the following valgrind
> error in the latest LuaJIT v2.1 while running my tests on Amazon Linux
> i686:
>
>     ==13746== Invalid read of size 1
>     ==13746== at 0x40A0707: lj_asm_trace (lj_asm.c:1481)

Forgot to mention that I also got an "invalid write" error from
Valgrind in the same run:

==13746== Invalid write of size 1
==13746== at 0x40A068D: lj_asm_trace (lj_asm.c:1483)
==13746== by 0x40A1EAD: trace_state (lj_trace.c:626)
==13746== by 0x4055EF5: lj_vm_cpcall (in
/opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0)
==13746== by 0x40A2D5C: lj_trace_ins (lj_trace.c:658)
==13746== by 0x4062BC6: lj_dispatch_ins (lj_dispatch.c:424)
==13746== by 0x4057562: lj_vm_inshook (in
/opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0)
==13746== by 0x406A615: lua_resume (lj_api.c:1123)
==13746== by 0x47DD34F: ???
==13746== Address 0x47fd78c is 1,292 bytes inside a block of size 2,048 free'd
==13746== at 0x4026FD6: realloc (vg_replace_malloc.c:662)
==13746== by 0x40B1D36: mem_alloc (lib_aux.c:317)
==13746== by 0x4059DC3: lj_mem_realloc (lj_gc.c:808)
==13746== by 0x4074755: lj_ir_growtop (lj_ir.c:77)
==13746== by 0x40747E3: lj_ir_emit (lj_iropt.h:34)
==13746== by 0x40A06E4: lj_asm_trace (lj_asm.c:1478)
==13746== by 0x40A1EAD: trace_state (lj_trace.c:626)
==13746== by 0x4055EF5: lj_vm_cpcall (in
/opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0)
==13746== by 0x40A2D5C: lj_trace_ins (lj_trace.c:658)
==13746== by 0x4062BC6: lj_dispatch_ins (lj_dispatch.c:424)
==13746== by 0x4057562: lj_vm_inshook (in
/opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0)
==13746== by 0x406A615: lua_resume (lj_api.c:1123)
==13746== by 0x47DD34F: ???
==13746==

I haven't seen such errors on x86_64 yet.

Thanks!
-agentzh

Other related posts: