Anonymous | Login | Signup for a new account | 2021-04-10 04:07 PDT | ![]() |
Main | My View | View Issues | Change Log | Roadmap | Summary | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0007587 | opensim | [REGION] Script Functions | public | 2015-05-23 05:16 | 2015-05-23 07:20 | ||||
Reporter | Magnuz | ||||||||
Assigned To | nebadon | ||||||||
Priority | normal | Severity | minor | Reproducibility | sometimes | ||||
Status | closed | Resolution | fixed | ||||||
Platform | Intel Core i7 | Operating System | Ubuntu | Operating System Version | 14.04 | ||||
Product Version | master (dev code) | ||||||||
Target Version | Fixed in Version | master (dev code) | |||||||
Summary | 0007587: llCastRay V3 suffers mesh cache race condition | ||||||||
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. | ||||||||
Steps To Reproduce | Setup several llCastRay scripts to cast rays through the same prim, sculpt or mesh. Trigger them as simultaneously as possible, e.g. by restarting the sim. Often but not always the above error is reported then. | ||||||||
Additional Information | Mono 3.12.1 | ||||||||
Tags | No tags attached. | ||||||||
Git Revision or version number | 0.8.2 dev | ||||||||
Run Mode | Grid (1 Region per Sim) | ||||||||
Physics Engine | BulletSim | ||||||||
Script Engine | |||||||||
Environment | Mono / Linux32 | ||||||||
Mono Version | Other | ||||||||
Viewer | Singularity 1.8.6 OS X | ||||||||
Attached Files | ![]() | ||||||||
![]() |
|||||||||||
|
![]() |
|
(0028436) Magnuz (reporter) 2015-05-23 05:17 |
Patch adds an extra check before trying to add a created mesh to the mesh cache. The option to keep the mesh cache locked while the mesh is created would risk holding up threads and degrade performance, so the extra check is probably preferred. |
(0028437) nebadon (administrator) 2015-05-23 05:38 |
patch applied : http://opensimulator.org/viewgit/?a=commit&p=opensim&h=abb3bb60a6ef0a3ed92d3fa54dc47d4d3e560b36 [^] |
(0028438) Magnuz (reporter) 2015-05-23 07:20 |
Verified code and function, so closing. |
![]() |
|||
Date Modified | Username | Field | Change |
2015-05-23 05:16 | Magnuz | New Issue | |
2015-05-23 05:16 | Magnuz | File Added: 0001-Fix-mesh-cache-race-condition-in-llCastRay-V3.patch | |
2015-05-23 05:17 | Magnuz | Note Added: 0028436 | |
2015-05-23 05:17 | Magnuz | Status | new => patch included |
2015-05-23 05:18 | Magnuz | Description Updated | View Revisions |
2015-05-23 05:20 | Magnuz | Relationship added | related to 0007546 |
2015-05-23 05:20 | Magnuz | Relationship added | related to 0007575 |
2015-05-23 05:38 | nebadon | Note Added: 0028437 | |
2015-05-23 05:38 | nebadon | Status | patch included => resolved |
2015-05-23 05:38 | nebadon | Resolution | open => fixed |
2015-05-23 05:38 | nebadon | Assigned To | => nebadon |
2015-05-23 07:20 | Magnuz | Note Added: 0028438 | |
2015-05-23 07:20 | Magnuz | Status | resolved => closed |
2015-05-23 07:20 | Magnuz | Fixed in Version | => master (dev code) |
Copyright © 2000 - 2012 MantisBT Group |