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 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"); m_log.Info("[RADMIN]: Remote Admin Plugin Enabled");
requiredPassword = openSim.ConfigSource.Configs["RemoteAdmin"].GetString("access_password", String.Empty); 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) public void StoreLandObject(Land parcel, LLUUID regionUUID)
{ {
// Does the new locking fix it? // Does the new locking fix it?
m_log.Info("[DATASTORE]: Tedds temp fix: Waiting 3 seconds for stuff to catch up. (Someone please fix! :))"); 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(300, 900)); System.Threading.Thread.Sleep(2500 + rnd.Next(0, 1000));
lock (m_dataSet) lock (m_dataSet)
{ {

View File

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

View File

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

View File

@ -181,7 +181,7 @@ namespace OpenSim
config.Set("storage_prim_inventories", true); config.Set("storage_prim_inventories", true);
config.Set("startup_console_commands_file", String.Empty); config.Set("startup_console_commands_file", String.Empty);
config.Set("shutdown_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"); config.Set("asset_database", "sqlite");
} }
@ -264,7 +264,7 @@ namespace OpenSim
m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", String.Empty); m_startupCommandsFile = startupConfig.GetString("startup_console_commands_file", String.Empty);
m_shutdownCommandsFile = startupConfig.GetString("shutdown_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"); m_assetStorage = startupConfig.GetString("asset_database", "sqlite");
@ -449,6 +449,13 @@ namespace OpenSim
m_moduleLoader.PickupModules(scene, "."); m_moduleLoader.PickupModules(scene, ".");
//m_moduleLoader.PickupModules(scene, "ScriptEngines"); //m_moduleLoader.PickupModules(scene, "ScriptEngines");
//m_moduleLoader.LoadRegionModules(Path.Combine("ScriptEngines", m_scriptEngine), scene); //m_moduleLoader.LoadRegionModules(Path.Combine("ScriptEngines", m_scriptEngine), scene);
if (string.IsNullOrEmpty(m_scriptEngine))
{
m_log.Info("[MODULES]: No script engien module specified");
}
else
{
m_log.Info("[MODULES]: Loading scripting engine modules"); m_log.Info("[MODULES]: Loading scripting engine modules");
foreach (string module in m_scriptEngine.Split(',')) foreach (string module in m_scriptEngine.Split(','))
{ {
@ -463,6 +470,7 @@ namespace OpenSim
m_log.Error("[MODULES]: Failed to load script engine: " + ex.ToString()); m_log.Error("[MODULES]: Failed to load script engine: " + ex.ToString());
} }
} }
}
m_moduleLoader.InitialiseSharedModules(scene); m_moduleLoader.InitialiseSharedModules(scene);
scene.SetModuleInterfaces(); scene.SetModuleInterfaces();

View File

@ -106,6 +106,14 @@ namespace OpenSim.Region.Physics.Manager
private void AddPlugin(string FileName) 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); Assembly pluginAssembly = Assembly.LoadFrom(FileName);
foreach (Type pluginType in pluginAssembly.GetTypes()) foreach (Type pluginType in pluginAssembly.GetTypes())