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

Reply via email to