[Rock-dev] [rock] #266: rtt_typelib: Handling of RTT::extras::ReadOnlyPointer<std::vector< T > >

rock noreply at opendfki.de
Tue May 7 11:13:13 CEST 2013


#266: rtt_typelib: Handling of RTT::extras::ReadOnlyPointer<std::vector< T > >
--------------------+-----------------------------------
 Reporter:  thro02  |      Owner:  rock-dev-mailing-list
     Type:  defect  |     Status:  new
 Priority:  normal  |  Milestone:
Component:  base    |   Keywords:
--------------------+-----------------------------------
 TypelibMarshallerBase::getSampleSize segfaults for types defined as read-
 only pointer on a container:

 RTT::internal::ConnFactory::createStream<RTT::extras::ReadOnlyPointer<std::vector<envire::BinaryEvent,
 std::allocator<envire::BinaryEvent> > >
 >(RTT::OutputPort<RTT::extras::ReadOnlyPointer<std::vector<envire::BinaryEvent,
 std::allocator<envire::BinaryEvent> > > >&, RTT::ConnPolicy const&)
 (ConnFactory.hpp:331)
 ==20647==    by 0xE06DBFF: ???
 ==20647==  Address 0x4 is not stack'd, malloc'd or (recently) free'd
 ==20647==
 ==20647==
 ==20647== Process terminating with default action of signal 11 (SIGSEGV)
 ==20647==  Access not within mapped region at address 0x4
 ==20647==    at 0x57705EA: Vector::getElementCount(void const*) const (in
 /opt/software_cohon/install/lib/typelib/libtypeLang_cSupport.so)
 ==20647==    by 0x7BEEC7B: Typelib::ValueOps::dump(unsigned char const*,
 unsigned int, Typelib::OutputStream&,
 __gnu_cxx::__normal_iterator<unsigned int const*, std::vector<unsigned
 int, std::allocator<unsigned int> > >,
 __gnu_cxx::__normal_iterator<unsigned int const*, std::vector<unsigned
 int, std::allocator<unsigned int> > >) (in
 /opt/software_cohon/install/lib/libtypeLib.so.1.1)
 ==20647==    by 0x7BEF7D8: Typelib::getDumpSize(unsigned char const*,
 std::vector<unsigned int, std::allocator<unsigned int> > const&) (in
 /opt/software_cohon/install/lib/libtypeLib.so.1.1)
 ==20647==    by 0x7BABC0E:
 orogen_transports::MQTypelibMarshallerBase::getSampleSize(boost::intrusive_ptr<RTT::base::DataSourceBase>,
 void*) const (MQTypelibMarshaller.cpp:54)
 ==20647==    by 0x740B60E:
 orogen_transports::MQTypelibMarshaller<RTT::extras::ReadOnlyPointer<std::vector<envire::BinaryEvent,
 std::allocator<envire::BinaryEvent> > >
 >::getSampleSize(boost::intrusive_ptr<RTT::base::DataSourceBase>, void*)
 const (MQTypelibMarshaller.hpp:55)

-- 
Ticket URL: <https://rock.opendfki.de/ticket/266>
rock <https://rock.opendfki.de>
rock: the robot construction kit


More information about the Rock-dev mailing list