> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf 
> Of Dirk Reiners
> Sent: Friday, March 23, 2007 12:59 AM
> To: [email protected]
> Subject: [Opensg-users] VS8 (was: Re: (no subject))
> 
> 
>       Hi Marcus, hi Thomas,
> 
> Marcus Lindblom wrote:
> >
> > No idea why it crashes. But I do know that windows is used with 
> > clustering. However, it could be that OpenSG accesses [0] 
> for an empty 
> > vector but does not use it, since the vector is empty. This is then 
> > caught by the VS 8.0 "secure" STL which gives that error.
> > 
> > Changing that isn't easy since you have a precompiled OpenSG, 
> > otherwise one could define stuff like SCL_SECURE 0 etc to 
> get rid of 
> > it, then recompile and it would probably work ok.
> > 
> > The proper fix would of course be to avoid accessing said 
> element for 
> > an empty vector, but it's not easy to fix all those details in 
> > something as big as OpenSG. I'm not sure it's legal or not 
> in C++ to 
> > compute an invalid adress like that. Most systems allow it, 
> but some more "secure"
> > system traps as soon as an illegal adress is loaded into an adress 
> > register, hence MS decided to check for this. (Although 
> it's safe on 
> > x86, it's not legal C++). Anyway, enough rambling on that.
> 
> I did fix a whole bunch of those when doing the initial VS8 
> port. If you can give me a stack dump I might be able to find 
> this one, if that's what it is.
> 
>       Dirk

Here your are:

>       msvcp80d.dll!std::_Debug_message(const wchar_t * message=0x10371870,
const wchar_t * file=0x103718b0, unsigned int line=741)  Line 24        C++
        OSGBaseD.dll!std::vector<int,std::allocator<int>
>::operator[](unsigned int _Pos=0)  Line 741 + 0x17 bytes       C++
        OSGBaseD.dll!osg::MField<int,0>::getBinSize()  Line 690 + 0x19 bytes
C++
        OSGSystemD.dll!osg::ChunkMaterialBase::getBinSize(const unsigned
__int64 & whichField=16)  Line 214 + 0xe bytes  C++
        OSGSystemD.dll!osg::NFIOBase::writeFCFields(const
osg::FieldContainerPtr & fc={...}, const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
exclude="", bool endMarker=true)  Line 548 + 0x27 bytes C++
        OSGSystemD.dll!osg::NFIOGeneric::writeFC(const
osg::FieldContainerPtr & fc={...})  Line 159 + 0x33 bytes       C++
        OSGSystemD.dll!osg::NFIOBase::writeFieldContainer(const
osg::FieldContainerPtr & fc={...})  Line 462 + 0x87 bytes       C++
        OSGSystemD.dll!osg::NFIOBase::write(const osg::NodePtr & node={...},
std::basic_ostream<char,std::char_traits<char> > & os={...}, const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
options="")  Line 136 + 0x9 bytes       C++
        OSGSystemD.dll!osg::NFIOSceneFileType::write(const osg::NodePtr &
node={...}, std::basic_ostream<char,std::char_traits<char> > & os={...},
const char * __formal=0x0012eb60)  Line 114 + 0x14 bytes        C++
        OSGSystemD.dll!osg::SceneFileHandler::write(const osg::NodePtr &
node={...}, std::basic_ostream<char,std::char_traits<char> > & os={...},
const char * fileNameOrExtension=0x0012eb60, bool compress=false)  Line 452
+ 0x1b bytes    C++
        OSGSystemD.dll!osg::SceneFileHandler::write(const osg::NodePtr &
node={...}, const char * fileName=0x0012eb60, bool compress=false)  Line 493
+ 0x22 bytes    C++
        VistaGeometryDemo.Debug.OpenSG.exe!CGeometryDemo::CreateObjects()
Line 256 + 0xbf bytes   C++


Regards,
Thomas



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to