Skip to content

A behavior registry entry that points at no description is found and … - #1333

Merged
noha merged 1 commit into
mainfrom
a-broken-registry-entry-is-found-and-removed
Oct 9, 2026
Merged

noha merged 1 commit into
mainfrom
a-broken-registry-entry-is-found-and-removed

Conversation

@noha

@noha noha commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

…removed

65bba342 had 16 names in the behavior registry with four zero bytes too many, each with an object id shifted by as many (0:68719476736 for 0:16). Every class had its right entry besides, so lookups by name were not affected; the backup, which copies every entry, ended with 'no entry for object at 0:68719476736'.

SoilBackupVisitor>>existsAtPinnedVersion: answers false for an id outside its segment, so such an entry is left out of the copy like any other entry without an object.

SoilTrackingVisitor shows its trackers the behavior registry with the meta segment (#trackBehaviorRegistry:in:). SoilDatabaseConsistencyTracker reports a name whose id lies outside the meta segment or has no record there as a SoilBrokenRegistryEntry - not as SoilObjectIdOutsideSegment, whose repair would raise the segment index to such an id. Its default repair, SoilRemoveRegistryEntry, takes the name out only while it still points nowhere; the checkpoint of the repair writes the registry, as the journal has no entry for taking a name out.

…removed

65bba342 had 16 names in the behavior registry with four zero bytes too many,
each with an object id shifted by as many (0:68719476736 for 0:16). Every class
had its right entry besides, so lookups by name were not affected; the backup,
which copies every entry, ended with 'no entry for object at 0:68719476736'.

SoilBackupVisitor>>existsAtPinnedVersion: answers false for an id outside its
segment, so such an entry is left out of the copy like any other entry without
an object.

SoilTrackingVisitor shows its trackers the behavior registry with the meta
segment (#trackBehaviorRegistry:in:). SoilDatabaseConsistencyTracker reports a
name whose id lies outside the meta segment or has no record there as a
SoilBrokenRegistryEntry - not as SoilObjectIdOutsideSegment, whose repair would
raise the segment index to such an id. Its default repair, SoilRemoveRegistryEntry,
takes the name out only while it still points nowhere; the checkpoint of the
repair writes the registry, as the journal has no entry for taking a name out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noha
noha requested a review from MarcusDenker October 9, 2026 12:17
@noha
noha merged commit b4f2694 into main Oct 9, 2026
5 checks passed
@noha
noha deleted the a-broken-registry-entry-is-found-and-removed branch October 10, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant