[Opensim-users] Crash on collision
Klaus-E. Klingner
klingner at silverday.de
Mon Jan 2 22:19:18 UTC 2012
Turning everything back to the original files I copied all the physics
related files from the original distro into the diva distro. For a while
everything was fine. Then it crashed again. This time with this message:
Native stacktrace:
mono() [0x494e01]
mono() [0x4e62bf]
mono() [0x41b769]
/lib64/libpthread.so.0(+0xf2d0) [0x7f44d8c2a2d0]
/opt/opensim/diva-r16915/bin/libode-x86_64.so(_Z12dCollideCCTLP6dxGeomS0_iP12dContactGeomi+0x5c2)
[0x7f4493cccc22]
[0x410e6541]
Debug info from gdb:
=================================================================
Got a SIGSEGV 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 23:02, Klaus-E. Klingner wrote:
> BTW in V 07.0.2 the problem wasn't there. I tried to replace the old
> libode from 0.7.2 with the ones from the old version, but Opensim
> would no longer start. So I assume something has changed with the
> physics from one version to another.
>
> Regards,
>
> Klaus
>
> On 02.01.2012 22:51, Klaus-E. Klingner wrote:
>> 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
>>>>> (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
>>>
>>>
>> _______________________________________________
>> 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
>
More information about the Opensim-users
mailing list