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

mgedmin / zodbbrowser / 986 / 1
100%
master: 100%

Build:
DEFAULT BRANCH: master
Ran 25 Nov 2020 10:00AM UTC
Files 13
Run time 2s
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

25 Nov 2020 09:56AM UTC coverage: 100.0%. Remained the same
986.1

push

travis-ci-com

mgedmin
Fix SIGABRT in BTree code

The way iteration works is, a BTree first defines the iteration range as
a pair (lowbucket, lowindex), (highbucket, highindex), and then follows
the chain of buckets, stopping when it reaches highbucket.

You can iterate by specifying min/max bounds (which needs the binary
tree search to find lowbucket/highbucket) or the entire BTree (the case
we're interested in).

Finding lowbucket is easy: BTree has a reference to firstbucket.

There are two ways of finding highbucket: you can follow the nextbucket
chain from firstbucket until you hit NULL (O(N)), or you can walk
internal tree nodes by picking the rightmost child in each (O(log N)),
which is what the code does.

zodbbrowser was restoring all buckets, but not touching internal tree
nodes, so if you cleared out the tree completely and then tried to look
into an older state, the current OOBTree would have a NULL highbucket,
and we'd trigger this assertion.

Fixes #33.

1414 of 1414 relevant lines covered (100.0%)

1.0 hits per line

Source Files on job 986.1
  • Tree
  • List 0
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 936
  • Travis Job 986.1
  • 3d19993d on github
  • Prev Job for on master (#985.3)
  • Next Job for on master (#987.1)
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