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

tarantool / tarantool / 28530874247

01 Jul 2026 04:02PM UTC coverage: 87.711% (+0.004%) from 87.707%
28530874247

push

github

locker
box: use fake txn_stmt in space_before_replace

The test box-luatest/gh_8027_txn_handle_abort_in_trigger_test.lua fails
with an assertion failure:

```
./src/box/tuple.h:1508: tuple_unref: Assertion `tuple->local_refs >= 1' failed.
```

This happens because a before_replace trigger callback yields with
disabled memtx MVCC, which causes the transaction manager to rollback
the current statement in txn_on_yield screwing our assumptions about
stmt->new_tuple reference counting in space_before_replace.

We could take another reference to stmt->new_tuple to avoid that,
but modifying txn_current_stmt before it's initialized, as we do in
space_before_replace, looks unsafe so instead let's allocate a fake
statement on stack so as not to mess with the transaction manager
internals.

Closes #12779

NO_DOC=bug fix
NO_TEST=caught by existing tests

70857 of 119050 branches covered (59.52%)

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

465 existing lines in 20 files now uncovered.

106408 of 121316 relevant lines covered (87.71%)

1362323.19 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

92.34
/src/box/lua/misc.cc


Source Not Available

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