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

orioledb / orioledb / 22276537352
90%

Build:
DEFAULT BRANCH: main
Ran 22 Feb 2026 01:21PM UTC
Jobs 1
Files 92
Run time 1min
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

22 Feb 2026 11:47AM UTC coverage: 89.959% (+0.05%) from 89.909%
22276537352

push

github

akorotkov
Fix undo stack corruption in group insert with autonomous transactions

add_new_undo_stack_item_to_process() used lockerState->localXid % PROC_XID_ARRAY_SIZE
to index into the target process's undoStackLocations array. However, localXid was
never initialized (always zero from shared memory), while GET_CUR_UNDO_STACK_LOCATIONS()
uses autonomousNestingLevel as the index. When the waiter process was inside an
autonomous transaction (autonomousNestingLevel > 0), the undo stack item was written
to slot 0 instead of the correct slot, corrupting the non-autonomous undo stack.

This led to a rare assertion failure in set_my_reserved_location():
  Assert(!UndoLocationIsValid(GET_CUR_UNDO_STACK_LOCATIONS(undoType)->location))
The orphaned undo item in slot 0 remained after the autonomous transaction finished
and autonomousNestingLevel returned to 0, while free_retained_undo_location() had
already cleared transactionUndoRetainLocation.

Fix by replacing the uninitialized localXid field with autonomousNestingLevel in
OPageWaiterShmemState, initializing it when the process queues as a page waiter,
and passing it directly to add_new_undo_stack_item_to_process().

44645 of 49628 relevant lines covered (89.96%)

65801705.84 hits per line

Coverage Regressions

Lines Coverage ∆ File
23
93.43
0.2% orioledb/src/transam/undo.c
15
96.93
0.01% orioledb/src/btree/page_state.c
4
89.64
-0.32% orioledb/src/btree/find.c
2
86.11
0.0% orioledb/src/btree/io.c
2
95.76
-0.22% orioledb/src/btree/scan.c
1
71.11
0.49% orioledb/src/btree/fastpath.c
1
84.0
-2.0% orioledb/src/checkpoint/control.c
1
88.77
-0.12% orioledb/src/transam/oxid.c
Jobs
ID Job ID Ran Files Coverage
1 22276537352.1 22 Feb 2026 01:21PM UTC 92
89.96
GitHub Action Run
Source Files on build 22276537352
  • Tree
  • List 92
  • Changed 19
  • Source Changed 4
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22276537352
  • 49438475 on github
  • Prev Build on main (#22276320539)
  • Next Build on main (#22353101531)
  • Delete
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