Monday, April 20, 2015

OpenSim-HyperGrid : Solving Cache Corruption Issues

By Avatar JayR Cela

     Symptoms of a corrupted cache include but are not limited to, gray avatar portions, no avi skin or clothing, slow loading or non existent textures, missing or distorted sculpts and mesh objects on your property or from your outfit.

   (  This post primarily pertains to Linux, however the concepts are the same for Mac OSX and Windows.  )

     First things first, you should settle upon 1 or 2 possibly 3 viewers, this will simplify things greatly, the two most widely used are FireStorm and Singularity. The next thing to keep in mind if you just so happen to be using the same viewer to log into OpenSim and SecondLife or any other closed
 ( Walled Garden ) grid virtual world for that matter. ( BAD IDEA !!! ) Then you get what you deserve. If you insist upon doing so, then at least change the default installation folder. Any thing OpenSim related should go into a master OpenSim folder, the same holds true for SecondLife or InWorldz as well.

    The second thing you need to keep in mind is into what folder(s) the viewer installs its hidden files, where your cache files are located, and what happens to those files after the installation has completed. If you are on a Windows machine, good luck with that. ( the FireStorm Wiki under Doing A Clean Install is a good place to find that information ) Mac's I'm not very familiar with, however since OSX is basically Unix with an excellent user interface, it should be very similar to the following description, setting your file manager into a Tree style as opposed to Folder view should make the entire process easier as well.

    Next up on the list of things to do is set your file manager to show hidden files. The reason I bring this up is the default installation location on all the viewers I am aware of locate your cache into a hidden /.firestorm/cache folder


    As you can see from the views below the FireStorm viewer places some hidden stuff under a .firestorm folder, however the Singularity viewer defaults to .secondlife, if I had installed Kokua or any other viewer, it would be under .kokua or an otherwise appropriately named location. 

   The reason I bring this up is the default installation location on all the viewers I am aware of locate your cache into a hidden /.firestorm/cache folder or in the case of Singularity /.secondlife/cache not to mention the fact some very other important stuff also goes under /.firestorm or /.secondlife so keeping the cache folder location separate and in an unhidden folder greatly simplifies fixing things if the need arises.

 This is an important thing to understand in case you need to do some last ditch troubleshooting. Remember the default install for all viewers is located there.

     Ok now turn off show hidden files and proceed as follows.

     Your next move is to create a Cache folder in your Opensim folder ( you can name it what ever you like ) and then 2 nested sub folders. In my case it is singularity and firestorm, and ( for the sake of keeping my sanity intact :_) I will concentrate on using the Tree as opposed to a Folder view. These folders will eventually expand to what you will see displayed below.

 Once you actually log in the cache files will populate themselves.

    As you can imagine once the cache folders and or files start to become corrupted problems can escalate subtly at first and then exponentially, resulting in all sorts of odd ball behavior. You can just try using the clear cache or clear texture cache button(s) sadly my results using this approach have proved to be less than desirable. However now that we have set up non hidden and easy to locate /opensim/cache/firestorm or /opensim/cache/singularity folders, no need to monkey around with turning on or off your file managers show hidden file function. Open your viewer then Preferences & Network Cache settings and follow the instructions below.

Click on the Set Button, navigate the menu to the opensim > cache > firestorm ( or singularity ) folder, click on the Apply button, you will receive the standard notice to close and restart the viewer, click on Apply then OK shut down the viewer and restart.

    As you can see by observation the empty /opensim/cache/firestorm folders are currently empty.

    Once you restart the viewer it will repopulate the folder with the appropriate sub folders and a few pointer files, notice that the 0 thru 9 and a thru f folders are empty and will remain so until you actually log in and allow your inventory to complete loading.

    I'm not quite done yet, remember the hidden .firestorm ( .secondlife ) folder(s) ? Don't forget about those, the reason being, once you are satisfied everything is working correctly again, open the appropriate folder and delete the cache folder. Here's my logic on that, if you are in complete panic mode one day because your viewer seems to be too flakey to deal with, the fix is incredibly easy. You now have 2 choice's either delete the appropriate cache folder, or simply open Preferences > Network & Cache and click on the Reset button ( resets to default  cache folder location ) and you should be back in business in no time.

    Before I finish, let me leave you with this thought. In the beginning of this article i had mentioned it is a Bad Idea to use the same viewer for ( Walled Garden ) closed grids and OpenSim. Once you start doing that you introduce things into the viewers cache folder that are not supposed to be there, thus causing the problem in the first place, it may take a few days or a weeks for the ugly dragon to rear it's head, but it eventually will come back to bite bite you, probably at just the wrong time.

    I imagine you may be thinking to yourself that FireStorm and Kokua offer both a separate OpenSim and SecondLife specific viewers, so whats up with that ? I don't know, I can tell you though, from my experience you are just asking for trouble. If you choose to go that rout my advice would be to edit the Grid Manager for the OS versions and delete the option to even be able to log into SecondLife to begin with. ( Singularity will not allow this option ) That's neither here nor there, at least now you are now armed with some knowledge of how this works, where things are located and how to solve the problem. Most everyone uses FireStorm, so be sure to take advantage of it's wonderful System Settings Backup function, and everything should go smooth as silk.

    If you are using a Windows machine, sadly things are not so simple. Because of the way MicroSoft chooses to scatter folders and files all over the freaking place into various directories,( a lot of them hidden ) not to mention the ass backward Windows Registry clutter constantly tossing Reg entries all over the place eventually bringing your system to sluggish state of operation. if the above procedure does not work, your only choice may be a Clean Installation.

JayR Cela :_)

PS. even if you never use SecondLife or InWorldz and are strictly an OpenSim user, all the Grid Hopping from one system to another may cause the same problems, it just takes longer to manifest itself.

No comments: