Mantis Bug Tracker

View Revisions: Issue #7587 All Revisions ] Back to Issue ]
Summary 0007587: llCastRay V3 suffers mesh cache race condition
Revision 2015-05-23 05:18 by Magnuz
Description llCastRay V3 sometimes reports:

2015-05-23 08:31:36,116 WARN - OpenSim.Region.Framework.Scenes.SceneGraph [SCENEGRAPH]: Problem processing action in ForEachSOG: An element with the same key already exists in the dictionary. at System.Collections.Generic.Dictionary`2[System.UInt64,OpenMetaverse.Rendering.FacetedMesh].Add (UInt64 key, OpenMetaverse.Rendering.FacetedMesh value) [0x00000] in <filename unknown>:0
  at OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api+<llCastRayV3>c__AnonStorey10.<>m__0 (OpenSim.Region.Framework.Scenes.SceneObjectGroup group) [0x00632] in /home/opensim/git/opensim/opensim/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs:14341
  at OpenSim.Region.Framework.Scenes.SceneGraph.ForEachSOG (System.Action`1 action) [0x0001f] in /home/opensim/git/opensim/opensim/OpenSim/Region/Framework/Scenes/SceneGraph.cs:1158

This happens when several threads almost simultaneously creates and tries to add a missing geometry mesh to the mesh cache, so the mesh isn't in cache when they look for it but has been added before they have created and try to add it.
Revision 2015-05-23 05:17 by Magnuz
Description 2015-05-23 08:31:36,116 WARN - OpenSim.Region.Framework.Scenes.SceneGraph [SCENEGRAPH]: Problem processing action in ForEachSOG: An element with the same key already exists in the dictionary. at System.Collections.Generic.Dictionary`2[System.UInt64,OpenMetaverse.Rendering.FacetedMesh].Add (UInt64 key, OpenMetaverse.Rendering.FacetedMesh value) [0x00000] in <filename unknown>:0
  at OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api+<llCastRayV3>c__AnonStorey10.<>m__0 (OpenSim.Region.Framework.Scenes.SceneObjectGroup group) [0x00632] in /home/opensim/git/opensim/opensim/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs:14341
  at OpenSim.Region.Framework.Scenes.SceneGraph.ForEachSOG (System.Action`1 action) [0x0001f] in /home/opensim/git/opensim/opensim/OpenSim/Region/Framework/Scenes/SceneGraph.cs:1158

This happens when several threads almost simultaneously creates and tries to add a missing geometry mesh to the mesh cache, so the mesh isn't in cache when they look for it but has been added before they have created and try to add it.


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker