Sebastian,

I've installed Microsoft Visual C++ 2005 Express Edition and used it to open
the tuscany_sdo.sln file in a fresh extract from svn and a debug build fails
claiming that it can't find odbc32.lib. Have you seen that before? I'm a bit
puzzled because it ran a wizard that claimed to be migrating the projects
and they all build happily in MS VC 7.1.

Regards,

Geoff.

On 13/09/06, Geoffrey Winn <[EMAIL PROTECTED]> wrote:

That's a shame. OK. I guess I'll have to do it the hard way and install
VC++ Express.


On 12/09/06, Jean-Sebastien Delfino (JIRA) < [email protected]>
wrote:
>
>     [
> 
http://issues.apache.org/jira/browse/TUSCANY-719?page=comments#action_12434304]
>
> Jean-Sebastien Delfino commented on TUSCANY-719:
> ------------------------------------------------
>
> Hi Geoff,
>
> I tried your patch on Windows / VC++ express 2005 and got the same
> exception as before: incompatible list iterator
>
>
>
> > Exception in SDO runtime on Windows using VC++ Express 2005
> > -----------------------------------------------------------
> >
> >                 Key: TUSCANY-719
> >                 URL: http://issues.apache.org/jira/browse/TUSCANY-719
> >             Project: Tuscany
> >          Issue Type: Bug
> >          Components: C++ SDO
> >    Affects Versions: Cpp-current
> >         Environment: Windows and VC++ Express 2005
> >            Reporter: Geoff Winn
> >            Priority: Minor
> >         Attachments: TUSCANY-jsd.patch
> >
> >
> > Here's the Exception and call stack I'm getting from sdo_test on
> > Windows, built with VC++ Express 2005:
> >     msvcp80d.dll!104f9961()
> >     [Frames below may be incorrect and/or missing, no symbols loaded
> > for msvcp80d.dll]
> >  >
> >
> tuscany_sdo.dll!std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
> >  >::_Const_iterator<1>::_Compat(const
> > std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
> >  >::_Const_iterator<1> & _Right={first=3452816845 second={...}
> })  Line
> > 309 + 0x17 bytes    C++
> >
> tuscany_sdo.dll!std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
> >  >::_Const_iterator<1>::operator==(const
> > std::list<commonj::sdo::rdo,std::allocator<commonj::sdo::rdo>
> >  >::_Const_iterator<1> & _Right={first=3452816845 second={...}
> })  Line
> > 290    C++
> >     tuscany_sdo.dll!commonj::sdo::DataObjectImpl::~DataObjectImpl()
> > Line 4564 + 0x37 bytes    C++
> >     tuscany_sdo.dll!commonj::sdo::DataObjectImpl::`scalar deleting
> > destructor'()  + 0x2b bytes    C++
> >
> tuscany_sdo.dll!commonj::sdo::RefCountingObject::releaseRef()  Line
> > 69 + 0x4c bytes    C++
> >
> 
sdo_test.exe!commonj::sdo::RefCountingPointer<commonj::sdo::DataObject>::~RefCountingPointer<commonj::sdo::DataObject>()
>
> > Line 133 + 0x15 bytes    C++
> >     sdo_test.exe!sdotest::scopetest()  Line 69 + 0x19 bytes    C++
> >     sdo_test.exe!main(int argc=1, char * * argv=0x00386018)  Line 48 +
> > 0x5 bytes    C++
> >     sdo_test.exe!__tmainCRTStartup()  Line 586 + 0x19 bytes    C
> >     sdo_test.exe!mainCRTStartup()  Line 403    C
> > The exception is raised in list.cpp - line 309:
> >  #if _HAS_ITERATOR_DEBUGGING
> >        void _Compat(const _Myt_iter& _Right) const
> >            {    // test for compatible iterator pair
> >            if (this->_Mycont == 0 || this->_Mycont != _Right._Mycont)
> >                {
> >                _DEBUG_ERROR("list iterators incompatible"); <----
> There
> >                _SCL_SECURE_TRAITS_INVALID_ARGUMENT;
> >                }
> >            }
> > This is called from DataObjectImpl::~DataObjectImpl():
> >         PropertyValueMap::iterator i = PropertyValues.begin();
> >        while (i != PropertyValues.end ())
> >        {
> >            unset((*i).first);
> >            if (i == PropertyValues.begin())  <-- There
> >            {
> >                // unset has not removed the item from the list - do it
>
> >                // here instead
> >                PropertyValues.erase(i);
> >            }
> >            i = PropertyValues.begin();
> >        }
> > And I am a little puzzled by the code in the above loop... Although I
> > didn't spend much time trying to grasp the logic here, and I have not
> > been playing with C++ iterators too much lately, my experience is that
> > removing entries from a collection that you're iterating on is usually
> a
> > sure way to shoot yourself in the foot :) so I may be wrong but I
> sense
> > a bug somewhere in this loop...
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>
>

Reply via email to