Hi Gerrit,

I've been valgrinding OpenSG a few times today to find where one of our 
programs 
drops huge amounts of memory (see other mail) and in that context I saw these 
two:

==5241== 8,390,164 bytes in 5 blocks are still reachable in loss
record 1,895 of 1,896
==5241==    at 0x4A06D5C: operator new(unsigned long) (vg_replace_malloc.c:230)
==5241==    by 0x41896C:
__gnu_cxx::new_allocator<unsigned>::allocate(unsigned long, void
const*) (new_allocator.h:92)
==5241==    by 0x41899B: std::_Vector_base<unsigned,
std::allocator<unsigned> >::_M_allocate(unsigned long)
(stl_vector.h:144)
==5241==    by 0x41AAB3: std::vector<unsigned,
std::allocator<unsigned>
 > >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned*,
std::vector<unsigned, std::allocator<unsigned> > >, unsigned const&)
(vector.tcc:308)
==5241==    by 0x6065E78: OSG::StateChunkClass::initialize() (stl_vector.h:694)
==5241==    by 0x4CAE733: boost::function0<bool>::operator()() const
(function_template.hpp:989)
==5241==    by 0x4CADA6C: OSG::osgDoInit(int, char**, unsigned short,
unsigned short, unsigned short, bool, bool, bool)
(OSGBaseInitFunctions.cpp:781)
==5241==    by 0x42DAF2: OSG::osgInit(int, char**, unsigned short,
unsigned short, unsigned short, bool, bool, bool)
(OSGBaseInitFunctions.inl:80)
==5241==    by 0x42D091: main (main.cpp:146)


==5241== 27,269,805 bytes in 21 blocks are still reachable in loss
record 1,896 of 1,896
==5241==    at 0x4A06D5C: operator new(unsigned long) (vg_replace_malloc.c:230)
==5241==    by 0x4DCA54F: std::vector<unsigned char,
std::allocator<unsigned char>
 > >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*,
std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned
long, unsigned char const&) (new_allocator.h:92)
==5241==    by 0x795F641: OSG::RegisterCombinersChunk::ensureSizes()
(stl_vector.h:792)
==5241==    by 0x795F8C1:
OSG::RegisterCombinersChunk::clearCombiners()
(OSGRegisterCombinersChunk.cpp:542)
==5241==    by 0x794C271:
OSG::RegisterCombinersChunkBase::createEmptyLocal(unsigned long)
(OSGFieldContainer.inl:538)
==5241==    by 0x4DA53D1: OSG::FieldContainerType::initPrototype()
(OSGFieldContainerType.cpp:209)
==5241==    by 0x4DA560F: OSG::FieldContainerType::initialize()
(OSGFieldContainerType.cpp:169)
==5241==    by 0x4D9B32C:
OSG::ContainerFactory<OSG::FieldContainerFactoryDesc>::initializePendingElements()
(OSGContainerFactory.inl:305)
==5241==    by 0x4D99BBE: OSG::FieldContainerFactoryBase::initialize()
(OSGContainerFactory.inl:364)
==5241==    by 0x4CC2E9B: OSG::FactoryControllerBase::initialize()
(OSGFactoryController.cpp:130)
==5241==    by 0x4CADAD9: OSG::osgDoInit(int, char**, unsigned short,
unsigned short, unsigned short, bool, bool, bool)
(OSGBaseInitFunctions.cpp:793)
==5241==    by 0x42DAF2: OSG::osgInit(int, char**, unsigned short,
unsigned short, unsigned short, bool, bool, bool)
(OSGBaseInitFunctions.inl:80)


I'm very confused about them. 27 MB for a few vectors from the 
RegisterCombinersChunk seems pretty weird, and so do 8 MB from the StateChunk 
initialization.

Have you seen those, and do you have an explanation for them? Or is it just a 
sideeffect of something else going wrong with our version?

        Dirk


------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core

Reply via email to