[Opensim-dev] No change author recorded in git! (was Re: [Opensim-commits] [OpenSim Git Master Repository] master branch updated. r/11319)

Justin Clark-Casey jjustincc at googlemail.com
Fri Oct 23 13:33:49 UTC 2009


This looks like a great change but could we make sure that the Author field is 
filled in on git am patches?  Otherwise it's going to be a bit hard to tell who 
to talk to about which changes...

Best,

Justin

opensim-commits-bounces at lists.berlios.de wrote:
> The branch, master has been updated
>        via 71c9291 Inconsistent locking of SenseRepeaters in Script Engine.
>       from b0923e0 Fix a glitch in a ROBUST message
> 
> Those revisions listed above that are new to this repository have
> not appeared on any other notification email; so we list those
> revisions in full, below.
> 
> - Log -----------------------------------------------------------------
> 
> commit 71c929137f48a0a7d97dbc866cbe2b12319aa40b
> Author: unknown <Administrator at .(none)>
> Date:   Fri Oct 23 03:52:49 2009 -0700
> 
>     Inconsistent locking of SenseRepeaters in Script Engine.
>     
>     When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration.
>     
>     The attached patch locks SenseRepeatListLock in GetSerializationData()
> 
> 71c929137f48a0a7d97dbc866cbe2b12319aa40b
> diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
> index ee01c3c..b75a2e4 100644
> --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
> +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
> @@ -516,16 +516,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
>          {
>              List<Object> data = new List<Object>();
>  
> -            foreach (SenseRepeatClass ts in SenseRepeaters)
> +            lock (SenseRepeatListLock)
>              {
> -                if (ts.itemID == itemID)
> +                foreach (SenseRepeatClass ts in SenseRepeaters)
>                  {
> -                    data.Add(ts.interval);
> -                    data.Add(ts.name);
> -                    data.Add(ts.keyID);
> -                    data.Add(ts.type);
> -                    data.Add(ts.range);
> -                    data.Add(ts.arc);
> +                    if (ts.itemID == itemID)
> +                    {
> +                        data.Add(ts.interval);
> +                        data.Add(ts.name);
> +                        data.Add(ts.keyID);
> +                        data.Add(ts.type);
> +                        data.Add(ts.range);
> +                        data.Add(ts.arc);
> +                    }
>                  }
>              }
>              return data.ToArray();
> 
> -----------------------------------------------------------------------
> 
> Summary of changes:
>  .../Api/Implementation/Plugins/SensorRepeat.cs     |   19 +++++++++++--------
>  1 files changed, 11 insertions(+), 8 deletions(-)
> _______________________________________________
> Opensim-commits mailing list
> Opensim-commits at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-commits
> 


-- 
justincc
Justin Clark-Casey
http://justincc.org



More information about the Opensim-dev mailing list