Skip to content
This repository has been archived by the owner on Mar 28, 2024. It is now read-only.

[BUG-11331] Lowering Cache Size and relogging results in many corrupted textures #1540

Open
sl-service-account opened this issue Feb 2, 2016 · 1 comment

Comments

@sl-service-account
Copy link

sl-service-account commented Feb 2, 2016

  • Found this bug while poking at BUG-11314

  • Bug reproduces 100% of the time on different computers - Kyle also reproduced it.

  • Bug will reproduce whenever cache size is lowered in viewer preferences and the viewer is relogged without a cache clear.

  • Note that the cache does not need to be lowered right down to 64MB to reproduce this, but I'll use 64MB for the repro below because the results are extreme and easy to see.

    Steps to Reproduce

  • Set cache size to 512MB under Preferences -> Advanced -> Cache Size.

  • Clear Cache and relog.

  • Teleport around a few regions and get texture cache nice & full.

  • Before logging out, teleport to http://maps.secondlife.com/secondlife/TextureTest2/4/128/85

  • Set draw distance to 512m and wait for all the textures to load on the texture test boards.

  • TextureTest2 region is a good region to reproduce the problem on because it is very obvious here when textures are corrupted.

  • Once all the textures have loaded, go to Preferences -> Advanced -> Cache Size.

  • Set Cache Size to 64MB and relog to last location (TextureTest2 region) without clearing cache.

    Observed Behaviour.

  • Many of the previously cached textures on the texture boards will display incorrect textures or will display as rainbow garbage.

  • Fig 1 attached shows how the texture boards looked before logging out.

  • Fig 2 attached shows the texture corruption on the texture boards & terrain texture after cache was lowered & the viewer relogged.

  • Log files will show KDU blowing up constantly.

    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Kakadu Core Error:
    
    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Illegal inclusion tag tree encountered while decoding a packet header.  This problem can arise if empty packets are used (i.e., packets whose first header bit is 0) and the value coded by the inclusion tag tree in a subsequent packet is not exactly equal to the index of the quality layer in which each code-block makes its first contribution.  Such an error may arise from a mis-interpretation of the standard.  The problem may also occur as a result of a corrupted code-stream.  Try re-opening the image with the resilient mode enabled.
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::callbackDecoded: DECODE FAILED: f167e067-3c6c-0dce-e2d0-1c99118725f4 Discard: 2
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::doWork: f167e067-3c6c-0dce-e2d0-1c99118725f4: Decode of cached file failed (removed), retrying
    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Kakadu Core Error:
    
    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Packet header contains a representation which is not strictly illegal, but unreasonably large so that it exceeds the dynamic range available for our internal representation!  The problem is most likely due to a corrupt or incorrectly constructed code-stream.  Try re-opening the image with the resilient mode enabled.
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::callbackDecoded: DECODE FAILED: 0802b7fd-d744-5a75-86c1-c77b21bd9368 Discard: 3
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::doWork: 0802b7fd-d744-5a75-86c1-c77b21bd9368: Decode of cached file failed (removed), retrying
    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Kakadu Core Error:
    
    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Illegal inclusion tag tree encountered while decoding a packet header.  This problem can arise if empty packets are used (i.e., packets whose first header bit is 0) and the value coded by the inclusion tag tree in a subsequent packet is not exactly equal to the index of the quality layer in which each code-block makes its first contribution.  Such an error may arise from a mis-interpretation of the standard.  The problem may also occur as a result of a corrupted code-stream.  Try re-opening the image with the resilient mode enabled.
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::callbackDecoded: DECODE FAILED: 53a2f406-4895-1d13-d541-d2e3b86bc19c Discard: 2
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::doWork: 53a2f406-4895-1d13-d541-d2e3b86bc19c: Decode of cached file failed (removed), retrying
    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Kakadu Core Error:
    
    2016-02-02T03:58:50Z INFO: LLKDUMessageError::put_text: KDU Error: Illegal inclusion tag tree encountered while decoding a packet header.  This problem can arise if empty packets are used (i.e., packets whose first header bit is 0) and the value coded by the inclusion tag tree in a subsequent packet is not exactly equal to the index of the quality layer in which each code-block makes its first contribution.  Such an error may arise from a mis-interpretation of the standard.  The problem may also occur as a result of a corrupted code-stream.  Try re-opening the image with the resilient mode enabled.
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::callbackDecoded: DECODE FAILED: 9de973e4-5e2c-68af-bd0e-ef7ed2f7513f Discard: 2
    2016-02-02T03:58:50Z WARNING:#Texture LLTextureFetchWorker::doWork: 9de973e4-5e2c-68af-bd0e-ef7ed2f7513f: Decode of cached file failed (removed), retrying
  • Session log attached - SecondLife.log.

  • Purging texture cache will fix the problem.

  • Until texture cache is purged, textures will remain corrupted on subsequent sessions.

    Expected Behaviour

  • Texture cache should not get corrupted when relogging after cache size is lowered in the viewer preferences.

  • Maybe texture cache should be force cleared on viewer restart whenever cache size is lowered as a workaround for now?

    Other Information

    See Monty's comment HERE

Attachments

Original Jira Fields
Field Value
Issue BUG-11331
Summary Lowering Cache Size and relogging results in many corrupted textures
Type Bug
Priority Unset
Status Accepted
Resolution Accepted
Reporter Whirly Fizzle (whirly.fizzle)
Created at 2016-02-02T04:00:29Z
Updated at 2016-02-02T17:44:53Z
{
  'Business Unit': ['Platform'],
  'ReOpened Count': 0.0,
  'Severity': 'Unset',
  'System': 'SL Viewer',
  'Target Viewer Version': 'viewer-development',
  'What just happened?': '...',
  'What were you doing when it happened?': '...',
  'What were you expecting to happen instead?': 'Filling in',
}
@sl-service-account
Copy link
Author

Whirly Fizzle commented at 2016-02-02T04:38:34Z

Also reproduced on this Microsoft Windows 10 64-bit (Build 10586) system:

Second Life 4.0.1 (310054) Jan 14 2016 18:17:17 (Second Life Release)
Release Notes

CPU: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (2592 MHz)
Memory: 8113 MB
OS Version: Microsoft Windows 8 64-bit  (Build 9200) compatibility mode. real ver: 10.0 (Build 10011)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce GTX 960M/PCIe/SSE2

Windows Graphics Driver Version: 20.19.0015.4352
OpenGL Version: 4.5.0 NVIDIA 361.43

libcurl Version: libcurl/7.38.0 OpenSSL/1.0.1h zlib/1.2.8
J2C Decoder Version: KDU v7.2
Audio Driver Version: FMOD Ex 4.44.31
LLCEFLib/CEF Version: 1.5.1-(CEF-WIN-3.2526.1347-32)
Voice Server Version: Not Connected
Built with MSVC version 1800

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant