Allocation failures: system RAM exhaustion retries, then drops -- never crash #698
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#698
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?
Policy (owner, 2026-10-12): a failed allocation is never a crash. Default: keep what we have, retry the request a few frames later (space may free up), then drop that asset/request and log the failure (rate-limited, with what failed, size, and the current RAM/VRAM pressure state). Better a missing texture/mesh than a dead viewer -- and when someone says "things aren't loading", the log tells us it's memory pressure.
Scope (system memory)
std::bad_allocin decode/worker jobs (textures, meshes, VK store fill thread, image decode): skip the job, requeue with backoff, give up and log after N tries.LLVolumeout-of-memoryLL_ERRSpaths become failure returns; the mesh repository'soutOfMemorySoftQuit()calls become per-mesh failures (retry later, then drop).bad_allochandled at the frame boundary where feasible.Shipped in 1.3.0 Beta 7 (
fdfaf0bcb8RAM allocation failures are never a crash -- retry / drop / shed;9e60d02afedecode OOM handling). Closing -- reopen or comment if you still see this.