-
Notifications
You must be signed in to change notification settings - Fork 3
Closed
Description
Related to #121
How to reproduce:
Build Tarantool:
git clone https://github.com/tarantool/tarantool/
cd tarantool
CFLAGS="-fsanitize=fuzzer-no-link" LDFLAGS="-fsanitize=fuzzer-no-link" CC=clang CXX=clang++ cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_FUZZER=ON -DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_CHECKHOOK=OFF -DLUAJIT_ENABLE_GC64=ON
cmake --build build/ --parallel
cd build
git clone https://github.com/ligurio/luzer
cd luzer
CC=clang-21 CXX=clang++-21 cmake -S . -B build
cmake --build build/ --parallel
cd ..
Run test with Tarantool: LUA_CPATH='./luzer/build/luzer/?.so;;' LUA_PATH='./luzer/?/init.lua;./test/fuzz/lua-tests/src/tests/lapi/?.lua;;' ./src/tarantool -jdump=Tias ./test/fuzz/lua-tests/src/tests/lapi/bitop_bxor_test.lua -runs=100
Output:
WARNING: Coverage symbols are being provided by a library other than libFuzzer. This will result in a broken Lua code coverage and severely impacted native extension code coverage. Symbols are coming from this library: ./src/tarantool
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 1853106423
INFO: A corpus is not provided, starting from an empty corpus
#2 INITED ft: 1 corp: 1/1b exec/s: 0 rss: 65Mb
---- TRACE 105 start lib.lua:40
---- TRACE 105 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76df0e718 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 105 stop -> stitch
---- TRACE 106 start 105/0 lib.lua:41
---- TRACE 106 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76e4d9028 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 106 stop -> stitch
---- TRACE 107 start 106/stitch lib.lua:42
---- TRACE 107 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @54
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @14
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7fa76deb2b80 [0x7fa76deb2c1c]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > p64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @1
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 107 stop -> 105
---- TRACE 108 start 106/0 lib.lua:41
---- TRACE 108 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76ee36d40 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 108 stop -> stitch
---- TRACE 109 start 108/stitch lib.lua:42
---- TRACE 109 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @54
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @14
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7fa76deb2b80 [0x7fa76deb2c1c]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > p64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @1
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 109 stop -> 105
---- TRACE 110 start 108/0 lib.lua:41
---- TRACE 110 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76e5ac160 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 110 stop -> stitch
---- TRACE 111 start 110/stitch lib.lua:42
---- TRACE 111 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @54
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @14
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7fa76deb2b80 [0x7fa76deb2c1c]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > p64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @1
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 111 stop -> 105
---- TRACE 112 start 110/0 lib.lua:41
---- TRACE 112 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76e563130 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 112 stop -> stitch
---- TRACE 113 start 112/stitch lib.lua:42
---- TRACE 113 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @54
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @14
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7fa76deb2b80 [0x7fa76deb2c1c]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > p64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @1
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 113 stop -> 105
---- TRACE 114 start 112/0 lib.lua:41
---- TRACE 114 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76efddb40 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 114 stop -> stitch
---- TRACE 115 start 114/stitch lib.lua:42
---- TRACE 115 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @54
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @14
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7fa76deb2b80 [0x7fa76deb2c1c]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > p64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @1
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 115 stop -> 105
---- TRACE 116 start 114/0 lib.lua:41
---- TRACE 116 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76dfb28c0 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 116 stop -> stitch
---- TRACE 117 start 116/stitch lib.lua:42
---- TRACE 117 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @54
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @14
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7fa76deb2b80 [0x7fa76deb2c1c]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > p64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @1
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 117 stop -> 105
---- TRACE 118 start 116/0 lib.lua:41
---- TRACE 118 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @12
0013 > fun HLOAD 0012
0014 num FLOAD nil #306
0015 > fun EQ 0013 C:7fa76de032f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7fa76e400010 +0x1.586682305ce4p-1028 contpc C:7fa76de032f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 118 stop -> stitch
---- TRACE 119 start 118/stitch lib.lua:42
---- TRACE 119 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @54
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @14
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7fa76deb2b80 [0x7fa76deb2c1c]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > p64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @1
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 119 stop -> 105
#100 DONE ft: 1 corp: 1/1b lim: 4 exec/s: 0 rss: 65Mb
Done 100 runs in 0 second(s)
Run test by LuaJIT: LUA_CPATH='./luzer/build/luzer/?.so;;' LUA_PATH='./luzer/?/init.lua;./test/fuzz/lua-tests/src/tests/lapi/?.lua;;' luajit -jdump=Tias ./test/fuzz/lua-tests/src/tests/lapi/bitop_bxor_test.lua -runs=100
Output:
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 3006938138
INFO: Loaded 1 modules (188 inline 8-bit counters): 188 [0x7f5ed83aa923, 0x7f5ed83aa9df),
INFO: Loaded 1 PC tables (188 PCs): 188 [0x7f5ed83aa9e0,0x7f5ed83ab5a0),
INFO: A corpus is not provided, starting from an empty corpus
#2 INITED cov: 20 ft: 21 corp: 1/1b exec/s: 0 rss: 28Mb
#3 NEW cov: 20 ft: 22 corp: 2/3b lim: 4 exec/s: 0 rss: 28Mb L: 2/2 MS: 1 InsertByte-
#5 NEW cov: 20 ft: 23 corp: 3/6b lim: 4 exec/s: 0 rss: 28Mb L: 3/3 MS: 2 CrossOver-InsertByte-
#12 NEW cov: 20 ft: 24 corp: 4/8b lim: 4 exec/s: 0 rss: 28Mb L: 2/3 MS: 2 InsertByte-ChangeByte-
#33 NEW cov: 20 ft: 25 corp: 5/12b lim: 4 exec/s: 0 rss: 28Mb L: 4/4 MS: 1 CopyPart-
---- TRACE 1 start lib.lua:40
---- TRACE 1 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @9
0013 > fun HLOAD 0012
0014 num FLOAD nil #276
0015 > fun EQ 0013 C:7f5ed83632f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7f5ed8629e98 +0x1.56e4b3fbd0e8p-1028 contpc C:7f5ed83632f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 1 stop -> stitch
---- TRACE 2 start 1/0 lib.lua:41
---- TRACE 2 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @9
0013 > fun HLOAD 0012
0014 num FLOAD nil #276
0015 > fun EQ 0013 C:7f5ed83632f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7f5ed8638ba0 +0x1.56e4b3fbd0e8p-1028 contpc C:7f5ed83632f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 2 stop -> stitch
---- TRACE 3 start 2/stitch lib.lua:42
---- TRACE 3 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @59
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @28
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7f5ed83e7360 [0x7f5ed83e73fc]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > i64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @2
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 3 stop -> 1
---- TRACE 4 start 2/0 lib.lua:41
---- TRACE 4 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @9
0013 > fun HLOAD 0012
0014 num FLOAD nil #276
0015 > fun EQ 0013 C:7f5ed83632f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7f5ed83efcf0 +0x1.56e4b3fbd0e8p-1028 contpc C:7f5ed83632f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 4 stop -> stitch
---- TRACE 5 start 4/stitch lib.lua:42
---- TRACE 5 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @59
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @28
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7f5ed83e7360 [0x7f5ed83e73fc]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > i64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @2
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 5 stop -> 1
---- TRACE 6 start 4/0 lib.lua:41
---- TRACE 6 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @9
0013 > fun HLOAD 0012
0014 num FLOAD nil #276
0015 > fun EQ 0013 C:7f5ed83632f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7f5ed83f1db8 +0x1.56e4b3fbd0e8p-1028 contpc C:7f5ed83632f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 6 stop -> stitch
---- TRACE 7 start 6/stitch lib.lua:42
---- TRACE 7 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @59
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @28
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7f5ed83e7360 [0x7f5ed83e73fc]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > i64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @2
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 7 stop -> 1
<snipped>
---- TRACE 30 start 28/0 lib.lua:41
---- TRACE 30 IR
.... SNAP #0 [ ---- ---- ---- ]
0001 > udt SLOAD #2 T
0002 tab FLOAD 0001 udata.meta
0003 > tab NE 0002 NULL
0004 int FLOAD 0002 tab.hmask
0005 > int EQ 0004 +15
0006 p64 FLOAD 0002 tab.node
0007 > p64 HREFK 0006 "__index" @15
0008 > tab HLOAD 0007
0009 int FLOAD 0008 tab.hmask
0010 > int EQ 0009 +15
0011 p64 FLOAD 0008 tab.node
0012 > p64 HREFK 0011 "consume_number" @9
0013 > fun HLOAD 0012
0014 num FLOAD nil #276
0015 > fun EQ 0013 C:7f5ed83632f0
.... SNAP #1 [ ---- ---- ---- +2.2517998136852e+15 trace: 0x7f5ed8307e90 +0x1.56e4b3fbd0e8p-1028 contpc C:7f5ed83632f0 ftsz|0001 -2.2517998136852e+15 +2.2517998136852e+15 ]
---- TRACE 30 stop -> stitch
---- TRACE 31 start 30/stitch lib.lua:42
---- TRACE 31 IR
.... SNAP #0 [ ---- ---- ]
0001 fun SLOAD #0 R
0002 tab FLOAD 0001 func.env
0003 int FLOAD 0002 tab.hmask
0004 > int EQ 0003 +63
0005 p64 FLOAD 0002 tab.node
0006 > p64 HREFK 0005 "math" @59
0007 > tab HLOAD 0006
0008 int FLOAD 0007 tab.hmask
0009 > int EQ 0008 +31
0010 p64 FLOAD 0007 tab.node
0011 > p64 HREFK 0010 "floor" @28
0012 > fun HLOAD 0011
0013 > num SLOAD #4 T
0014 > fun EQ 0012 math.floor
0015 num FPMATH 0013 floor
0016 > p64 RETF proto: 0x7f5ed83e7360 [0x7f5ed83e73fc]
.... SNAP #1 [ ---- ---- ---- ---- ---- 0015 ]
0017 fun SLOAD #0 R
0018 > i64 UREFO 0017 #1
0019 p64 SUB 0018 0000
0020 > p64 UGT 0019 +48
0021 > tab ULOAD 0018
0022 int FLOAD 0021 tab.hmask
0023 > int EQ 0022 +3
0024 p64 FLOAD 0021 tab.node
0025 > p64 HREFK 0024 "random_number" @2
0026 > fun HLOAD 0025
0027 > udt SLOAD #3 T
0028 > fun EQ 0026 lib.lua:40
.... SNAP #2 [ ---- ---- ---- ---- ---- 0015 lib.lua:40 ftsz|0027 ]
---- TRACE 31 stop -> 1
NEW_FUNC[1/1]: 0x7f5ed8363aa1
#97 NEW cov: 22 ft: 28 corp: 6/14b lim: 4 exec/s: 0 rss: 28Mb L: 2/4 MS: 4 InsertByte-CrossOver-CopyPart-ChangeByte-
#98 NEW cov: 22 ft: 31 corp: 7/18b lim: 4 exec/s: 0 rss: 28Mb L: 4/4 MS: 1 ShuffleBytes-
#100 DONE cov: 22 ft: 31 corp: 7/18b lim: 4 exec/s: 0 rss: 28Mb
Done 100 runs in 0 second(s)
Tarantool: 875b4680a51e07656160fcc48cede2bf00b438b2
LuaJIT: 2.1.1703358377
Metadata
Metadata
Assignees
Labels
No labels