openresty / openresty/luajit2

Valgrind errors on ppc64le with gcc and clang builds

Open
#83 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
1.4k
Forks
252
Avg merge
7d 11h
Merged PRs (30d)
3

Description

I am trying to build Luajit on ppc64le. I had used the ppc64le supported code. The code is building without issues.
But I am seeing few failures when Valgrind is enabled with gcc or clang compiler.
I am sharing the test suit run here (removed the few test cases output which are passed to minimize log).
I checked the code but I could not notice the susceptible code line which could be causing memory leak. However I had fixed one error related to unfinalized variable.
Please have a look and let me know suggestions or if it could be ok to live with these errors? Note that I had not seen these errors on AMD build.

Build commands (same as Travis build using valgrind with gcc/clang)

export JOBS=3
export LUAJIT_PREFIX=/opt/luajit21
export LUAJIT_SYSM_PREFIX=/opt/luajit21-sysm
export LUAJIT_COMMON_XCFLAGS="-DLUA_USE_APICHECK -DLUA_USE_ASSERT -DLUAJIT_NUMMODE=2 -O1"
export LUAJIT_XCFLAGS="-DLUAJIT_USE_VALGRIND -DLUAJIT_USE_SYSMALLOC -DLUAJIT_ENABLE_LUA52COMPAT $LUAJIT_COMMON_XCFLAGS"
export LUA52=1
export FLAGS=-v
export TRAVIS_COMPILER=gcc
export CC=${CC:-gcc}
export CC_FOR_BUILD=${CC_FOR_BUILD:-gcc}
gcc --version
make -j$JOBS CCDEBUG=-g Q= PREFIX=$LUAJIT_PREFIX CC=$CC XCFLAGS="$LUAJIT_XCFLAGS" VERBOSE=1
make install PREFIX=$LUAJIT_PREFIX

Test case execution log -

./run-tests $FLAGS $LUAJIT_PREFIX
=== test/ffi/ffi_arith_ptr.lua
=== test/ffi/ffi_convert.lua
==558== Invalid read of size 4
==558== at 0x1003B234: lj_cconv_ct_tv (lj_cconv.c:628)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Address 0x4457840 is 2,848 bytes inside a block of size 4,096 free'd
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001FB0B: lj_ctype_intern (lj_ctype.c:198)
==558== by 0x1003ACA7: lj_cconv_ct_tv (lj_cconv.c:562)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Block was alloc'd at
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001F953: lj_ctype_new (lj_ctype.c:167)
==558== by 0x10042A6B: cp_struct_name (lj_cparse.c:1204)
==558== by 0x10043823: cp_decl_enum (lj_cparse.c:1408)
==558== by 0x10043823: cp_decl_spec (lj_cparse.c:1504)
==558== by 0x1004497F: cp_decl_multi (lj_cparse.c:1802)
==558== by 0x10044E2F: cpcparser (lj_cparse.c:1878)
==558== by 0x1002A25B: lj_vm_cpcall (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10044F03: lj_cparse (lj_cparse.c:1891)
==558== by 0x10023763: lj_cf_ffi_cdef (lib_ffi.c:487)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558==
{
<insert_a_suppression_name_here>
Memcheck:Addr4
fun:lj_cconv_ct_tv
fun:lj_cdata_set
fun:lj_cf_ffi_meta___newindex
fun:lj_BC_FUNCC
fun:lua_pcall
fun:docall
fun:handle_script
fun:pmain
fun:lj_BC_FUNCC
fun:lua_cpcall
fun:main
}
==558== Invalid read of size 4
==558== at 0x10038F34: lj_cconv_ct_ct (lj_cconv.c:121)
==558== by 0x1003B2A3: lj_cconv_ct_tv (lj_cconv.c:629)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Address 0x4457844 is 2,852 bytes inside a block of size 4,096 free'd
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001FB0B: lj_ctype_intern (lj_ctype.c:198)
==558== by 0x1003ACA7: lj_cconv_ct_tv (lj_cconv.c:562)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Block was alloc'd at
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001F953: lj_ctype_new (lj_ctype.c:167)
==558== by 0x10042A6B: cp_struct_name (lj_cparse.c:1204)
==558== by 0x10043823: cp_decl_enum (lj_cparse.c:1408)
==558== by 0x10043823: cp_decl_spec (lj_cparse.c:1504)
==558== by 0x1004497F: cp_decl_multi (lj_cparse.c:1802)
==558== by 0x10044E2F: cpcparser (lj_cparse.c:1878)
==558== by 0x1002A25B: lj_vm_cpcall (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10044F03: lj_cparse (lj_cparse.c:1891)
==558== by 0x10023763: lj_cf_ffi_cdef (lib_ffi.c:487)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558==
{
<insert_a_suppression_name_here>
Memcheck:Addr4
fun:lj_cconv_ct_ct
fun:lj_cconv_ct_tv
fun:lj_cdata_set
fun:lj_cf_ffi_meta___newindex
fun:lj_BC_FUNCC
fun:lua_pcall
fun:docall
fun:handle_script
fun:pmain
fun:lj_BC_FUNCC
fun:lua_cpcall
fun:main
}
==558== Invalid read of size 4
==558== at 0x10038F3C: lj_cconv_ct_ct (lj_cconv.c:122)
==558== by 0x1003B2A3: lj_cconv_ct_tv (lj_cconv.c:629)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Address 0x4457840 is 2,848 bytes inside a block of size 4,096 free'd
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001FB0B: lj_ctype_intern (lj_ctype.c:198)
==558== by 0x1003ACA7: lj_cconv_ct_tv (lj_cconv.c:562)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Block was alloc'd at
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001F953: lj_ctype_new (lj_ctype.c:167)
==558== by 0x10042A6B: cp_struct_name (lj_cparse.c:1204)
==558== by 0x10043823: cp_decl_enum (lj_cparse.c:1408)
==558== by 0x10043823: cp_decl_spec (lj_cparse.c:1504)
==558== by 0x1004497F: cp_decl_multi (lj_cparse.c:1802)
==558== by 0x10044E2F: cpcparser (lj_cparse.c:1878)
==558== by 0x1002A25B: lj_vm_cpcall (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10044F03: lj_cparse (lj_cparse.c:1891)
==558== by 0x10023763: lj_cf_ffi_cdef (lib_ffi.c:487)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558==
{
<insert_a_suppression_name_here>
Memcheck:Addr4
fun:lj_cconv_ct_ct
fun:lj_cconv_ct_tv
fun:lj_cdata_set
fun:lj_cf_ffi_meta___newindex
fun:lj_BC_FUNCC
fun:lua_pcall
fun:docall
fun:handle_script
fun:pmain
fun:lj_BC_FUNCC
fun:lua_cpcall
fun:main
}
==558== Invalid read of size 4
==558== at 0x10038B70: ctype_child (lj_ctype.h:411)
==558== by 0x10038B70: cconv_childqual (lj_cconv.c:60)
==558== by 0x10038DAB: lj_cconv_compatptr (lj_cconv.c:80)
==558== by 0x10039AE7: lj_cconv_ct_ct (lj_cconv.c:338)
==558== by 0x1003B2A3: lj_cconv_ct_tv (lj_cconv.c:629)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Address 0x4457840 is 2,848 bytes inside a block of size 4,096 free'd
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001FB0B: lj_ctype_intern (lj_ctype.c:198)
==558== by 0x1003ACA7: lj_cconv_ct_tv (lj_cconv.c:562)
==558== by 0x10038B27: lj_cdata_set (lj_cdata.c:296)
==558== by 0x10026C0B: lj_cf_ffi_meta___newindex (lib_ffi.c:178)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558== Block was alloc'd at
==558== at 0x408712C: realloc (vg_replace_malloc.c:836)
==558== by 0x1002261F: mem_alloc (lib_aux.c:336)
==558== by 0x1002E3A3: lj_mem_realloc (lj_gc.c:818)
==558== by 0x1002E597: lj_mem_grow (lj_gc.c:850)
==558== by 0x1001F953: lj_ctype_new (lj_ctype.c:167)
==558== by 0x10042A6B: cp_struct_name (lj_cparse.c:1204)
==558== by 0x10043823: cp_decl_enum (lj_cparse.c:1408)
==558== by 0x10043823: cp_decl_spec (lj_cparse.c:1504)
==558== by 0x1004497F: cp_decl_multi (lj_cparse.c:1802)
==558== by 0x10044E2F: cpcparser (lj_cparse.c:1878)
==558== by 0x1002A25B: lj_vm_cpcall (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10044F03: lj_cparse (lj_cparse.c:1891)
==558== by 0x10023763: lj_cf_ffi_cdef (lib_ffi.c:487)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==558== by 0x1000422F: docall (luajit.c:121)
==558== by 0x100059B7: handle_script (luajit.c:292)
==558== by 0x100059B7: pmain (luajit.c:553)
==558== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==558== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==558== by 0x10005B4B: main (luajit.c:582)
==558==
{
<insert_a_suppression_name_here>
Memcheck:Addr4
fun:ctype_child
fun:cconv_childqual
fun:lj_cconv_compatptr
fun:lj_cconv_ct_ct
fun:lj_cconv_ct_tv
fun:lj_cdata_set
fun:lj_cf_ffi_meta___newindex
fun:lj_BC_FUNCC
fun:lua_pcall
fun:docall
fun:handle_script
fun:pmain
fun:lj_BC_FUNCC
fun:lua_cpcall
fun:main
}
Failed test when running valgrind --gen-suppressions=all --error-exitcode=2 --num-callers=100 --leak-check=full --show-possibly-lost=no --suppressions=/usr/LuaJIT_2_BUILD/luajit2-test-suite/valgrind.suppress -q /opt/luajit21/bin/luajit-2.1.0-beta3 ffi_convert.lua 1: 512
=== test/ffi/ffi_copy_fill.lua
=== test/ffi/ffi_enum.lua
=== test/ffi/ffi_err.lua
==561== Invalid read of size 4
==561== at 0x1002A290: lj_cont_dispatch (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==561== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==561== by 0x1000422F: docall (luajit.c:121)
==561== by 0x100059B7: handle_script (luajit.c:292)
==561== by 0x100059B7: pmain (luajit.c:553)
==561== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==561== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==561== by 0x10005B4B: main (luajit.c:582)
==561== Address 0x4428840 is 0 bytes after a block of size 16 alloc'd
==561== at 0x4084168: malloc (vg_replace_malloc.c:308)
==561== by 0x408709F: realloc (vg_replace_malloc.c:836)
==561== by 0x1002261F: mem_alloc (lib_aux.c:336)
==561== by 0x1002E4A7: lj_mem_newgco (lj_gc.c:831)
==561== by 0x1003F04B: lj_cdata_new (lj_cdata.h:45)
==561== by 0x1003F04B: lj_clib_index (lj_clib.c:384)
==561== by 0x1002584B: ffi_clib_index (lib_ffi.c:370)
==561== by 0x10025A6B: lj_cf_ffi_clib___index (lib_ffi.c:375)
==561== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==561== by 0x10014E5B: lua_pcall (lj_api.c:1129)
==561== by 0x1000422F: docall (luajit.c:121)
==561== by 0x100059B7: handle_script (luajit.c:292)
==561== by 0x100059B7: pmain (luajit.c:553)
==561== by 0x10029AFF: lj_BC_FUNCC (in /opt/luajit21/bin/luajit-2.1.0-beta3)
==561== by 0x10014F17: lua_cpcall (lj_api.c:1153)
==561== by 0x10005B4B: main (luajit.c:582)
==561==
{
<insert_a_suppression_name_here>
Memcheck:Addr4
fun:lj_cont_dispatch
fun:lj_BC_FUNCC
fun:docall
fun:handle_script
fun:pmain
fun:lj_BC_FUNCC
fun:lua_cpcall
fun:main
}
Failed test when running valgrind --gen-suppressions=all --error-exitcode=2 --num-callers=100 --leak-check=full --show-possibly-lost=no --suppressions=/usr/LuaJIT_2_BUILD/luajit2-test-suite/valgrind.suppress -q /opt/luajit21/bin/luajit-2.1.0-beta3 ffi_err.lua 1: 512
=== test/ffi/ffi_gcstep_recursive.lua
=== test/ffi/unsink_64_kptr.lua
=== test/misc/ack.lua
Ack(3,1): 13
=== test/misc/ack_notail.lua
Ack(3,1): 13
=== test/misc/alias_alloc.lua
=== test/misc/table_chain_bug_LuaJIT_494.lua
/opt/luajit21/bin/luajit-2.1.0-beta3: table_chain_bug_LuaJIT_494.lua:130: 3
stack traceback:
[C]: in function 'assert'
table_chain_bug_LuaJIT_494.lua:130: in main chunk
[C]: at 0x10004fcc
Failed test when running valgrind --gen-suppressions=all --error-exitcode=2 --num-callers=100 --leak-check=full --show-possibly-lost=no --suppressions=/usr/LuaJIT_2_BUILD/luajit2-test-suite/valgrind.suppress -q /opt/luajit21/bin/luajit-2.1.0-beta3 table_chain_bug_LuaJIT_494.lua 1: 256
=== test/misc/table_insert.lua
=== test/misc/table_misc.lua
=== test/misc/table_remove.lua
=== test/misc/tak.lua
2
=== test/misc/tcall_base.lua
=== test/unportable/math_special.lua
3 tests failed.
bash-4.2#

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failures with the listed gcc or clang build commands on ppc64le, then run-tests with Valgrind and start from the reported paths in lj_cconv.c, lj_cdata.c, lj_ctype.c, lj_gc.c, and lib_ffi.c. Trace the freed ctype allocation through the reported call stacks; done means the affected tests no longer report invalid reads or the issue documents a confirmed benign result.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
devtools, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.