[Boost-bugs] [Boost C++ Libraries] #1714: crash due to new shared_from_this code

Subject: [Boost-bugs] [Boost C++ Libraries] #1714: crash due to new shared_from_this code
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-03-25 14:46:32


#1714: crash due to new shared_from_this code
-------------------------------------+--------------------------------------
 Reporter: dave | Owner: fmhess
     Type: Bugs | Status: new
Milestone: Boost 1.36.0 | Component: smart_ptr
  Version: Boost Development Trunk | Severity: Regression
 Keywords: |
-------------------------------------+--------------------------------------
 The following crash is generated by
 {{{
 cd libs/python/test
 bjam andreas_beyer
 }}}

 backtrace:

 {{{
> andreas_beyer_ext.pyd!shared_ptr<const void>::operator=() + 0xf
 bytes C++

         andreas_beyer_ext.pyd!sp_deleter_wrapper::set_deleter(const
 boost::shared_ptr<const void> & deleter={...}) Line 645 C++

 andreas_beyer_ext.pyd!enable_shared_from_this<A>::_internal_accept_owner(boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
 & owner={...}) Line 97 + 0x59 bytes C++

 andreas_beyer_ext.pyd!boost::detail::sp_enable_shared_from_this(boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
 * ptr=0x0021f47c, const boost::enable_shared_from_this<A> * pe=0x00986a78)
 Line 102 C++

         andreas_beyer_ext.pyd!_internal_element_type>::shared_ptr(A *
 p=0x00986a78, boost::python::converter::shared_ptr_deleter d={...}) Line
 192 + 0x15 bytes C++

         andreas_beyer_ext.pyd!shared_ptr_from_python<A>::construct(_object
 * const source=0x00a81f70,
 boost::python::converter::rvalue_from_python_stage1_data *
 data=0x0021f474) Line 50 + 0x7 bytes C++

         boost_python-iw-mt-gd-
 1_35.dll!boost::python::converter::rvalue_from_python_stage2(_object *
 source=0x00a81f70,
 boost::python::converter::rvalue_from_python_stage1_data & data={...},
 const boost::python::converter::registration & converters={...}) Line 112
 + 0x18 bytes C++

         andreas_beyer_ext.pyd!_internal_element_type> >::operator()()
 Line 186 + 0x26 bytes C++

         andreas_beyer_ext.pyd!_internal_element_type> >::operator const
 boost::shared_ptr<A> &() Line 138 + 0xa bytes C++

 andreas_beyer_ext.pyd!hold_python(boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
 & x={...}) Line 40 + 0x74 bytes C++

         andreas_beyer_ext.pyd!get_b_a(boost::shared_ptr<B> b={...}) Line
 45 + 0x19 bytes C++

         andreas_beyer_ext.pyd!boost::python::detail::invoke(const
 boost::python::to_python_value<boost::mpl::if_<boost::python::detail::copy_ctor_mutates_rhs<boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
>,
 boost::unwrap_reference<boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
>::type,
 boost::add_reference<boost::add_const<boost::unwrap_reference<boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
>::type>::type>::type>::type> & rc={...},
 boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
 *
 (boost::shared_ptr<boost::enable_shared_from_this<A>::_internal_element_type>
 *, boost::shared_ptr<B>)* & f=0x1000189d,
 boost::python::arg_from_python<boost::mpl::v_iter<boost::mpl::vector2<A::A_ptr,
 boost::shared_ptr<B> >::type, 1L>::type> & ac0={...}) Line 75 + 0x30
 bytes C++

 andreas_beyer_ext.pyd!oost::mpl::and_<boost::mpl::not_<boost::is_same<const
 boost::python::detail::not_specified &, boost::mpl::_1> >,
 boost::detail::indirect_traits::is_reference_to_class<boost::mpl::_1>,
 boost::mpl::not_<boost::python::detail::is_reference_to_keywords<boost::mpl::_1>
>, boost::mpl::true_, boost::mpl::true_>,
 boost::mpl::void_>::type>::result_type, boost::mpl::vector2<A::A_ptr,
 boost::shared_ptr<B> > >::operator()(_object * const args_=0x00ba0790,
 boost::python::detail::caller_arity<1U>::impl<A::A_ptr *(*)(A::A_ptr *,
 boost::shared_ptr<B>),
 boost::python::detail::tuple_extract_impl<false>::apply<boost::python::detail::def_helper<const
 char *, boost::python::detail::not_specified,
 boost::python::detail::not_specified,
 boost::python::detail::not_specified>::all_t,
 boost::mpl::lambda<boost::mpl::and_<boost::mpl::not_<boost::is_same<const
 boost::python::detail::not_specified &, boost::mpl::_1> >,
 boost::detail::indirect_traits::is_reference_to_class<boost::mpl::_1>,
 boost::mpl::not_<boost::python::detail::is_reference_to_keywords<boost::mpl::_1>
>, boost::mpl::true_, boost::mpl::true_>,
 boost::mpl::void_>::type>::result_type, boost::mpl::vector2<A::A_ptr,
 boost::shared_ptr<B> > > * this=0x009869f4) Line 218 + 0x5 bytes C++

 andreas_beyer_ext.pyd!st::mpl::and_<boost::mpl::not_<boost::is_same<const
 boost::python::detail::not_specified &, boost::mpl::_1> >,
 boost::detail::indirect_traits::is_reference_to_class<boost::mpl::_1>,
 boost::mpl::not_<boost::python::detail::is_reference_to_keywords<boost::mpl::_1>
>, boost::mpl::true_, boost::mpl::true_>,
 boost::mpl::void_>::type>::result_type, boost::mpl::vector2<A::A_ptr,
 boost::shared_ptr<B> > > >::operator()(_object * const args=0x00ba0790,
 _object * const kw=0x00000000) Line 38 + 0x1d bytes C++

         boost_python-iw-mt-gd-1_35.dll!py_function::operator()(_object *
 args=0x00ba0790, _object * kw=0x00000000) Line 143 + 0x32 bytes C++

         boost_python-iw-mt-gd-1_35.dll!function::call(_object *
 args=0x00ba0790, _object * keywords=0x00000000) Line 226 + 0x47 bytes
 C++

         boost_python-iw-mt-gd-1_35.dll!bind_return::operator()() Line 581
 + 0x23 bytes C++

         boost_python-iw-mt-gd-
 1_35.dll!objects::?%546a76fe::bind_return>::type,
 void>::invoke(boost::detail::function::function_buffer &
 function_obj_ptr={...}) Line 194 C++

         boost_python-iw-mt-gd-1_35.dll! >::operator()() Line 824 + 0x2
 bytes C++

         boost_python-iw-mt-gd-
 1_35.dll!boost::python::handle_exception_impl(boost::function0<void,
 std::allocator<boost::function_base> > f={...}) Line 25 + 0xa bytes C++

         boost_python-iw-mt-gd-
 1_35.dll!boost::python::handle_exception(boost::python::objects::?%546a76fe::bind_return
 f={...}) Line 29 + 0x3a bytes C++

         boost_python-iw-mt-gd-
 1_35.dll!boost::python::objects::function_call(_object * const
 func=0x00986a28, _object * const args=0x00ba0790, _object * const
 kw=0x00000000) Line 613 + 0x49 bytes C++

         python25.dll!1e0266dc()

         [Frames below may be incorrect and/or missing, no symbols loaded
 for python25.dll]

         python25.dll!1e039e6d()

         python25.dll!1e03ae12()

         python25.dll!1e03cdca()

         python25.dll!1e07090e()

         python25.dll!1e03dcdd()

         python25.dll!1e03dd42()

         python25.dll!1e03dfab()

         python25.dll!1e03c1ab()

         python25.dll!1e0709f2()

         python25.dll!1e03dcdd()

         python25.dll!1e039bfc()

         python25.dll!1e03ae02()

         python25.dll!1e03cdca()

         python25.dll!1e07090e()

         python25.dll!1e03dcdd()

         python25.dll!1e039bfc()

         python25.dll!1e03ae02()

         python25.dll!1e03cdca()

         python25.dll!1e07090e()

         python25.dll!1e03dcdd()

         python25.dll!1e039bfc()

         python25.dll!1e03ae02()

         python25.dll!1e03cdca()

         python25.dll!1e07090e()

         python25.dll!1e03dcdd()

         python25.dll!1e039bfc()

         python25.dll!1e03ae02()

         python25.dll!1e03c5c1()

         python25.dll!1e03cdca()

         python25.dll!1e07090e()

         python25.dll!1e03dcdd()

         python25.dll!1e0818ab()

         python25.dll!1e03dd42()

         python25.dll!1e0ab00a()

         python25.dll!1e0abf86()

         python25.dll!1e0ac65d()

         msvcr71.dll!7c38a87e()

         python25.dll!1e0acc6a()

         python25.dll!1e08a396()

         python.exe!1d0011a5()

         kernel32.dll!7c816fd7()

 }}}

--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1714>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.


This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:57 UTC