• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 14266750274
88%

Build:
DEFAULT BRANCH: master
Ran 04 Apr 2025 01:54PM UTC
Jobs 1
Files 518
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Apr 2025 01:43PM UTC coverage: 87.499% (+0.01%) from 87.486%
14266750274

push

github

sergepetrenko
salad: fix crash on insertion into bps tree with OOM conditions

On insertion into bps tree we first reserve blocks for the case we
need to insert new leaf during rebalancing. Next there can be a free
block on last extent in matras but no more free extents in tuple arena.
So `bps_tree_reserve_blocks()` is able to allocate a block but then
`bps_tree_garbage_push()` is called that touches a block. As there no
free extents touch is failed which is unexpected and causes a crash.

We don't need to touch the block on this path as block is newly allocated
and is not shared with any read view. We don't need to touch block on
other paths too (disposing a leaf or a inner node) because we move data
from this node before so it is already should be touched.

So just don't touch the block in `bps_tree_garbage_push()`.

The issue is introduced in the commit 51c56d9b3319 ("salad: reserve
extents for matras_touch on BPS tree operations") and unlocked in the
commit 32b0678a74ab ("memtx: reserve extents in the RTREE index itself")
where we removed crutches where we heuristically reserve memory for
index operations.

Closes #11326

NO_DOC=bugfix

70162 of 123719 branches covered (56.71%)

1 of 1 new or added line in 1 file covered. (100.0%)

33 existing lines in 12 files now uncovered.

103259 of 118012 relevant lines covered (87.5%)

2909558.4 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
90.93
-0.07% src/box/applier.cc
1
95.89
-0.05% src/box/iproto.cc
1
93.67
0.0% src/box/txn_limbo.c
2
91.38
0.0% src/box/box.cc
2
95.05
-0.62% src/box/raft.c
2
95.45
-4.55% src/lib/json/json.h
3
97.93
-0.22% src/box/memtx_tx.c
3
90.9
-0.31% src/box/vy_scheduler.c
3
94.25
-0.61% src/box/xrow_update_field.c
3
97.36
0.0% src/lib/msgpuck/msgpuck.h
4
93.31
-1.27% src/lib/swim/swim_io.c
8
60.42
-5.56% src/lib/core/fio.c
Jobs
ID Job ID Ran Files Coverage
1 14266750274.1 04 Apr 2025 01:54PM UTC 518
87.5
GitHub Action Run
Source Files on build 14266750274
  • Tree
  • List 518
  • Changed 34
  • Source Changed 0
  • Coverage Changed 34
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 46cc98ba on github
  • Prev Build on master (#14260204629)
  • Next Build on master (#14306123816)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc