Add log messages on teleport failure to better pin down the cause.
parent
3e5b1a1de5
commit
20aeace8d7
|
@ -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
|
||||
|
|
|
@ -79,9 +79,6 @@ namespace OpenSim.Services.Connectors.Simulation
|
|||
return "agent/";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,13 @@ namespace OpenSim.Services.Interfaces
|
|||
|
||||
#region Agents
|
||||
|
||||
/// <summary>
|
||||
/// Ask the simulator hosting the destination to create an agent on that region.
|
||||
/// </summary>
|
||||
/// <param name="destination"></param>
|
||||
/// <param name="aCircuit"></param>
|
||||
/// <param name="flags"></param>
|
||||
/// <param name="reason">Reason message in the event of a failure.</param>
|
||||
bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason);
|
||||
|
||||
/// <summary>
|
||||
|
|
Loading…
Reference in New Issue