|
Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
README BADGES
|
push
github
Handle all stack layouts in (delayed) TRACE vmevent. Thanks to Sergey Bronnikov and Peter Cawley. (cherry picked from commit b138ccfa9) When recording a trace using a Lua code like `repeat until `a >= 'b' > 'b'` a Lua error is encountered (`attempt to compare string with nil`), which (along with raising the error) causes an asynchronous trace abort. The trace abort remains pending until the call of `lua_pcall(L, 2, 0, 0)` that actually calls `jit.attach(trace_cb, nil)`. On handling abort LuaJIT is searching for the topmost Lua frame on the stack, that was active when the trace abort happened, it is needed to generate a better error message. Unfortunately, because the abort was due to an error, and the error was caught by a `lua_pcall` with unspecified error function (4th argument), the Lua frame that caused the abort was already removed as part of error processing, so the search cannot find it. Furthermore, in this particular case, there are no Lua frames on the stack, which isn't something the search code had considered possible. lj_ccallback_leave Sergey Bronnikov: * added the description and the test for the problem Part of tarantool/tarantool#9145
5694 of 6032 branches covered (94.4%)
Branch coverage included in aggregate %.
21703 of 23429 relevant lines covered (92.63%)
2943647.9 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 5 |
78.58 |
-0.16% | src/lj_opt_fold.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 13013659592.1 | 89 |
92.99 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|