More exception checks and crash hints

If no scriptengine is specified then don't try to load any.
ThreadPoolClientBranch
Tedd Hansen 2008-02-18 14:21:51 +00:00
parent f47bcb0f98
commit c62328950a
6 changed files with 38 additions and 17 deletions

View File

@ -56,7 +56,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
{
try
{
if (openSim.ConfigSource.Configs["RemoteAdmin"].GetBoolean("enabled", false))
if (openSim.ConfigSource.Configs["RemoteAdmin"] != null && openSim.ConfigSource.Configs["RemoteAdmin"].GetBoolean("enabled", false))
{
m_log.Info("[RADMIN]: Remote Admin Plugin Enabled");
requiredPassword = openSim.ConfigSource.Configs["RemoteAdmin"].GetString("access_password", String.Empty);

View File

@ -421,8 +421,8 @@ namespace OpenSim.Framework.Data.MySQL
public void StoreLandObject(Land parcel, LLUUID regionUUID)
{
// Does the new locking fix it?
m_log.Info("[DATASTORE]: Tedds temp fix: Waiting 3 seconds for stuff to catch up. (Someone please fix! :))");
System.Threading.Thread.Sleep(2500 + rnd.Next(300, 900));
m_log.Info("[DATASTORE]: Tedds temp fix: Waiting 3 seconds to avoid others writing to table while we hold a dataset of it. (Someone please fix! :))");
System.Threading.Thread.Sleep(2500 + rnd.Next(0, 1000));
lock (m_dataSet)
{

View File

@ -559,6 +559,7 @@ namespace OpenSim.Framework.Servers
catch (Exception e)
{
m_log.Warn("[HTTPD]: Error - " + e.Message);
m_log.Warn("Tip: Do you have permission to listen on port " + m_port + "?");
}
}

View File

@ -50,8 +50,12 @@ namespace OpenSim.Framework.Statistics
public void AddTexture(AssetBase image)
{
texturesInCache++;
textureCacheMemoryUsage += image.Data.Length;
// Tedd: I added null check to avoid exception. Don't know if texturesInCache should ++ anyway?
if (image.Data != null)
{
texturesInCache++;
textureCacheMemoryUsage += image.Data.Length;
}
}
/// <summary>

View File

@ -181,7 +181,7 @@ namespace OpenSim
config.Set("storage_prim_inventories", true);
config.Set("startup_console_commands_file", String.Empty);
config.Set("shutdown_console_commands_file", String.Empty);
config.Set("script_engine", "OpenSim.Region.ScriptEngine.DotNetEngine.dll");
config.Set("script_engine", "");
config.Set("asset_database", "sqlite");
}
@ -264,7 +264,7 @@ namespace OpenSim
m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", String.Empty);
m_shutdownCommandsFile = startupConfig.GetString("shutdown_console_commands_file", String.Empty);
m_scriptEngine = startupConfig.GetString("script_engine", "OpenSim.Region.ScriptEngine.DotNetEngine.dll");
m_scriptEngine = startupConfig.GetString("script_engine", "");
m_assetStorage = startupConfig.GetString("asset_database", "sqlite");
@ -449,18 +449,26 @@ namespace OpenSim
m_moduleLoader.PickupModules(scene, ".");
//m_moduleLoader.PickupModules(scene, "ScriptEngines");
//m_moduleLoader.LoadRegionModules(Path.Combine("ScriptEngines", m_scriptEngine), scene);
m_log.Info("[MODULES]: Loading scripting engine modules");
foreach (string module in m_scriptEngine.Split(','))
if (string.IsNullOrEmpty(m_scriptEngine))
{
string mod = module.Trim(" \t".ToCharArray()); // Clean up name
m_log.Info("[MODULES]: Loading scripting engine: " + mod);
try
m_log.Info("[MODULES]: No script engien module specified");
}
else
{
m_log.Info("[MODULES]: Loading scripting engine modules");
foreach (string module in m_scriptEngine.Split(','))
{
m_moduleLoader.LoadRegionModules(Path.Combine("ScriptEngines", mod), scene);
}
catch (Exception ex)
{
m_log.Error("[MODULES]: Failed to load script engine: " + ex.ToString());
string mod = module.Trim(" \t".ToCharArray()); // Clean up name
m_log.Info("[MODULES]: Loading scripting engine: " + mod);
try
{
m_moduleLoader.LoadRegionModules(Path.Combine("ScriptEngines", mod), scene);
}
catch (Exception ex)
{
m_log.Error("[MODULES]: Failed to load script engine: " + ex.ToString());
}
}
}

View File

@ -106,6 +106,14 @@ namespace OpenSim.Region.Physics.Manager
private void AddPlugin(string FileName)
{
// TODO / NOTE
// The assembly named 'OpenSim.Region.Physics.BasicPhysicsPlugin' was loaded from
// 'file:///C:/OpenSim/trunk2/bin/Physics/OpenSim.Region.Physics.BasicPhysicsPlugin.dll'
// using the LoadFrom context. The use of this context can result in unexpected behavior
// for serialization, casting and dependency resolution. In almost all cases, it is recommended
// that the LoadFrom context be avoided. This can be done by installing assemblies in the
// Global Assembly Cache or in the ApplicationBase directory and using Assembly.
// Load when explicitly loading assemblies.
Assembly pluginAssembly = Assembly.LoadFrom(FileName);
foreach (Type pluginType in pluginAssembly.GetTypes())