From a54c784b81c6168412b85dbb816d1d53088bd26b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 14 Oct 2014 20:42:41 +0100 Subject: [PATCH] If an exception makes it to the top of a JobEngine request, catch and log instead of letting it terminate the simulator... --- OpenSim/Framework/Monitoring/JobEngine.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/OpenSim/Framework/Monitoring/JobEngine.cs b/OpenSim/Framework/Monitoring/JobEngine.cs index ea2203f73e..7dcce6aff0 100644 --- a/OpenSim/Framework/Monitoring/JobEngine.cs +++ b/OpenSim/Framework/Monitoring/JobEngine.cs @@ -246,7 +246,16 @@ namespace OpenSim.Framework.Monitoring if (LogLevel >= 1) m_log.DebugFormat("[JOB ENGINE]: Processing job {0}", m_currentJob.Name); - m_currentJob.Callback.Invoke(m_currentJob.O); + try + { + m_currentJob.Callback.Invoke(m_currentJob.O); + } + catch (Exception e) + { + m_log.Error( + string.Format( + "[JOB ENGINE]: Job {0} failed, continuing. Exception ", m_currentJob.Name), e); + } if (LogLevel >= 1) m_log.DebugFormat("[JOB ENGINE]: Processed job {0}", m_currentJob.Name);