From 61ae75f3640a9861fbf22ae57b748710080631e7 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Sat, 22 Mar 2008 20:44:15 +0000
Subject: * Catch the occasional resolution exception that comes out of
SceneCommunicationService.EnableChildAgents so we can see what hostname is
failing
---
.../Region/Communications/OGS1/OGS1GridServices.cs | 6 +-----
.../Scenes/SceneCommunicationService.cs | 23 +++++++++++++++++++---
2 files changed, 21 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Region')
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index f1542f5..fa1db15 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -206,11 +206,7 @@ namespace OpenSim.Region.Communications.OGS1
return returnGridSettings;
}
- ///
- ///
- ///
- ///
- ///
+ // see IGridServices
public List RequestNeighbours(uint x, uint y)
{
Hashtable respData = MapBlockQuery((int) x - 1, (int) y - 1, (int) x + 1, (int) y + 1);
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
index d9c34e4..2089f07 100644
--- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs
@@ -278,9 +278,26 @@ namespace OpenSim.Region.Environment.Scenes
agent.child = true;
InformClientOfNeighbourDelegate d = InformClientOfNeighbourAsync;
- d.BeginInvoke(avatar, agent, neighbours[i].RegionHandle, neighbours[i].ExternalEndPoint,
- InformClientOfNeighbourCompleted,
- d);
+
+ try
+ {
+ d.BeginInvoke(avatar, agent, neighbours[i].RegionHandle, neighbours[i].ExternalEndPoint,
+ InformClientOfNeighbourCompleted,
+ d);
+ }
+ catch (Exception e)
+ {
+ m_log.ErrorFormat(
+ "[REGIONINFO]: Could not resolve external hostname {0} for region {1} ({2}, {3})",
+ neighbours[i].ExternalHostName,
+ neighbours[i].RegionHandle,
+ neighbours[i].RegionLocX,
+ neighbours[i].RegionLocY);
+
+ // FIXME: Okay, even though we've failed, we're still going to throw the exception on,
+ // since I don't know what will happen if we just let the client continue
+ throw e;
+ }
}
}
}
--
cgit v1.1