Cached linkset children never load when the root arrives late (animesh missing teeth/mane/tail until re-TP) #533

Closed
opened 2026-10-08 04:45:05 +00:00 by sky_line · 1 comment
Owner

Symptom: at Baltimare an animesh pony came in with its teeth, mane and tail missing. Edit > Links showed only 2 links (the body and an invisible click prim), so those prims never became objects in the viewer. This isn't a download or render problem. A teleport away and back loaded it correctly.

Linkset shape (confirmed by the owner): the root is an invisible box. The body, teeth, mane and tail are its children.

Cache state: not full. The object cache has 62/128 region slots in use (202 MB), and Baltimare's region files (objects_812/813_1153) exist from earlier visits. The owner has seen this pony render correctly in Slipstream before, so it was almost certainly cached.

Hypothesis: children were loaded from the cache (or arrived) before the root. They were parked as orphans or children waiting for their parent. When the root loaded late, the hand-off to its children never ran, so they stayed parked until the region reloaded. Our #528 object-cache fix touched this area.

Plan:

  1. Diagnostic: about 30 s after a region load, and periodically after that, log children that are still parked waiting for a parent that exists, and cache-probed ids that never became objects. Include region, ids, parent id and which path parked them.
  2. Fix the hand-off so a late root always adopts its parked cached children. Optionally, as a last resort, re-request missing children; that is a read-only request.
**Symptom:** at Baltimare an animesh pony came in with its teeth, mane and tail missing. Edit > Links showed only 2 links (the body and an invisible click prim), so those prims never became objects in the viewer. This isn't a download or render problem. A teleport away and back loaded it correctly. **Linkset shape (confirmed by the owner):** the root is an invisible box. The body, teeth, mane and tail are its children. **Cache state:** not full. The object cache has 62/128 region slots in use (202 MB), and Baltimare's region files (objects_812/813_1153) exist from earlier visits. The owner has seen this pony render correctly in Slipstream before, so it was almost certainly cached. **Hypothesis:** children were loaded from the cache (or arrived) before the root. They were parked as orphans or children waiting for their parent. When the root loaded late, the hand-off to its children never ran, so they stayed parked until the region reloaded. Our #528 object-cache fix touched this area. **Plan:** 1. Diagnostic: about 30 s after a region load, and periodically after that, log children that are still parked waiting for a parent that exists, and cache-probed ids that never became objects. Include region, ids, parent id and which path parked them. 2. Fix the hand-off so a late root always adopts its parked cached children. Optionally, as a last resort, re-request missing children; that is a read-only request.
sky_line added this to the Slipstream project 2026-10-08 04:45:05 +00:00
Author
Owner

Shipped in a published release and tested; closing (testing-lane sweep 2026-10-11).

Shipped in a published release and tested; closing (testing-lane sweep 2026-10-11).
sky_line 2026-10-11 13:25:09 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#533
No description provided.