Hi Ralf,

I'm making a new compil with the /3GB and the /LARGEADRESSAWARE flag ... but
do you think I have to compile osg with the same flag ? the crash is in
readNodefile ...

Thanks for your help.

Regards,
   Vincent.

2009/6/8 Ralph Kern <[email protected]>

> Hi Vincent,
>
> the problem with the /3GB option is that you also have to setup the
> /LARGEADRESSAWARE linker flag and check pointer arithmetics in every
> exe/dll of your app. There are some possible pitfalls on pointer
> arithmetic because ptrdiff_t is signed 32 bit on Win32.
>
> regards Ralph
>
> Vincent Bourdier schrieb:
> > Hi Ralf,
> >
> > I'm already using the /3GB option, that's why I don't understand the
> > crash ...
> >
> > Thanks.
> >
> > Regards,
> >    Vincent.
> >
> > 2009/6/8 Ralph Kern <[email protected]
> > <mailto:[email protected]>>
> >
> >     hi Vincent,
> >
> >     Win32 has a 2GB limit on virtual adress space for any single process.
> >     Microsoft decided for some reason to half down the available 4GB
> adress
> >     space in 32 Bit.
> >
> >     There's some obscure workaround to up this limit to ~3GB, but it is
> only
> >     working on some of the MS operationg systems. See the discussion on
> >     http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx
> >
> >     Better way now is to use a 64 Bit environment and a 64 bit build.
> >
> >     regards Ralph
> >
> >     Vincent Bourdier schrieb:
> >     > Update : this sound like a memory problem : when my MV is around
> >     2.0Go,
> >     > the application crash. I'm not familiar with windows virtual
> >     Memory, so
> >     > i'm not sure of how to increase it.
> >     > I've trid to set the pagefile to 5Go and the RAM (with a new
> >     barett) to
> >     > 4.0Go (3.2Go for win XP 32bits) but the crash is still the same ...
> >     >
> >     > Any idea ?
> >     >
> >     > Does the KDTree builder eats a lot of MV ? the .ive file (without
> >     > texture) is about 450Mo ... so this is a very big model ...
> >     >
> >     > Thanks for help.
> >     >
> >     > Regards,
> >     >     Vincent.
> >     >
> >     > 2009/6/8 Vincent Bourdier
> >     > <[email protected]
> >     <mailto:[email protected]>
> >     > <mailto:[email protected]
> >     <mailto:[email protected]>>>
> >     >
> >     >     Hi Robert,
> >     >
> >     >     ok for KDTree, but the question is : Why an osg2.6.1 file.ive
> >     opened
> >     >     by osg2.8.1 using KDtree make a crash ?
> >     >     Sorry I cannot give the file, this is confidential data I'm not
> >     >     allowed to give you.
> >     >
> >     >     Crash : Unhandled exception at 0x7c812afb in Launcherd.exe:
> >     >     Microsoft C++ exception: std::bad_alloc at memory location
> >     0x00d9ec28..
> >     >
> >     >
> >     >     This is the stack trace :
> >     >
> >     >          kernel32.dll!7c812afb()
> >     >          [Frames below may be incorrect and/or missing, no symbols
> >     >     loaded for kernel32.dll]
> >     >          kernel32.dll!7c812afb()
> >     >     >
> >      osg55-osgd.dll!std::_Allocate<osg::KdTree::KdNode>(unsigned int
> >     >     _Count=144230, osg::KdTree::KdNode * __formal=0x00000000)
> >      Line 43 +
> >     >     0xc bytes    C++
> >     >
> >     >
> >     osg55-osgd.dll!std::allocator<osg::KdTree::KdNode>::allocate(unsigned
> >     >     int _Count=144230)  Line 145 + 0xb bytes    C++
> >     >
> >     >
> >
> osg55-osgd.dll!std::vector<osg::KdTree::KdNode,std::allocator<osg::KdTree::KdNode>
> >     >     >::reserve(unsigned int _Count=144230)  Line 607 + 0xf bytes
> >      C++
> >     >
>  osg55-osgd.dll!BuildKdTree::build(osg::KdTree::BuildOptions &
> >     >     options={...}, osg::Geometry * geometry=0x35097a68)  Line 124
> >        C++
> >     >
>  osg55-osgd.dll!osg::KdTree::build(osg::KdTree::BuildOptions &
> >     >     options={...}, osg::Geometry * geometry=0x35097a68)  Line 764
> >     + 0x10
> >     >     bytes    C++
> >     >          osg55-osgd.dll!osg::KdTreeBuilder::apply(osg::Geode &
> >     >     geode={...})  Line 817 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::Geode::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 39 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Transform &
> >     >     node={...})  Line 121 + 0x13 bytes    C++
> >     >
>  osg55-osgd.dll!osg::NodeVisitor::apply(osg::MatrixTransform &
> >     >     node={...})  Line 136 + 0x13 bytes    C++
> >     >
> >      osg55-osgd.dll!osg::MatrixTransform::accept(osg::NodeVisitor &
> >     >     nv={...})  Line 37 + 0x41 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::traverse(osg::NodeVisitor &
> >     >     nv={...})  Line 62 + 0x25 bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::traverse(osg::Node &
> >     >     node={...})  Line 191 + 0x1c bytes    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Node &
> >     node={...})
> >     >     Line 72    C++
> >     >          osg55-osgd.dll!osg::NodeVisitor::apply(osg::Group &
> >     >     node={...})  Line 86 + 0x13 bytes    C++
> >     >          osg55-osgd.dll!osg::Group::accept(osg::NodeVisitor &
> >     nv={...})
> >     >     Line 38 + 0x41 bytes    C++
> >     >
> >     >
> >
> osg55-osgDBd.dll!osgDB::Registry::_buildKdTreeIfRequired(osgDB::ReaderWriter::ReadResult
> >     >     & result={...}, const osgDB::ReaderWriter::Options *
> >     >     options=0x00000000)  Line 342 + 0x23 bytes    C++
> >     >          osg55-osgDBd.dll!osgDB::Registry::readNode(const
> >     >
> >     std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> >     >     & fileName="Z:/a350.ive", const osgDB::ReaderWriter::Options *
> >     >     options=0x00000000, bool buildKdTreeIfRequired=true)  Line 241
> >        C++
> >     >          osg55-osgDBd.dll!osgDB::readNodeFile(const
> >     >
> >     std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> >     >     & filename="Z:/a350.ive", const osgDB::ReaderWriter::Options *
> >     >     options=0x00000000)  Line 69 + 0x1f bytes    C++
> >     >          3DEMd.dll!osgDB::readNodeFile(const
> >     >
> >     std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> >     >     & filename="Z:/a350.ive")  Line 106 + 0x1e bytes    C++
> >     >     ...
> >     >
> >     >
> >     >     I'll try to make a new ive file using directly osg2.8.1 to see
> if
> >     >     the problem is an osg version problem or something else.
> >     >
> >     >     Thanks,
> >     >
> >     >     Regards,
> >     >        Vincent.
> >     >
> >     >     2009/6/5 Robert Osfield
> >     >     <[email protected]
> >     <mailto:[email protected]>
> >     >     <mailto:[email protected]
> >     <mailto:[email protected]>>>
> >     >
> >     >         HI Vincent,
> >     >
> >     >         What you are doing should be OK, but I can't see that
> >     anyone can
> >     >         help
> >     >         point to what the problem without you providing at least a
> >     stack
> >     >         trace, and ideally a test model to look at.
> >     >
> >     >         Robert.
> >     >
> >     >         On Fri, Jun 5, 2009 at 5:06 PM, Vincent
> >     >
> >     Bourdier<[email protected]
> >     <mailto:[email protected]>
> >     >
> >     <mailto:[email protected]
> >     <mailto:[email protected]>>>
> >     >         wrote:
> >     >         > Hi all,
> >     >         >
> >     >         > I've got a crash on loading an ive file made by osgExp
> and
> >     >         opened/saved by
> >     >         > osg 2.6.1 next, because of the Kd Tree built.
> >     >         >
> >     >         > I use :
> >     >         >
> >     >         >
> >     >         >
> >     >
> >
> osgDB::Registry::instance()->setBuildKdTreesHint(osgDB::ReaderWriter::Options::BUILD_KDTREES);
> >     >         >
> >     >         > and I load the models after that.
> >     >         >
> >     >         > If I remove his line, the model load correctly.
> >     >         >
> >     >         > I use osg 2.8.1 now, and I cannot use this model ... do
> >     I need
> >     >         to open/save
> >     >         > the file exported by 3dsmax with osg 2.8.1 ?
> >     >         > Do I need to set the KDTree to do that ?
> >     >         > Do I set the KDTree correctly ?
> >     >         >
> >     >         > Thanks for your help, any suggestion would very
> appreciated.
> >     >         >
> >     >         > Regards,
> >     >         >    Vincent.
> >     >         >
> >     >         > _______________________________________________
> >     >         > osg-users mailing list
> >     >         >
> >     [email protected]
> >     <mailto:[email protected]>
> >     >
> >     <mailto:[email protected]
> >     <mailto:[email protected]>>
> >     >         >
> >     >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >     >         >
> >     >         >
> >     >         _______________________________________________
> >     >         osg-users mailing list
> >     >
> >     [email protected]
> >     <mailto:[email protected]>
> >     >
> >     <mailto:[email protected]
> >     <mailto:[email protected]>>
> >     >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >     >
> >     >
> >     >
> >
> >     _______________________________________________
> >     osg-users mailing list
> >     [email protected]
> >     <mailto:[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
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to