I'm not aware of any reason why 0.9.8 should be "senstive" to NaN's where
0.9.6 wasn't, it might simply by an issue that compiler has optimized the
code in a slightly different way with the two code basis and the a subtle
difference is enough to trip over in a CPU or compiler bug. Have you tried
disabling optimization in the release build?
On Tuesday 25 January 2005 19:22, Jason Daly wrote:
> Hi all,
>
> An upgrade from 0.9.6-2 to 0.9.8-2 has revealed a latent problem in my
> application. Apparently, in certain cases my app would set the matrix
> in a MatrixTransform node to an invalid matrix (specifically, a matrix
> with the first 3 rows containing NaN). In version 0.9.6-2, this problem
> went unnoticed because it was happening to a very small object that took
> up a very small subgraph of the scene, so visually it would just
> disappear. However, when I switched to 0.9.8-2, the cull traversal
> started locking up and never returning. When I compiled 0.9.8 in debug
> mode, it no longer locked up on the bad matrix, and essentially behaved
> like 0.9.6 again.
>
> Now, I've been able to trace and fix the problem in my app, and I
> realize that the problem did not originate with OSG. However, I just
> wanted to bring it up in case there was any desire to examine why
> version 0.9.6 seemed more robust in this regard than 0.9.8.
>
> Here is a stack trace that (hopefully) shows roughly where it was
> getting stuck. I Ctrl-\'d the app when it locked up on several
> different runs, and the stack trace was always the same. My system is a
> Dell 530 with dual 1.5 GHz Xeons and a GeForce FX 5600 running Fedora
> Core 3.
>
>
> (gdb) where
> #0 0x00e4ec24 in osg::CullStack::pushCullingSet ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #1 0x00e4fb99 in osg::CullStack::pushModelViewMatrix ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #2 0x00b42a01 in osgUtil::CullVisitor::apply ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
> #3 0x00e9c3dd in osg::MatrixTransform::accept ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #4 0x00e85bfe in osg::Group::traverse ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #5 0x00b3de69 in osgUtil::CullVisitor::apply ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
> #6 0x00e86b79 in osg::Group::accept ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #7 0x00e85bfe in osg::Group::traverse ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #8 0x00b3de69 in osgUtil::CullVisitor::apply ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
> #9 0x00e86b79 in osg::Group::accept ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #10 0x00e85bfe in osg::Group::traverse ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #11 0x00b3de69 in osgUtil::CullVisitor::apply ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
> #12 0x00e86b79 in osg::Group::accept ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #13 0x00e85bfe in osg::Group::traverse ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #14 0x00b3de69 in osgUtil::CullVisitor::apply ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
> #15 0x00e86b79 in osg::Group::accept ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #16 0x00e85bfe in osg::Group::traverse ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #17 0x00b3de69 in osgUtil::CullVisitor::apply ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
> #18 0x00e86b79 in osg::Group::accept ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosg.so
> #19 0x00b7deb0 in osgUtil::SceneView::cullStage ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
> #20 0x00b7a922 in osgUtil::SceneView::cull ()
> from /ist/projects/nve/tools/OpenSceneGraph-0.9.8-2/lib/libosgUtil.so
>
>
> I took a glance at the functions involved, but I couldn't really see
> where it could be getting stuck. If there's anything else I can do to
> help, let me know.
_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
Received on Tue Jan 25 12:02:39 2005
This archive was generated by hypermail 2.1.8 : Tue Jan 25 2005 - 12:02:40 PST