[Opensim-users] Crash on collision
Justin Clark-Casey
jjustincc at googlemail.com
Mon Jan 2 20:50:48 UTC 2012
Please see [1] and [2] for more information on these ODE crashes.
Essentially, we've narrowed it down to a problem using the default ODE collider with more than 1 region. Stress tests
with 20 bots constantly teleporting around one region (or between two simulators in a grid each running 1 region) do not
trigger the ODE crash even after many hours.
The same stress test with 20 bots teleporting between two regions on the same system, even where the regions are 10 map
spaces apart, always triggers the collider crash sooner or later. Sometimes this occurs almost immediately, sometimes
only after an hour or so.
Compiling ODE with the older collider (GIMPACT instead of OPCODE) doesn't see this crash.
My chief suspicion is that there's actually an ODE/collider memory freeing bug. I suspect that it's not very usual to
run more than one physics 'world' in a program (in OpenSimulator, each region runs its own world). It could also be a
problem with OpenSim's P/Invoke interface to ODE causing collision objects to be freed at the wrong time, but I'm
currently discounting that because we don't see the same failure with two simulators each with a single region, and ODE
scenes at the OpenSim level are entirely separate, even though they aren't in the ODE library itself.
[1] contains a link in the comments to an ODE Linux 64 bit library I compiled using the GIMPACT collider, if you're
running that platform and want to try it. This will work on any recent version of OpenSim (probably even 0.6.9).
Using a linux distro version of ode probably won't fix this problem as I expect they will have compiled it using OPCODE.
OpenSimulator only every uses the ODE library bundled in its bin directory, unless you start symlinking or similar.
[1] http://opensimulator.org/mantis/view.php?id=3251
[2] http://opensimulator.org/mantis/view.php?id=4553
On 01/01/12 20:23, Klaus-E. Klingner wrote:
> Hallo,
>
> Thanks for the tip. But I am not using any mesh in my sim :(
>
> Basically I am using the DIVA because of the wifi, but think I will switch once the new GUI is done, that was written
> about here on the list. Do not have time to write one myself atm.
>
> Regards,
>
> Klaus
>
> On 01.01.2012 14:38, M.E. Verhagen wrote:
>> Happy new year !
>>
>> One other thing what seems to trigger ode crashes seem to faulty meshes, you can reconize these from opensim log lines
>> like:
>>
>> 10:49:19 - [MESH]: no recognized physics mesh found in mesh asset
>>
>> 11:06:40 - [MESH]: asset data is zero length
>>
>> 06:40 - [MESH]: experimental mesh proxy generation for defaultMesh/9af57c73-8ef4-42f1-9415-46e8491213cd
>>
>> Try to find these inworld and delete them. On my box the ode crashes were less fequent after deleting those.
>>
>> The case with the libode is that it does not seem to be compatible with some systems luckely most system already have
>> a libode in their repo why not use that libode ?
>> I am using a git version, not the diva. Could be that some recent updates on the odescene also prevent some crashes.
>>
>> Op zaterdag 31 december 2011 schreef Klaus-E. Klingner (klingner at silverday.de <mailto:klingner at silverday.de>) het
>> volgende:
>> > <sigh> I have to correct myself. The world just crashed again with exactly the same error :(
>> >
>> > Regards,
>> >
>> > Klaus
>> >
>> > On 31.12.2011 18:19, Klaus-E. Klingner wrote:
>> >
>> > Hallo,
>> >
>> > thank you for the tip. However it did not fix the problem :/ I still got the same crash. However I noticed that the
>> ode-file in the physics folder of DIVA is different from the one in the original OpenSim 0.72-download. I copied that
>> over, started the world and that seems to have done the trick. Now I just have to figure out a way to one of the sims
>> that suddenly disappeared :/
>> >
>> > Regards and a happy and a happy new year,
>> >
>> > Klaus
>> >
>> >
>> > Additional remark:
>> >
>> > To install the libode on SuSe you have to add the OpenSuSE-Gamerepository with
>> >
>> > zypper addrepo http://download.opensuse.org/repositories/games/openSUSE_11.4/ opensuse-games-x86_64
>> >
>> > and then install libode using
>> >
>> > zypper install libode1
>> >
>> > On 31.12.2011 16:57, M.E. Verhagen wrote:
>> >
>> >
>> >
>> > I had the same sort of ode crashes, i installed ode on my system with 'yum install ode' and deleted the libode.so
>> from the opensim bin dir, after wich i simlinked the lib to make sure opensim uses it. I also downloaded
>> https://github.com/downloads/justincc/opensim/libode.so-x86_64.so, and the crashes stopped.
>> >
>> >
>> >
>> > On suse this would something like these commands:
>> >
>> > yum install libode
>> >
>> > cd /opt/opensim/diva-r16915/bin
>> >
>> > wget https://github.com/downloads/justincc/opensim/libode.so-x86_64.so
>> >
>> > rm libode.so
>> >
>> > rm libode-x86_64.so
>> >
>> > mv libode.so-x86_64.so <http://libode.so-x86_64.so> libode-x86_64.so
>> >
>> > ln /usr/lib64/libode.so.1.1.1 libode.so
>> >
>> >
>> > I am not sure if there is a libode.so.1.1.1, it could named differently, but just symlink it.
>> > In theory the symlink is not needed, but it cannot hurt.
>> >
>> >
>> > _______________________________________________
>> > Opensim-users mailing list
>> > Opensim-users at lists.berlios.de <mailto:Opensim-users at lists.berlios.de>
>> > https://lists.berlios.de/mailman/listinfo/opensim-users
>> >
>>
>>
>> _______________________________________________
>> Opensim-users mailing list
>> Opensim-users at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-users
>
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
--
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc
More information about the Opensim-users
mailing list