Ran
|
Jobs
1
|
Files
479
|
Run time
6min
|
Badge
Embed ▾
README BADGES
|
push
github
vinyl: fix compaction crash on disk read error `vy_slice_stream_next()` clears the return value on failure. This isn't expected by `vy_write_iterator_merge_step()`, which doesn't update the source position in the `vy_wirte_iterator::src_heap` in this case. As a result, an attempt to remove `end_of_key_src` from the heap in `vy_write_iterator_build_history()` may crash as follows: ``` # 1 0x572a2ecc21a6 in crash_collect+256 # 2 0x572a2ecc2be2 in crash_signal_cb+100 # 3 0x7cfef6645320 in __sigaction+80 # 4 0x572a2eab16de in tuple_format+16 # 5 0x572a2eab1a25 in vy_stmt_is_key+24 # 6 0x572a2eab1be8 in vy_stmt_compare+89 # 7 0x572a2eab1e37 in vy_entry_compare+74 # 8 0x572a2eab2913 in heap_less+88 # 9 0x572a2eab21e3 in vy_source_heap_sift_up+255 # 10 0x572a2eab20b9 in vy_source_heap_update_node+54 # 11 0x572a2eab25c1 in vy_source_heap_delete+249 # 12 0x572a2eab4134 in vy_write_iterator_build_history+1497 # 13 0x572a2eab4995 in vy_write_iterator_build_read_views+193 # 14 0x572a2eab4ce6 in vy_write_iterator_next+380 # 15 0x572a2eadd20b in vy_task_write_run+1132 # 16 0x572a2eade6cf in vy_task_compaction_execute+124 # 17 0x572a2eadfa8d in vy_task_f+445 # 18 0x572a2e9ea143 in fiber_cxx_invoke(int (*)(__va_list_tag*), __va_list_tag*)+34 # 19 0x572a2eccee7c in fiber_loop+219 # 20 0x572a2f0aef18 in coro_init+120 ``` Normally, a function shouldn't update the return value on failure so let's fix `vy_slice_stream_next()`. Closes #10555 NO_DOC=bug fix (cherry picked from commit f1144c533)
63035 of 114341 branches covered (55.13%)
4 of 4 new or added lines in 2 files covered. (100.0%)
89 existing lines in 16 files now uncovered.93903 of 109309 relevant lines covered (85.91%)
2449136.2 hits per line
Lines | Coverage | ∆ | File |
---|---|---|---|
1 |
93.33 |
-0.11% | src/lib/core/fiber.c |
1 |
96.26 |
-0.22% | src/box/vy_read_iterator.c |
1 |
92.01 |
0.0% | src/box/vinyl.c |
1 |
96.0 |
-4.0% | src/lib/core/trigger.h |
1 |
95.74 |
-0.53% | src/box/vy_range.c |
1 |
94.52 |
-0.15% | src/box/vy_tx.c |
2 |
87.16 |
-0.13% | src/box/vy_run.c |
2 |
95.18 |
-0.42% | src/lua/fiber.c |
2 |
94.81 |
-0.55% | src/box/tuple.c |
3 |
89.84 |
-0.23% | src/box/applier.cc |
4 |
81.82 |
-12.12% | src/lua/minifio.c |
4 |
86.57 |
-0.15% | src/box/box.cc |
4 |
93.31 |
-1.27% | src/lib/swim/swim_io.c |
5 |
93.61 |
-0.66% | src/box/replication.cc |
15 |
91.61 |
-2.47% | src/box/memtx_space.c |
42 |
84.83 |
-0.36% | src/box/vy_stmt.c |
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
1 | 10958830009.1 | 479 |
85.91 |
GitHub Action Run |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|