A texture that loaded earlier is marked missing after a 403 on its re-fetch (white HUD) #1435
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#1435
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?
A texture that had already loaded once was marked missing (drawn white) after a re-fetch answered 403.
What happened
On the first run of a new build the specialised shader pipelines compile in the background. On this machine that compile pushed the viewer's RSS to 10 GB with 2.3 GB of system memory free, and
LLViewerTexture::updateClasslogged "Low system memory detected, emergency downrezzing off screen textures". When the compile finished the viewer re-requested the dropped textures. Two HUD textures gotHttp_403 Forbiddenfrom the asset CDN on that re-fetch,LLTextureFetchWorker::doWorkaborted them with "fail harder", andLLViewerFetchedTexture::setIsMissingAssetmarked them missing. The HUD, which had looked fine until then, drew those faces white for the rest of the session.(same for a second texture in the same second)
What should happen
A texture the viewer fetched successfully earlier in the session is known to exist. One 403 from the CDN on a re-fetch should not turn it permanently white: retry through the region's GetTexture capability (or after a delay), and only mark an asset missing when it has never been fetched.
Also worth a look