Tutorial07

From Osgrid Wiki
Jump to: navigation, search

General troubleshooting and using Mantis Bug reports.

Sometimes your simulator is happily running for half a day, and than starts to spit errors in console (and thus OpenSim.log), you normally assume something changed causing this. This can be added prims or scripts, visitors, neighbors popping sims on / offline, etc. Not all errors are caused by things under your control however. For instance, when a scripts with timers goes funky for whatever reason, the script crashes your appdomain, or a neighbor slams in a Megaregion and builds against you, you could crash. These kind of external issues can be hard to track down. Script errors generally give good indicators, and removing or adjusting the offending script or permission generally resolves the issue.

The important thing with troubleshooting, is defining your exact problem. "I don't see any prims" can indicate anything between a prim not being allowed to be rezzed to a broken monitor for all you know.... Try to always assume that the software works fine, until you can prove it does not. Exclude that it's just you / your environment suffering the issue, and if it is reproducable by others, you can report it .

I always have the same questions regardless of the problem:

  • - what is your operating system and is it fully up to date
  • - Did this setup ever work before, and stop, or never worked at all
  • - Is this a download you got from OSgrid ? or OpenSimulator.org / metro / diva / soas / some other build ? (Never forget. Bit me in the ass twice last 6 years).
  • - What does the OpenSim.log have to report

Than we can see if we can determine the issue. Is it the network ? The client ? The viewer ? We need to start somewhere, and thus we start to look where the log points us at.

For example we see a MySQL related error when we open the log. Before we even read the exact error we think:

  • - Has the MySQL service started ?
  • - Have you setup a correct database / user / permissions for it
  • - Are these settings correctly configured in GridCommon.ini ?

All good ?

  • - Is the max_allowed_packet in My.ini set high enough?
  • - does the database have access to the correct charset ?

If you had your handy 11 year old nephew play around with all the numbers in MySQL manager, or fiddled in the database directly, you might need to revert those changes to get it back up again. If you however, are comfortable with working inside databases and tables, feel free to do so. Along the above lines, you will likely find the cause of an issue, and be able to resolve the issue.

If we get an error about a corrupt texture, and we see an avatar not rezzing and remaining a cloud, we obviously know that the viewer can't render some corrupt texture, and the avatar should wear a different outfit rebake, and possibly even clean his cache to resolve it. No need to check if MySQL is running for that kind of errors.

Either if it involves removing an offending script, setting a permission, fixing a crash, or other issues, think first, act later. You will very quickly find why the terminology from class 1 is extremely important when you help others. They might say simulator when they mean region, or mistake a UUID for an IP address. Now we have seen in the installation class, that a lot of failures have very little to do with the software. It has proven itself to be pretty reliable. So if you experience "sudden crashes" on a setup that was running happily before, you can be sure something changed. And this change, (unless you made it) is not made by OSgrid. Your IP address changed, a port is suddenly in use by another process, your access rule in the router was modified, or is now pointing towards a different LAN IP, your wife plugged the cable into a different port on your PC after vacuuming, your mysql server didn't boot properly, you deleted some ini file, your shortcut is pointing towards a previous installation, your security suite got some funky update and thinks OpenSim is malware software now, i can think of 100 reasons for things to fail. At your end. I always smile at the "Nothing changed an all stopped working", "stupid software, I didn't change anything and it stopped". Nobody blames you in person. It's this thing called life, happening to you. But you can bet something changed. Your computer is a machine. A tool. It does what it's configured to. If you nail a painting to a wall, and hit your thumb real hard with the hammer, instead of the nail; do you blame the hammer ? Anyhow. Something happened, it doesn't crash "magically", there is a cause.

A lot of the installation troubleshooting is written in the 2nd & 3rd courses. The majority of the issues that occur are due to unexpected network changes. ( Ip's and portforwarding failing). This is mostly due to the fact many users don't use static IP addressing, and forward ports to dynamic IP's that change. Easily fixable in Regions.ini, OpenSim.ini and your router, if you have an understanding how DHCP works, and are aware that it can hand you a different address. And that this can happen after a reboot of the router (also happens at power outages), but also simply when the lease time expires. Next to that you need to be able to comprehend the error OpenSim provides you with. With that you try to fix the issue.

Sometimes, you run into weird issues. Typically weird issues, are caused by bugs. Things in the code that do wild things as reporting items you never owned, or other things that "spontaneously" seem to quit working. Did i mention restarting machines is often an excellent solution ? However. This doesn't go away. Eventually you can't get it to work. Now here is where things get "challenging" as you're not an expert. You will doubt yourself. And sometimes, when in doubt, people start trying "irrational" things to see if that maybe works. Or change stuff to test, forget to set it back, and have some other issue a week later. Focus on what you do, and use your logic's, rather than mere guesses. If it's beyond you, ask help. There is no shame in asking, more than half of us is expert in some field, but nobody knows all. So you ask someone else. And now you find apparently he / she seems to have the same issue, and cant get around it either.

For example, you set a permission on a prim, but it does not get "stored" if you pick it back up, all is no-perm again. If that's reproducible by multiple people, on multiple regions, with multiple viewers, somethings FUBAR. Now since that needs to work, and doesn't for anybody, you hit a bug. You will not be able to fix it with your configuration, as that is fine and as it should be, and the issue occurs in any viewer, so is not some issue caused in viewer code. A developer will need to see what is wrong, and resolve / address it. To report this OpenSimulator uses a tool called Mantis. There you can file bug reports. To be able to do so, you will need to read this page : How to report bugs in Mantis

It's important when you use Mantis, you keep a few things in mind.

  • - Make sure your configuration is correct up to date and supply all required information. Mantis only troubleshoots the DEVELOPMENT version of OpenSim. No use posting the vulnerability you found in 0.7.2. Or the bug in 0.8.1. that's all way beyond us.
  • - It's a bug Tracker ! not a customer support tool / get help with whatever instrument. For that there's other mediums like the forums / wiki's.
  • - If you submit a bug, make sure it's reproducible. explain how to reproduce. Things that only YOU suffer from, are generally issues only YOU should fix.
  • - Provide as much relevant info as you can. ( I was building my home and something strange happened. Now i don't know what to do ? Help ? Really ? ).
  • - Often, long time residents saw the issue you ran into before (same sh!t, different day), and potentially know a fix / workaround / reason.
  • - Some bugs are long reported by others before you even notice them. Here is a List of unassigned / listed and resolved bugs. Search it before you post an issue. It might be there already, but potentially with a different / technical description. It's also good to take notice of the format, relevant info, and how things are handled.

However, before you land at filing a bug report, seek some help first. Two heads are always better than one. If you file a bug, you help a lot of people within the Metaverse, as OpenSimulator is it's engine. And nobody likes bugs.

Mind that some bugs are considered "not very interesting to fix". In such case there is very little you can do but wait, or try to find a hired programmer that can implement what you seek. This might sound somewhat strange, but in the end, it's all open source. If however there is an extreme interest from community to have a particular feature or bug worked out, the developer gods tend to be humane and for-fill our community desires.

Also if you require commercial implementations for instance, you can assume safely you will be the first consumer yourself if you don't have the know how to safely implement such. I see a lot of people running into the grid with big plans, and silently they go "missing" because they find out they had unreasonable expectations. Or, that it takes a little more than just "installing a region". If you want to become an expert in this field, there is loads to learn. The past 7 classes have covered merely basics on how to install and run a region.

I don't know if there will be Advanced classes as well, on subjects like the code itself, the inner workings of how the servers and databases operate, and the more technically in depth matter. These subjects are mostly beyond me. There are loads of other subjects in the metaverse people would like to have classes on however. Building, scripting, blender, texturing, DJ-ing, landscaping & terraforming, lightshare & atmosphere, photography, role play and i don't know whats more, but these are initiatives that should be coming out of the community itself. The grid cannot provide in all of such. We can facilitate if required. So if you feel like preparing a course / class yourself, you can always get in touch.

Well. This concludes the series of 7 classes on OSgrid setup. Should you run stuck, or have feedback or further questions, feel free to get in touch with any of the admins / greeters or try your luck with our wonderful community of residents. If you are happy with the content, or just love to live in the OSgrid, please consider a small donation to the grid. Your support is really appreciated to keep the grid alive & up and running.