summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-03MAINT-6928: upgrade VMP package to 504920 and rip out viewer-manifest ↵Glenn Glazer
changes for 2.6
2017-05-03DRTVWR-418: Add big deprecation notice to llsafehandle.h.Nat Goodspeed
2017-05-03Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-02Automated merge with head of lindenlab/viewer64callum@lindenlab.com
2017-05-02SL-617: use the braces, Luke!coyot@coyot-sager-PC.hsd1.ca.comcast.net
2017-05-02DRTVWR-418, MAINT-6996: clarify divide-by-1024 (not shift-right 10)Nat Goodspeed
2017-05-02DRTVWR-418, MAINT-6996: Update Mac LLMemory::getCurrentRSS().Nat Goodspeed
Evidently the Mac implementation of LLMemory::getCurrentRSS() goes back to OS X 10.3, because there was a helpful comment of the form: ------ The API used here is not capable of dealing with 64-bit memory sizes, but is available before 10.4. Once we start requiring 10.4, we can use the updated API, which looks like this: [new current implementation] Of course, this doesn't gain us anything unless we start building the viewer as a 64-bit executable, since that's the only way for our memory allocation to exceed 2^32. ------ Hey, guess what, we're building 64-bit viewers now! Thank you, whoever thoughtfully noted that, both for calling out the issue and sparing us the research. (The comment goes back to Subversion days, so hg blame shows only the merge-to-release changeset.)
2017-05-02DRTVWR-418, MAINT-6996: Rationalize LLMemory wrt 64-bit support.Nat Goodspeed
There were two distinct LLMemory methods getCurrentRSS() and getWorkingSetSize(). It was pointless to have both: on Windows they were completely redundant; on other platforms getWorkingSetSize() always returned 0. (Amusingly, though the Windows implementations both made exactly the same GetProcessMemoryInfo() call and used exactly the same logic, the code was different in the two -- as though the second was implemented without awareness of the first, even though they were adjacent in the source file.) One of the actual MAINT-6996 problems was due to the fact that getWorkingSetSize() returned U32, where getCurrentRSS() returns U64. In other words, getWorkingSetSize() was both useless *and* wrong. Remove it, and change its one call to getCurrentRSS() instead. The other culprit was that in several places, the 64-bit WorkingSetSize returned by the Windows GetProcessMemoryInfo() call (and by getCurrentRSS()) was explicitly cast to a 32-bit data type. That works only when explicitly or implicitly (using LLUnits type conversion) scaling the value to kilobytes or megabytes. When the size in bytes is desired, use 64-bit types instead. In addition to the symptoms, LLMemory was overdue for a bit of cleanup. There was a 16K block of memory called reserveMem, the comment on which read: "reserve 16K for out of memory error handling." Yet *nothing* was ever done with that block! If it were going to be useful, one would think someone would at some point explicitly free the block. In fact there was a method freeReserve(), apparently for just that purpose -- which was never called. As things stood, reserveMem served only to *prevent* the viewer from ever using that chunk of memory. Remove reserveMem and the unused freeReserve(). The only function of initClass() and cleanupClass() was to allocate and free reserveMem. Remove initClass(), cleanupClass() and the LLCommon calls to them. In a similar vein, there was an LLMemoryInfo::getPhysicalMemoryClamped() method that returned U32Bytes. Its job was simply to return a size in bytes that could fit into a U32 data type, returning U32_MAX if the 64-bit value exceeded 4GB. Eliminate that; change all its calls to getPhysicalMemoryKB() (which getPhysicalMemoryClamped() used internally anyway). We no longer care about any platform that cannot handle 64-bit data types.
2017-05-01Pull in new version of Dullahan that is built against latest version of CEF ↵Callum Prentice
(CEF 3.3029.1611.g44e39a8 / Chromium 58.0.3029.81)
2017-05-01Fix MAINT-7360 Investigate removal of MSVCR100.DLL and MSVCP100.DLLCallum Prentice
2017-05-01MAINT-7343 - contributions.txt updateBrad Payne (Vir Linden)
2017-05-01MAINT-7343 - removed unusued coprocedure parameter, changed one coro ↵Brad Payne (Vir Linden)
argument to pass by value
2017-05-01Automated merge with tipCallum Prentice
2017-05-01Trivial whitespace change in README to force a new buildCallum Prentice
2017-05-01SL-617: fix registry pathcoyot@coyot-sager-PC.hsd1.ca.comcast.net
2017-04-28Pull in Nickyd's changes to APR and LLCEFLib (Dullahan) for MAINT-6116 ↵callum@lindenlab.com
Console window appears breifly for Flash sites
2017-04-28Add NULL macOs implementation for 'MAINT-6950 Shared media a great distance ↵callum@lindenlab.com
away (different region even) sometimes plays at maximum volume when entering a region or moving camera slightly.' - until we can understand how to make real mac_volume_catcher work
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-28SL-617: pass final_exe from viewer manifest to NSIS as VIEWER_EXEcoyot@coyot-sager-PC
2017-04-28SL-671: fix string substitutioncoyot@coyot-sager-PC
2017-04-27FIX for MAINT-6950 Shared media a great distance away (different region ↵Callum Prentice
even) sometimes plays at maximum volume when entering a region or moving camera slightly.
2017-04-28SL-671: make icon point to launcher, not viewercoyot@coyot-sager-PC
2017-04-27DRTVWR-418: Use (protected) LLSingleton to store "null instance"Nat Goodspeed
of LLSafeHandle's referenced type. Using LLSingleton gives us a well-defined time at which the "null instance" is deleted: LLSingletonBase::deleteAll().
2017-04-27DRTVWR-418: initSingleton(), cleanupSingleton() must be non-static.Nat Goodspeed
2017-04-27DRTVWR-418: Use conventional LLSingleton init/cleanup for LLWinDebug.Nat Goodspeed
LLWinDebug, though an LLSingleton, had (and required explicit calls to) special init() and cleanup() methods. Kitty Barnett points out that the cleanup() method was actually being called after LLSingletonBase::deleteAll(), requiring resurrection of the deleted LLWinDebug, which sometimes led to crashes. (Resurrecting deleted LLSingletons is always suspect.) Change LLWinDebug::init() and cleanup() to the conventional initSingleton() and cleanupSingleton() methods. This eliminates the need to make special method calls at all. In particular, cleanupSingleton() will be called by the existing LLSingletonBase::cleanupAll() call near viewer shutdown. We retain the early LLWinDebug::instance() call, which implicitly initializes the LLWinDebug instance, because evidently we want that initialized early. But we no longer require a separate init() call.
2017-04-27DRTVWR-418: Remove misleading comment -- no more implicit deleteAll().Nat Goodspeed
The comment indicates that calling LLSingletonBase::deleteAll() is optional because the LLSingleton machinery implicitly calls that during final static-object cleanup. That is no longer true.
2017-04-26DRTVWR-418: Update llphysicsextensions_source to 504710, _stub to 504712.Nat Goodspeed
2017-04-26DRTVWR-418: Update havok-source to build 504680, with Havok fix.Nat Goodspeed
2017-04-26Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-04-26MAINT-7343 - added periodic logging of state of the asset store.Brad Payne (Vir Linden)
2017-04-25meaningless whitespace change to force a new buildCallum Prentice
2017-04-24MAINT-6928: upgrade VMP package to 504558Glenn Glazer
2017-04-24DRTVWR-418: Remove final shutdown cleanup as a cause of crashes.Nat Goodspeed
The recent LLSingleton work added a hook that would run during the C++ runtime's final destruction of static objects. When the LAST LLSingleton in any module was destroyed, its destructor would call LLSingletonBase::deleteAll(). That mechanism was intended to permit an application consuming LLSingletons to skip making an explicit deleteAll() call, knowing that all instantiated LLSingleton instances would eventually be cleaned up anyway. However -- experience proves that kicking off deleteAll() processing during the C++ runtime's final cleanup is too late. Too much has already been destroyed. That call tends to cause more shutdown crashes than it resolves. This commit deletes that whole mechanism. Going forward, if you want to clean up LLSingleton instances, you must explicitly call LLSingletonBase::deleteAll() during the application lifetime. If you don't, LLSingleton instances will simply be leaked -- which might be okay, considering the application is terminating anyway.
2017-04-24pull in nickyd's changes to APR and LLCEFLib (Dullahan) for MAINT-6116 ↵Callum Prentice
Console window appears breifly for Flash sites
2017-04-24MAINT-7343 - Added check for shutdown in progress when asset result arrivesBrad Payne (Vir Linden)
2017-04-22DRTVWR-418: Binary search for a good size for temp Mac disk imageNat Goodspeed
2017-04-22DRTVWR-418: Binary search for a good size for temp Mac disk imageNat Goodspeed
2017-04-22DRTVWR-418: Make temporary .sparseimage drive bigger for signing.Nat Goodspeed
2017-04-21Automated merge with tip of viewer64 (after it was merged with viewer-release)Callum Prentice
2017-04-21Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-04-21Automated merge with tip of viewer64Callum Prentice
2017-04-21Fix windows line endings because it's 2017 and our tools can't deal with itCallum Prentice
2017-04-21tweak shutdown procedure for example plugin to match our new methodologyCallum Prentice
2017-04-21DRTVWR-418: Send address_size with login and viewer stats.Nat Goodspeed
2017-04-21DRTVWR-418: Update to havok-source build 504463.Nat Goodspeed
2017-04-21DRTVWR-418: Update to havok-source build 504455.Nat Goodspeed
2017-04-20DRTVWR-418: Boost fixed max size of temporary Mac volumeNat Goodspeed
used during construction of the eventual installation .dmg. With newer 64-bit Havok packages, we need more elbow room on the temporary volume.
2017-04-20Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-04-19Fix for 32bit builds of example plugin - need an extra parameter for visual ↵Callum Prentice
studio
2017-04-19Pull in improvements to LLProcess termination via a commit from Nat Linden ↵Callum Prentice
here: https://bitbucket.org/rider_linden/doduo-viewer/commits/4f39500cb46e879dbb732e6547cc66f3ba39959e?at=default