Problem with Reporter

Hi,

I'lm trying to use the reporter in order to plot the data from the ports of
my components.
My ports have for type std::vector<double>. If I don't try to decompose them
there is no problems. So the data is stored in a txt file like this "Port1"
-> {0,0,0,0} "Port2"-> {0,0,0,0} .... etc.
However in order to make easier the data treatment I would like to decompose
the port to have the data sore like this 0,0,0,0,0,0,0 without "{" and "}"
char
That's why I've tried to put the property "Decompose" to 1. The results is
the following:
- When I deploy I can configure the component ( It connect to ports without
problem)
- When I try to start it there is a segmentation fault with the following
backtrace :

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
In Task Reporter[S]
(type 'ls' for context info) :start
Got :start

Program received signal SIGSEGV, Segmentation fault.
0x01b1680c in __dynamic_cast () from /usr/lib/libstdc++.so.6
(gdb) bt
#0 0x01b1680c in __dynamic_cast () from /usr/lib/libstdc++.so.6
#1 0x0339ac2a in
RTT::TableMarshaller<std::ostream>::serialize(RTT::base::PropertyBase*) ()
from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/install/lib/orocos/liborocos-reporting-gnulinux.so.1.99.3
#2 0x0339ad49 in
RTT::TableMarshaller<std::ostream>::serialize(RTT::PropertyBag const&) ()
from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/install/lib/orocos/liborocos-reporting-gnulinux.so.1.99.3
#3 0x0339ac54 in
RTT::TableMarshaller<std::ostream>::serialize(RTT::base::PropertyBase*) ()
from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/install/lib/orocos/liborocos-reporting-gnulinux.so.1.99.3
#4 0x0339ad49 in
RTT::TableMarshaller<std::ostream>::serialize(RTT::PropertyBag const&) ()
from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/install/lib/orocos/liborocos-reporting-gnulinux.so.1.99.3
#5 0x033a7513 in OCL::ReportingComponent::startHook() () from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/install/lib/orocos/liborocos-reporting-gnulinux.so.1.99.3
#6 0x0339ea5a in OCL::FileReporting::startHook() () from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/install/lib/orocos/liborocos-reporting-gnulinux.so.1.99.3
#7 0x0074fdb3 in RTT::base::TaskCore::start() () from
/home/lias/kul-ros-pkg/orocos/rtt/rtt_2.0/lib/liborocos-rtt-gnulinux.so.1.99
#8 0x006cf645 in RTT::TaskContext::start() () from
/home/lias/kul-ros-pkg/orocos/rtt/rtt_2.0/lib/liborocos-rtt-gnulinux.so.1.99
#9 0x006e8015 in boost::_mfi::mf0<bool,
RTT::TaskContext>::operator()(RTT::TaskContext*) const ()
from
/home/lias/kul-ros-pkg/orocos/rtt/rtt_2.0/lib/liborocos-rtt-gnulinux.so.1.99
#10 0x006e7816 in bool
boost::_bi::list1<boost::_bi::value boost::_mfi::mf0 boost::_bi::list0>(boost::_bi::type<bool>, boost::_mfi::mf0<bool,
RTT::TaskContext>&, boost::_bi::list0&, long) () from
/home/lias/kul-ros-pkg/orocos/rtt/rtt_2.0/lib/liborocos-rtt-gnulinux.so.1.99
#11 0x006e71fe in boost::_bi::bind_t<boost::_bi::unspecified,
boost::_mfi::mf0 boost::_bi::list1<boost::_bi::value from
/home/lias/kul-ros-pkg/orocos/rtt/rtt_2.0/lib/liborocos-rtt-gnulinux.so.1.99
#12 0x006e6af6 in
boost::detail::function::function_obj_invoker0<boost::_bi::bind_t boost::_mfi::mf0 boost::_bi::list1<boost::_bi::value bool>::invoke(boost::detail::function::function_buffer&) () from
/home/lias/kul-ros-pkg/orocos/rtt/rtt_2.0/lib/liborocos-rtt-gnulinux.so.1.99
#13 0x0040f39d in boost::function0<bool>::operator()() const () from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/lib/liborocos-deployment-gnulinux.so.1.99
#14 0x003fd867 in RTT::internal::LocalMethodImpl<bool ()()>::call_impl() ()
from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/lib/liborocos-deployment-gnulinux.so.1.99
#15 0x003ed8cb in RTT::internal::InvokerImpl<0, bool ()(),
RTT::internal::LocalMethodImpl<bool ()()> >::call() ()
from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/lib/liborocos-deployment-gnulinux.so.1.99
#16 0x004564a3 in bool boost::fusion::detail::invoke_mem_fn<bool
(RTT::base::MethodBase boost::fusion::cons<RTT::base::MethodBase boost::fusion::vector<boost::fusion::void_, boost::fusion::void_,
boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
boost::fusion::void_, boost::fusion::void_> > const, 1, false>::call<bool
(RTT::base::MethodBase ()()>::*&)(), boost::fusion::cons<RTT::base::MethodBase boost::fusion::vector<boost::fusion::void_, boost::fusion::void_,
boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
boost::fusion::void_, boost::fusion::void_, boost::fusion::void_,
boost::fusion::void_, boost::fusion::void_> > const&) ()
from
/home/lias/kul-ros-pkg/orocos/ocl/ocl_2.0/lib/liborocos-deployment-gnulinux.so.1.99

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Has somebody already encounter this problem ?
Thank you for your help

Sebastien

Problem with Reporter

On Monday 23 August 2010 15:20:48 seb ferris wrote:
> Hi,
>
> I'lm trying to use the reporter in order to plot the data from the ports of
> my components.
> My ports have for type std::vector<double>. If I don't try to decompose
> them there is no problems. So the data is stored in a txt file like this
> "Port1" -> {0,0,0,0} "Port2"-> {0,0,0,0} .... etc.
> However in order to make easier the data treatment I would like to
> decompose the port to have the data sore like this 0,0,0,0,0,0,0 without
> "{" and "}" char
> That's why I've tried to put the property "Decompose" to 1. The results is
> the following:
> - When I deploy I can configure the component ( It connect to ports
> without problem)
> - When I try to start it there is a segmentation fault with the following
> backtrace :

You are using OCL 1.99.3 (../orocos/liborocos-reporting-gnulinux.so.1.99.3).
Use at least 1.99.4 or later.

Peter

Problem with Reporter

On Monday 23 August 2010 15:48:56 seb ferris wrote:
> 2010/8/23 Peter Soetens <peter [..] ...>
>
> > On Monday 23 August 2010 15:20:48 seb ferris wrote:
> > > Hi,
> > >
> > > I'lm trying to use the reporter in order to plot the data from the
> > > ports
> >
> > of
> >
> > > my components.
> > > My ports have for type std::vector<double>. If I don't try to decompose
> > > them there is no problems. So the data is stored in a txt file like
> > > this "Port1" -> {0,0,0,0} "Port2"-> {0,0,0,0} .... etc.
> > > However in order to make easier the data treatment I would like to
> > > decompose the port to have the data sore like this 0,0,0,0,0,0,0
> >
> > without
> >
> > > "{" and "}" char
> > > That's why I've tried to put the property "Decompose" to 1. The
> > > results
> >
> > is
> >
> > > the following:
> > > - When I deploy I can configure the component ( It connect to ports
> > > without problem)
> > > - When I try to start it there is a segmentation fault with the
> >
> > following
> >
> > > backtrace :
> >
> > You are using OCL 1.99.3
> > (../orocos/liborocos-reporting-gnulinux.so.1.99.3).
> > Use at least 1.99.4 or later.
> >
> > Peter
>
> Ok,
> but in my ocl_2.0/lib Ive the following choices :
>
> liborocos-reporting-gnulinux.so
> liborocos-reporting-gnulinux.so.1.99
> liborocos-reporting-gnulinux.so.1.99.3
> liborocos-reporting-gnulinux.so.1.99.4
>
> But where can I choose the one that will be used? ( when in my xml file for
> deployment I use <struct name="Reporter" type="OCL::FileReporting">)

We only support versioning if you specify the file directly by using an import
statement and omit the ocl_2.0/lib directory from your RTT_COMPONENT path.

You'd better just remove all occurences of v1.99.3 files.

Peter

Problem with Reporter

On Monday 23 August 2010 17:25:35 seb ferris wrote:
> Hi,
> When I don't try to use "DECOMPOSE" =1 I have the file in enclosure.
> With Decompose=1 I now have a new segmentation fault with the following
> backtrace :

Yep, can reproduce this. I'm onto it.

Peter

Problem with Reporter

On Tuesday 24 August 2010 12:50:01 Peter Soetens wrote:
> On Monday 23 August 2010 17:25:35 seb ferris wrote:
> > Hi,
> > When I don't try to use "DECOMPOSE" =1 I have the file in enclosure.
> > With Decompose=1 I now have a new segmentation fault with the following
> > backtrace :
>
> Yep, can reproduce this. I'm onto it.

I have pushed the fix to the github/gitorious branches. One thing that is still
awkward is that the 'NullSample' property makes no sense. Your whole
vector<double> would be replaced by "-" instead of a "-" for each element in
your array. So the number of columns would vary... I have set "last" as
default for now, so check that your configuration of the Reporter does contain
this too for that property.

Tested both sampling/event driven modes. Let me know if you still encounter
problems.

Peter