From 20aeace8d75fa5a1a3d0ba1d3d9ab6cdad2cf088 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 9 Mar 2011 22:03:12 +0000
Subject: Add log messages on teleport failure to better pin down the cause.
---
.../Framework/EntityTransfer/EntityTransferModule.cs | 12 +++++++++---
.../Connectors/Simulation/SimulationServiceConnector.cs | 6 +++---
OpenSim/Services/Interfaces/ISimulationService.cs | 7 +++++++
3 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 95c771e..c88be7d 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -399,6 +399,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
if (!UpdateAgent(reg, finalDestination, agent))
{
// Region doesn't take it
+ m_log.WarnFormat(
+ "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1}. Returning avatar to source region.",
+ sp.Name, finalDestination.RegionName);
+
Fail(sp, finalDestination);
return;
}
@@ -425,16 +429,18 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// that the client contacted the destination before we send the attachments and close things here.
if (!WaitForCallback(sp.UUID))
{
- Fail(sp, finalDestination);
+ m_log.WarnFormat(
+ "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} failed due to no callback from destination region. Returning avatar to source region.",
+ sp.Name, finalDestination.RegionName);
+
+ Fail(sp, finalDestination);
return;
}
-
// CrossAttachmentsIntoNewRegion is a synchronous call. We shouldn't need to wait after it
CrossAttachmentsIntoNewRegion(finalDestination, sp, true);
// Well, this is it. The agent is over there.
-
KillEntity(sp.Scene, sp.LocalId);
// May need to logout or other cleanup
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
index 463b2fb..93b3ae6 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
@@ -79,9 +79,6 @@ namespace OpenSim.Services.Connectors.Simulation
return "agent/";
}
- ///
- ///
- ///
public bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason)
{
// m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CreateAgent start");
@@ -109,6 +106,9 @@ namespace OpenSim.Services.Connectors.Simulation
if (result["Success"].AsBoolean())
return true;
+ m_log.WarnFormat(
+ "[REMOTE SIMULATION CONNECTOR]: Failed to create agent {0} {1} at remote simulator {1}",
+ aCircuit.firstname, aCircuit.lastname, destination.RegionName);
reason = result["Message"] != null ? result["Message"].AsString() : "error";
return false;
}
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs
index b796757..55c9cc5 100644
--- a/OpenSim/Services/Interfaces/ISimulationService.cs
+++ b/OpenSim/Services/Interfaces/ISimulationService.cs
@@ -40,6 +40,13 @@ namespace OpenSim.Services.Interfaces
#region Agents
+ ///
+ /// Ask the simulator hosting the destination to create an agent on that region.
+ ///
+ ///
+ ///
+ ///
+ /// Reason message in the event of a failure.
bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason);
///
--
cgit v1.1