aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-01-25 19:31:50 +0000
committerJustin Clark-Casey (justincc)2012-01-25 19:31:50 +0000
commite20cf3789bc8bbcda86c8e9067fbe8ecdb3046ac (patch)
tree5a378b0ea1a3c52b7ec16a5be48a2400ee0defc6 /OpenSim/Region/ClientStack
parentMake errors reported by OpenSim when it halts because it can't find certain c... (diff)
downloadopensim-SC-e20cf3789bc8bbcda86c8e9067fbe8ecdb3046ac.zip
opensim-SC-e20cf3789bc8bbcda86c8e9067fbe8ecdb3046ac.tar.gz
opensim-SC-e20cf3789bc8bbcda86c8e9067fbe8ecdb3046ac.tar.bz2
opensim-SC-e20cf3789bc8bbcda86c8e9067fbe8ecdb3046ac.tar.xz
Serialize calls to ODE Collide() function across OdeScene instances to prevent ODE crashes on simulators running more than one region.
It turns out that calls to Collide() are not thread-safe even for objects in different ODE physics worlds due to ODE static caches. For simulators running multiple regions, not serializing calls from different scene loops will sooner or later cause OpenSim to crash with a native stack trace referencing OBBCollider. This affects the default OPCODE collider but not GIMPACT. However, GIMPACT fails for other reasons under some current simulator loads. ODE provides a thread local storage option, but as of ODE r1755 (and r1840) DLLs compiled with this crash OpenSim immediately.
Diffstat (limited to 'OpenSim/Region/ClientStack')
0 files changed, 0 insertions, 0 deletions