[CoinUtils-tickets] Re: [COIN-OR Common Utilities] #28: umr due to set not defined when first insert

COIN-OR Common Utilities coin-trac at coin-or.org
Sun Apr 8 10:02:18 EDT 2007


#28: umr due to set not defined when first insert
-------------------------+--------------------------------------------------
  Reporter:  mgalati     |       Owner:  somebody
      Type:  defect      |      Status:  new     
  Priority:  major       |   Milestone:          
 Component:  component1  |     Version:          
Resolution:              |    Keywords:  umr     
-------------------------+--------------------------------------------------
Comment (by mgalati):

 Laci - that did not work. But, I played around some more and Purify seems
 to be complaining about a few bytes inside the set object. If you trace
 its allocation into xtree, it does not seem to init _MyVal, which is what
 I think Purify is complaining about.

 I'll play around some more later. But, either this is intended and Purify
 is just paranoid, or the STL implementation is faulty. I don't think this
 is a COIN bug.

 {{{
 _Nodeptr _Buynode()
         {    // allocate a head/nil node
         _Nodeptr _Wherenode = this->_Alnod.allocate(1);
         int _Linkcnt = 0;

         _TRY_BEGIN
         this->_Alptr.construct(&_Left(_Wherenode), 0);
         ++_Linkcnt;
         this->_Alptr.construct(&_Parent(_Wherenode), 0);
         ++_Linkcnt;
         this->_Alptr.construct(&_Right(_Wherenode), 0);
         _CATCH_ALL
         if (1 < _Linkcnt)
             this->_Alptr.destroy(&_Parent(_Wherenode));
         if (0 < _Linkcnt)
             this->_Alptr.destroy(&_Left(_Wherenode));
         this->_Alnod.deallocate(_Wherenode, 1);
         _RERAISE;
         _CATCH_END
         _Color(_Wherenode) = _Black;
         _Isnil(_Wherenode) = false;
         return (_Wherenode);
         }
 }}}


 {{{
 >
 MAD.exe!std::_Tree<std::_Tset_traits<int,std::less<int>,std::allocator<int>,0>
 >::_Buynode()  Line 1310    C++
 MAD.exe!std::_Tree<std::_Tset_traits<int,std::less<int>,std::allocator<int>,0>
 >::_Init()  Line 1084 + 0x8 bytes    C++
 MAD.exe!std::_Tree<std::_Tset_traits<int,std::less<int>,std::allocator<int>,0>
 >::_Tree<std::_Tset_traits<int,std::less<int>,std::allocator<int>,0>
 >(const std::less<int> & _Parg={...}, const std::allocator<int> &
 _Al={...})  Line 497    C++
      MAD.exe!std::set<int,std::less<int>,std::allocator<int>
 >::set<int,std::less<int>,std::allocator<int> >()  Line 93    C++
      MAD.exe!CoinPackedVectorBase::indexSet(const char *
 methodName=0x00ac75ec, const char * className=0x00ac75c0)  Line 253 + 0x2b
 bytes    C++
      MAD.exe!CoinPackedVectorBase::duplicateIndex(const char *
 methodName=0x00ac75ec, const char * className=0x00ac75c0)  Line 106    C++
      MAD.exe!CoinPackedVectorBase::setTestForDuplicateIndex(bool
 test=true)  Line 64    C++
      MAD.exe!CoinPackedVector::CoinPackedVector(bool
 testForDuplicateIndex=true)  Line 365    C++
      MAD.exe!MAD_DecompApp::APPcreateModel(double * & objCoeff=0x00b60c60,
 std::map<int,DecompConstraintSet
 *,std::less<int>,std::allocator<std::pair<int const ,DecompConstraintSet
 *> > > & modelCore=[0x00000000](), std::map<int,DecompConstraintSet
 *,std::less<int>,std::allocator<std::pair<int const ,DecompConstraintSet
 *> > > & modelRelax=[0x00000000]())  Line 158 + 0xd bytes    C++
      MAD.exe!DecompApp::createModel()  Line 45 + 0x29 bytes    C++
      MAD.exe!main(int argc=0x00000001, char * * argv=0x00333870)  Line 83
 C++
      MAD.exe!__tmainCRTStartup()  Line 318 + 0x19 bytes    C
      MAD.exe!mainCRTStartup()  Line 187    C
      kernel32.dll!7c816fd7()
      [Frames below may be incorrect and/or missing, no symbols loaded for
 kernel32.dll]
 }}}

-- 
Ticket URL: <https://projects.coin-or.org/CoinUtils/ticket/28#comment:3>
COIN-OR Common Utilities <http://projects.coin-or.org/CoinUtils>
Common data structures and linear algebra functions for COIN-OR projects



More information about the CoinUtils-tickets mailing list