Hallo,

thanks, Justin, for the tip. I tried it, but it did not help. Still getting the ODE-crash (in addition one of the regions doesn't load for some strange reason, with bullet it loads again :/):

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Stacktrace:

at (wrapper managed-to-native) Ode.NET.d.Collide (intptr,intptr,int,Ode.NET.d/ContactGeom[],int) <0xffffffff> at OpenSim.Region.Physics.OdePlugin.OdeScene.near (intptr,intptr,intptr) <0x0054f> at (wrapper native-to-managed) OpenSim.Region.Physics.OdePlugin.OdeScene.near (intptr,intptr,intptr) <0xffffffff> at (wrapper managed-to-native) Ode.NET.d.SpaceCollide2 (intptr,intptr,intptr,Ode.NET.d/NearCallback) <0xffffffff> at OpenSim.Region.Physics.OdePlugin.OdeScene.collision_optimized (single) <0x0052f>
  at OpenSim.Region.Physics.OdePlugin.OdeScene.Simulate (single) <0x00c1f>
at OpenSim.Region.Framework.Scenes.SceneGraph.UpdatePhysics (double) <0x00046>
  at OpenSim.Region.Framework.Scenes.Scene.Update () <0x00627>
  at OpenSim.Region.Framework.Scenes.Scene.Heartbeat () <0x00047>
  at System.Threading.Thread.StartUnsafe () <0x00071>
at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

        mono() [0x494e01]
        /lib64/libpthread.so.0(+0xf2d0) [0x7fcec95552d0]
        /lib64/libc.so.6(gsignal+0x35) [0x7fcec920bab5]
        /lib64/libc.so.6(abort+0x186) [0x7fcec920cfb6]
/usr/lib64/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x11d) [0x7fce8838ca9d]
        /usr/lib64/libstdc++.so.6(+0xbccb6) [0x7fce8838acb6]
        /usr/lib64/libstdc++.so.6(+0xbcce3) [0x7fce8838ace3]
        /usr/lib64/libstdc++.so.6(+0xbcdee) [0x7fce8838adee]
        /usr/lib64/libstdc++.so.6(_Znwm+0x7d) [0x7fce8838b1fd]
        /usr/lib64/libstdc++.so.6(_Znam+0x9) [0x7fce8838b2b9]
/opt/opensim/diva-r16915/bin/libode-x86_64.so(_ZN13dxHeightfield20allocateHeightBufferEmm+0x54) [0x7fce88619f74] /opt/opensim/diva-r16915/bin/libode-x86_64.so(_ZN13dxHeightfield23dCollideHeightfieldZoneEiiiiP6dxGeomiiP12dContactGeomi+0x1b0) [0x7fce8861a690] /opt/opensim/diva-r16915/bin/libode-x86_64.so(_Z19dCollideHeightfieldP6dxGeomS0_iP12dContactGeomi+0x23a) [0x7fce8861b81a]
        [0x41aeafc1]

Debug info from gdb:


=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Regards,

Klaus

On 02.01.2012 21:50, Justin Clark-Casey wrote:
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 ([email protected] <mailto:[email protected]>) 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
> [email protected] <mailto:[email protected]>
> https://lists.berlios.de/mailman/listinfo/opensim-users
>


_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users


_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users

Reply via email to