Respawning animesh become invisible after a while (suspected slot/skin leak) #222
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#222
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Repro (user report): a sim running a Halloween event where animesh creatures are fought. They're destroyed and continuously respawn (new objects each time). After a while, newly spawned creatures are invisible and stay that way.
Suspect: a leak in a fixed-capacity per-avatar/animesh resource, so that after N spawn/despawn cycles new animesh instances can't get one and silently don't draw. Each respawn is a new object (new UUID, new skeleton), so anything keyed per animesh object that isn't released on kill fills up.
Places to check (fixed caps / per-object allocations):
AV_VIS_SLOTS = 256(clean_cull.comp,av_vis[]); worn-attachmentskin_id= joint-table slot. If animesh skeletons take a slot and don't return it on object death, slot 257+ is never visible.052c866176), flexi pseudo-slots.u_skin_vert_cap/u_work_cap(R_RIGCAPdrops in the cull) if dead animesh still hold ranges.LLCleanRTVK::mRig, keyed by owner): only matters for shadows, not visibility.releaseObjectfor killed animesh?Diagnose: watch counts as creatures respawn (joint-table slots in use, skin store entries,
R_RIGCAP/R_RIGNOSKINcull drop reasons). The point where they turn invisible should line up with one of them hitting its cap. A teleport out and back (or relog) clearing it would confirm a leak rather than a content issue.