summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerassetstorage.cpp
AgeCommit message (Collapse)Author
2022-12-07SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.Nat Goodspeed
mCoroWaitList was introduced to prevent an assertion failure crash: LLCoprocedureManager never expects to fill LLCoprocedurePool::mPendingCoprocs queue. The queue limit was arbitrarily set to 4096 some years ago, but in practice LLViewerAssetStorage can post way more requests than that. LLViewerAssetStorage checked whether the target LLCoprocedureManager pool's queue looked close to full, and if so posted the pending request to its mCoroWaitList instead. But then it had to override the base LLAssetStorage method checkForTimeouts() to continually check whether pending tasks could be moved from mCoroWaitList to LLCoprocedureManager. A simpler solution is to enlarge LLCorpocedureManager::DEFAULT_QUEUE_SIZE, the upper limit on mPendingCoprocs. Since mCoroWaitList was an unlimited queue, making DEFAULT_QUEUE_SIZE "very large" does not increase the risk of runaway memory consumption.
2022-03-22SL-17049 Fixed a crash when adding item 4096 to the queueAndrey Kleshchev
2021-12-15Merge branch 'master' (DRTVWR-552) into DRTVWR-527-maintAndrey Kleshchev
# Conflicts: # indra/media_plugins/cef/media_plugin_cef.cpp - setOnLoadEndCallback # indra/newview/llviewerassetstorage.cpp - mAssetCoroCount
2021-11-24SL-16404 Crash in assetRequestCoroAndrey Kleshchev
Access violation at writing received data to vfs file. Most crashes indicate network issues, so adding additional response validation.
2021-11-22SL-16106 LLScopedIncrement crashAndrey Kleshchev
2021-11-16Merge branch 'master' into DRTVWR-519Andrey Lihatskiy
# Conflicts: # README.md
2021-10-13SL-16106 Fixed asset storage trying to request data on shutdownAndrey Kleshchev
2021-10-02SL-16106 Fixed asset storage trying to request data on shutdownAndrey Kleshchev
2021-07-19Merge with tip of Master after a Viewer releaseCallum Prentice
2021-06-03SL-15272 Bugsplat crashes at condition wait()Andrey Kleshchev
Made sure all waits will be triggered, won't loop back and that in case of http queue it had some time to trigger
2021-04-29Clean up a merge conflictCallum Prentice
2021-04-29Merge master (DRTVWR-515) into DRTVWR-516-maintAndrey Kleshchev
# Conflicts: # autobuild.xml # doc/contributions.txt # indra/llcommon/llcoros.cpp # indra/llmessage/llcoproceduremanager.cpp # indra/newview/llfloaterfixedenvironment.cpp # indra/newview/llfloaterimsessiontab.cpp
2021-03-09This set of changes reverts the merge with master (git revert c83e740) and ↵Callum Prentice
results in a version of the DRTVWR-519 that matches what was presemt before it was deployed as a release viewer *plus* 3 small fixes from Maxim (See commits). This branch can now be used for additional fixes before eventually being used to release D-519 as normal
2021-03-09Merge branch 'master' into DRTVWR-516-maintAndrey Lihatskiy
2021-03-09Merge branch 'master' into DRTVWR-515-maintAndrey Lihatskiy
2021-03-08Revert "Merge branch 'master' of https://bitbucket.org/lindenlab/viewer into ↵Brad Payne (Vir Linden)
DRTVWR-519" This reverts commit e61f485a04dc8c8ac6bcf6a24848359092884d14, reversing changes made to 00c47d079f7e958e473ed4083a7f7691fa02dcd5.
2021-03-02Merge branch 'master' into DRTVWR-516-maintAndrey Lihatskiy
2021-03-02Merge branch 'master' into DRTVWR-515-maintAndrey Lihatskiy
2021-02-14SL-14807 Missed a pool init in unused constructor, additional protectionsAndrey Kleshchev
2021-02-10SL-14807 Viewer crashes when creating an experienceAndrey Kleshchev
2020-11-26SL-14399 Enqueue into 'LLViewerAssetStorage::assetRequestCoro' failedAndrey Kleshchev
2020-10-06Add in the C++ filesystem based cache and clean up some indempotent ↵Callum Prentice
functions in llfilesystem
2020-09-24Complete the change from lldiskcache -> llfilesystem and then addition of ↵Callum Prentice
new lldiskcache implementation
2020-09-22Merge branch 'master' into DRTVWR-519Callum Prentice
2020-09-16Renamed the references to LLVFile and llvfile.* source code plus cmake ↵Callum Prentice
scripts to use a different name - lldiskcache - since that more closely resembles what it is (or will be) now that the VFA is no more
2020-09-16First part of change to remove LLVFS from the Viewer. Consists of code ↵Callum Prentice
changes to remove LLVFS and LLVFSThread classes along with the associated source files. The existing llvfs folder is renamed to llcache. Also includes changes to CMake script in many places to reflect changes. Eventually, llvfile source file and class will be renamed but that is not in this change.
2020-08-18SL-13783 Workaround for enqueueCoprocedure() crash #2Andrey Kleshchev
2020-08-05SL-13719 One more exit crash for asset storageAndrey Kleshchev
2020-08-05Merge branch 'DRTVWR-476' into DRTVWR-501-maintAndrey Lihatskiy
2020-07-31SL-13626 Fixed spelling errorAndrey Kleshchev
2020-07-30SL-13626 Fix asset storage coroutine shutdownAndrey Kleshchev
2020-07-22Remove redundant LL_EXSTAT_ from enums.Nicky Dasmijn
2020-07-22LLExtStat had been a S32, this wasn't right, as some of the constants lead ↵Nicky Dasmijn
to integer overflow: const LLExtStat LL_EXSTAT_RES_RESULT = 2L<<30; const LLExtStat LL_EXSTAT_VFS_RESULT = 3L<<30; This shifts into the sign bit and clang gets (rightfully) upset about this. LLExtStatus needs to be at least of type U32 to remedy this problem, but while at it it makes sense to turn it into what it is: An enum. Turning it into a class enum has the added benefit we get type safety for mostly free. Which incidentally turned up a problem right away: A call to removeAndCallbackPendingDownloads had status and extstatus reversed and thus was wrong.
2017-05-09MAINT-7343 - improved error case handling and checking for unlikely cornersBrad Payne (Vir Linden)
2017-05-01MAINT-7343 - removed unusued coprocedure parameter, changed one coro ↵Brad Payne (Vir Linden)
argument to pass by value
2017-04-28MAINT-7343 - moved asset downloads to use coprocedure pools, which should ↵Brad Payne (Vir Linden)
reduce the size of potential memory spikes
2017-04-26MAINT-7343 - added periodic logging of state of the asset store.Brad Payne (Vir Linden)
2017-04-24MAINT-7343 - Added check for shutdown in progress when asset result arrivesBrad Payne (Vir Linden)
2017-04-19SL-409 - Added tags to some log messagesBrad Payne (Vir Linden)
2017-04-18SL-409 - Added a bit more logging in hopes of locating cause of increased ↵Brad Payne (Vir Linden)
crashes.
2017-04-12MAINT-7195 - fixed bug in the wait-for-caps logic. Doesn't really matter in ↵Brad Payne (Vir Linden)
practice since the member variable in question still gets set by the cap received callback.
2017-04-11DRTVWR-434 - trivial code change to trigger TC rebuild, also slight ↵Brad Payne (Vir Linden)
improvement to a log message
2017-03-20MAINT-7195 work (can't repro), removed UDP fetching path, handle more ↵Brad Payne (Vir Linden)
possible timing issues while connecting to region
2017-03-20MAINT-7195 possible fixBrad Payne (Vir Linden)
2017-03-06SL-409 - use AP_TEXTURE policy for other viewer asset fetches. Enables ↵Brad Payne (Vir Linden)
pipelining.
2017-03-06SL-409 - consolidated user of ViewerAsset cap for mesh and texture fetching ↵Brad Payne (Vir Linden)
as well.
2017-03-03SL-409 - added tracking for bytes fetched to viewer assets metrics (does not ↵Brad Payne (Vir Linden)
currently work for textures)
2017-03-02SL-409 - code simplification for asset metrics, added a couple of new ↵Brad Payne (Vir Linden)
categories, error handling
2017-02-27SL-409 - viewer asset stats updates to distinguish http and udp fetchesBrad Payne (Vir Linden)
2017-02-17SL-409 - more WIP on http fetching path for assets, capture results to LLVFile.Brad Payne (Vir Linden)