Hi Ulirch, The crash looks like the DrawArrayLengths contains a length that exceeds the number of vertices in the geometry, so it's not surprising the OpenGL driver is crashing.
This error could mean a bug in the collada plugin, or possibly even a bug in the data file/the exported it came from. Robert. On Fri, May 14, 2010 at 9:54 AM, Ulrich von Zadow <[email protected]> wrote: > > On May 14, 2010, at 12:33 AM, Ulrich Hertlein wrote: > >> Hi Uli, >> >> On 14/05/10 2:06 , Ulrich von Zadow wrote: >>> I'm running into a crash when displaying collada files. The same collada >>> files load >>> cleanly in osgviewer, and other files load cleanly in my app. So this is >>> probably a bug in >>> my code, but still - maybe someone here has an idea what's wrong. The setup >>> is very >>> similar to osgscreencapture. Everything is being rendered into a pbuffer. >>> >>> The first symptom that something is wrong is this output when running in >>> valgrind: >>> >>> View::init() >>> Done DatabasePager::addLoadedDataToSceneGraph0.497ms, 0.21ms >>> objects0 >>> >>> ==1271== >>> ==1271== Conditional jump or move depends on uninitialised value(s) >>> ==1271== at 0x7B19753: ComputeBound::vertex(osg::Vec3f const&) >>> (BoundingBox:149) >>> ==1271== by 0x7B18401: ComputeBound::drawArrays(unsigned int, int, int) >>> (Drawable.cpp:690) >> >> What I'd try first is to save the scenegraph to a file and check that for >> anything out of >> the ordinary. > > I've done that now. Nothing looks strange, but it's a little hard for me to > see what 'out of the ordinary' means in this context. This is the Geode that > is being traversed (it's also the last geode in the file): > > Geode { > name "ID5226" > nodeMask 0xffffffff > cullingActive TRUE > num_drawables 1 > Geometry { > name "Material1" > StateSet { > rendering_hint DEFAULT_BIN > renderBinMode INHERIT > GL_CULL_FACE ON > Material { > ColorMode OFF > ambientColor 0.2 0.2 0.2 1 > diffuseColor 0 1 0.916667 1 > specularColor 0 0 0 1 > emissionColor 0 0.5 0.458333 1 > shininess 0 > } > } > useDisplayList TRUE > useVertexBufferObjects FALSE > PrimitiveSets 1 > { > DrawArrayLengths TRIANGLES 0 1 > { > 49647 > } > } > VertexArray Vec3Array 9643 > { > -3.08069 18.7775 -0 > -1.07575 19.3925 -0 > [...] > > >> Are you able to get a stack trace from the crash? Is it in the same spot >> that valgrind is >> reporting? > > Yep, the stacktrace looks very similar: > > #0 ComputeBound::vertex (this=0xbff3b65c, ve...@0xa9d54ff8) > at /home/archimedes/devel/deps/OpenSceneGraph-2.8/include/osg/Vec3f:85 > #1 0xb4380402 in ComputeBound::drawArrays (this=0xbff3b65c, > first=-1074547108, count=147156) > at /home/archimedes/devel/deps/OpenSceneGraph-2.8/src/osg/Drawable.cpp:690 > #2 0xb44255f2 in osg::DrawArrayLengths::accept (this=0xa693e68, > funct...@0xbff3b65c) > at > /home/archimedes/devel/deps/OpenSceneGraph-2.8/src/osg/PrimitiveSet.cpp:91 > [...] > > Btw, the same code doesn't crash on a mac. > > Cheers, > > Uli > > -- > Ulrich von Zadow > Software Engineer (Dipl. Inf.) > Exhibit Development > > Tel +49 (0)30 / 2000 577 12 > Fax +49 (0)30 / 2000 577 20 > Skype: uzadow > > Archimedes Solutions GmbH > Saarbrücker Str. 24 10405 Berlin > > www.archimedes-solutions.com > > Geschäftsführung: > W. Rien | J. Schmidtsiefen | S. Spenling > > Amtsgericht: Berlin Charlottenburg > HR Nr.: 107563 B > UST-ID Nr.: DE-253.771.793 > > > > > > > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

