[Bug 1030] New: Indexing a struct type in the Taskbrowser triggers an assertion


Summary: Indexing a struct type in the Taskbrowser triggers an
Product: Toolchain
Version: master
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: RTT
AssignedTo: orocos-dev [..] ...
ReportedBy: ruben [dot] smits [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

If I create a variable in the Taskbrowser based on StructTypeInfo and try to
index it (which it does not support) an assertion is triggered:

Deployer [S]> var ConnPolicy cp
= {type = 0, init = false, lock_policy = 2, pull = false, size = 0, transport
= 0, data_size = 0, name_id = }

Deployer [S]> cp[0]
RTT::base::DataSourceBase::shared_ptr RTT::types::StructTypeInfo<T,
RTT::base::DataSourceBase::shared_ptr) const [with T = RTT::ConnPolicy, bool
has_ostream = false, RTT::base::DataSourceBase::shared_ptr =
boost::intrusive_ptr<RTT::base::DataSourceBase>]: Assertion `false && "You're
doing something new and exotic. Contact the Orocos-dev mailing list."' failed.
/home/rsmits/LBE/ros-workspace/orocos_toolchain/install/bin/deployer: line 20:
18246 Aborted (core dumped) $cmd $*

rttlua does not suffer from the assertion problem and gives an error as

> rtt
rtt. rttlib.
> cp = rtt.Variable("ConnPolicy")
> =cp
> =cp[0]
stdin:1: Variable.getMember: indexing failed, no member 0
stack traceback:
[C]: ?
stdin:1: in main chunk
[C]: ?