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
max was 100 as per here , you can try with 100 and 101.
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?
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!
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.
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