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