|
Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
README BADGES
|
push
github
Prevent loop in snap_usedef(). Reported by XmiliaH. (cherry picked from commit 0e66fc963) It is possible to get an infinite loop in a function `snap_usedef` when a `UCLO` makes a tight loop. This infinite loop could happen when `snap_usedef()` called during trace recording (more precisely, on the creation of the snapshot for the guarded trace check) processes UCLO bytecode instruction, and this instruction attempts a jump back with a negative offset value. The patch fixes the problem by checking a number of slots in a jump argument and replacing this value by `maxslot` if a value is negative, this means that no values will be purged from the snapshot. Sergey Bronnikov: * added the description and the test for the problem Part of tarantool/tarantool#10709 Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit baa75545e)
5695 of 6031 branches covered (94.43%)
Branch coverage included in aggregate %.
21701 of 23432 relevant lines covered (92.61%)
2948729.98 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
96.34 |
-0.05% | src/lj_record.c |
| 2 |
91.98 |
-0.45% | src/luajit.c |
| 2 |
99.16 |
-0.34% | src/lj_gc.c |
| 3 |
94.08 |
0.0% | src/lj_ir.c |
| 10 |
77.8 |
-1.01% | src/lj_api.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 12890351665.1 | 89 |
92.98 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|