Robotics StackExchange | Archived questions

Possible limitation of Points in Marker::LINE_STRIP and Rviz

Hi

im facing an error whenever I try to visualize a Marker::LINE_STRIP with more than (approx) 8200 Points in it. The code seems to run fine but RVIZ crashes with an chainIndex out of bounds Exception. The Exact output ist:

[ WARN] [1410267962.066933906]: OGRE EXCEPTION(5:ItemIdentityException): chainIndex out of bounds in BillboardChain::addChainElement at /build/buildd/ogre-1.8-1.8.1+dfsg/OgreMain/src/OgreBillboardChain.cpp (line 243)
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'Ogre::ItemIdentityException'
  what():  OGRE EXCEPTION(5:ItemIdentityException): chainIndex out of bounds in BillboardChain::addChainElement at /build/buildd/ogre-1.8-1.8.1+dfsg/OgreMain/src/OgreBillboardChain.cpp (line 243)
Aborted (core dumped)

Is there a Limit of points I am able to vizualize using one single Marker?

Thanks in Advance

Asked by TheElk on 2014-09-09 08:11:09 UTC

Comments

max was 100 as per here , you can try with 100 and 101.

Asked by bvbdort on 2014-09-09 11:35:07 UTC

I dont think that this is the problem, as it runs fiene for the first approx. 8200 Points. Shouldnt it then crash at 100 Points?

Asked by TheElk on 2014-09-10 01:22:24 UTC

I confirm the same behaviour. Rviz appears to crash down as soon as the Markers' vector size goes beyond 8192 (2^13). The cause didn't jump at me by a quick look through the source code. Should look at it more closely. I'd also be interested to know the answer if anyone happens to find it!

Asked by nfattahi on 2014-09-10 20:08:44 UTC

The number of Elements of a BillboardChain (obviously the datatype responsible for storing Marker in RVIZ; from Ogre) has a limit named mChainCount which can be set in its constructor. Maybe RVIZ sets this value to 8192. I'll investigate a little further, maybe i find a proper answer.

Asked by TheElk on 2014-09-15 08:23:14 UTC

So i looked through all files from RVIZ and OGRE and the only occurence of the string "8192" that makes sense is the "#define THREADCACHEMAX 8192" from nedmalloc/nedmalloc.c from OGRE. Maybe this ist he point but I dont know exactly

Asked by TheElk on 2014-09-16 03:03:55 UTC

Answers