hi mark,

valgring reports two invalid reads :

==9114== invalid read of size 8
==9114==    at 0x4927fe85: eflowbaseeetabinsystem::getetabinetamax(int) const (eflowbaseeetabinsystem.cxx:160)
==9114==    by 0x494108bb: eflowbinnedparameters::makenewetabin(int, int) const (eflowbinnedparameters.cxx:151)
==9114==    by 0x49280c7f: eflowbaseeetabinsystem::createbins() (eflowbaseeetabinsystem.cxx:90)
==9114==    by 0x49280cf4: eflowbaseeetabinsystem::initialise(std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, bool) (eflowbaseeetabinsystem.cxx:59)
==9114==    by 0x49392a29: eflowcelleoverptool::execute(eflowbaseparameters*) (eflowcelleoverptool.cxx:47)
==9114==    by 0x493843f1: eflowshowersimulationtool::initialize() (eflowshowersimulationtool.cxx:81)
==9114==    by 0x148dc3dc: algtool::sysinitialize() (algtool.cpp:279)
==9114==  address 0x6ba65098 is 0 bytes after a block of size 208 alloc'd
==9114==    at 0x4906579: operator new(unsigned long) (vg_replace_malloc.c:230)
==9114==    by 0x97b6f6e: __gnu_cxx::new_allocator&lt;double&gt;::allocate(unsigned long, void const*) (new_allocator.h:92)
==9114==    by 0x97b6f9d: std::_vector_base&lt;double, std::allocator&lt;double&gt; &gt;::_m_allocate(unsigned long) (stl_vector.h:144)
==9114==    by 0x97b7d6e: double* std::vector&lt;double, std::allocator&lt;double&gt; &gt;::_m_allocate_and_copy&lt;__gnu_cxx::__normal_iterator&lt;double const*, std::vector&lt;double, std::allocator&lt;double&gt; &gt; &gt; &gt;(unsigned long, __gnu_cxx::__normal_iterator&lt;double const*, std::vector&lt;double, std::allocator&lt;double&gt; &gt; &gt;, __gnu_cxx::__normal_iterator&lt;double const*, std::vector&lt;double, std::allocator&lt;double&gt; &gt; &gt;) (stl_vector.h:904)
==9114==    by 0x97b7e07: std::vector&lt;double, std::allocator&lt;double&gt; &gt;::operator=(std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;) (vector.tcc:152)
==9114==    by 0x49280ceb: eflowbaseeetabinsystem::initialise(std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, bool) (eflowbaseeetabinsystem.cxx:57)
==9114==    by 0x49392a29: eflowcelleoverptool::execute(eflowbaseparameters*) (eflowcelleoverptool.cxx:47)

and

==9114== invalid read of size 8
==9114==    at 0x4927ff54: eflowbaseeetabinsystem::getebinenergymax(int) const (eflowbaseeetabinsystem.cxx:148)
==9114==    by 0x49410891: eflowbinnedparameters::makenewetabin(int, int) const (eflowbinnedparameters.cxx:151)
==9114==    by 0x49280c7f: eflowbaseeetabinsystem::createbins() (eflowbaseeetabinsystem.cxx:90)
==9114==    by 0x49280cf4: eflowbaseeetabinsystem::initialise(std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, bool) (eflowbaseeetabinsystem.cxx:59)
==9114==    by 0x49392a29: eflowcelleoverptool::execute(eflowbaseparameters*) (eflowcelleoverptool.cxx:47)
==9114==    by 0x493843f1: eflowshowersimulationtool::initialize() (eflowshowersimulationtool.cxx:81)
==9114==    by 0x148dc3dc: algtool::sysinitialize() (algtool.cpp:279)
==9114==  address 0x4d81b150 is 0 bytes after a block of size 32 alloc'd
==9114==    at 0x4906579: operator new(unsigned long) (vg_replace_malloc.c:230)
==9114==    by 0x97b6f6e: __gnu_cxx::new_allocator&lt;double&gt;::allocate(unsigned long, void const*) (new_allocator.h:92)
==9114==    by 0x97b6f9d: std::_vector_base&lt;double, std::allocator&lt;double&gt; &gt;::_m_allocate(unsigned long) (stl_vector.h:144)
==9114==    by 0x97b7d6e: double* std::vector&lt;double, std::allocator&lt;double&gt; &gt;::_m_allocate_and_copy&lt;__gnu_cxx::__normal_iterator&lt;double const*, std::vector&lt;double, std::allocator&lt;double&gt; &gt; &gt; &gt;(unsigned long, __gnu_cxx::__normal_iterator&lt;double const*, std::vector&lt;double, std::allocator&lt;double&gt; &gt; &gt;, __gnu_cxx::__normal_iterator&lt;double const*, std::vector&lt;double, std::allocator&lt;double&gt; &gt; &gt;) (stl_vector.h:904)
==9114==    by 0x97b7e07: std::vector&lt;double, std::allocator&lt;double&gt; &gt;::operator=(std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;) (vector.tcc:152)
==9114==    by 0x49280cda: eflowbaseeetabinsystem::initialise(std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, std::vector&lt;double, std::allocator&lt;double&gt; &gt; const&amp;, bool) (eflowbaseeetabinsystem.cxx:56)
==9114==    by 0x49392a29: eflowcelleoverptool::execute(eflowbaseparameters*) (eflowcelleoverptool.cxx:47)
==9114==    by 0x493843f1: eflowshowersimulationtool::initialize() (eflowshowersimulationtool.cxx:81)
==9114==    by 0x148dc3dc: algtool::sysinitialize() (algtool.cpp:279)

i was running in debug 64 bit build - took several hours.

can you have a look ?

thanks, rolf
