marshalling bools

situation: In my component there is a property of type= std::vector<bool> When I load this property through marshalling from a cpf file or xml in an xml startup file, I get a segfault. Before the segfault, the deployer complaints about items in a property decomposition not being changeable:

3.252 [ Debug ][DeploymentComponent::configureComponents] updateProperties: updating Property PropertyBag vecbools1. 3.252 [ Debug ][DeploymentComponent::configureComponents] propertyDecomposition: Part size:int is not changeable. 3.252 [ Debug ][DeploymentComponent::configureComponents] propertyDecomposition: Part capacity:int is not changeable. 3.253 [ Warning][DeploymentComponent::configureComponents] propertyDecomposition: Item '0' of type bools is not changeable. 3.253 [ Warning][DeploymentComponent::configureComponents] propertyDecomposition: Item '1' of type bools is not changeable. 3.253 [ Warning][DeploymentComponent::configureComponents] propertyDecomposition: Item '2' of type bools is not changeable. 3.253 [ Debug ][DeploymentComponent::configureComponents] propertyDecomposition: bools returns an empty property bag.

a plain bool property does work. I assume it's a bug? backtrace and log of the segfault and minimal example in attachment

I'm using: orocos_toolchain_ros-0.4.0.3 diamondback branch from http://git.mech.kuleuven.be

Gunther

AttachmentSize
marshalling_bools_test.zip6.79 KB
orocos.log_.txt28.83 KB
backtrace.txt2.43 KB

marshalling bools

Vector of booleans have a specific implementation in C++, that directly use
bits in order to optimize the space.
See http://www.cplusplus.com/reference/stl/vector/ for details (bottom of
the page).

I guess this specialization is not supported by RTT for now, and the
marshaling may be disturbed by the unmatching from bool to bit...

Charles.

2011/8/12 <gunther [dot] struyf [..] ...>

> situation:
> In my component there is a property of type= std::vector<bool>
> When I load this property through marshalling from a cpf file or xml in an
> xml startup file, I get a segfault. Before the segfault, the deployer
> complaints about items in a property decomposition not being changeable:
>
> 3.252 [ Debug ][DeploymentComponent::**configureComponents]
> updateProperties: updating Property PropertyBag vecbools1.
> 3.252 [ Debug ][DeploymentComponent::**configureComponents]
> propertyDecomposition: Part size:int is not changeable.
> 3.252 [ Debug ][DeploymentComponent::**configureComponents]
> propertyDecomposition: Part capacity:int is not changeable.
> 3.253 [ Warning][DeploymentComponent::**configureComponents]
> propertyDecomposition: Item '0' of type bools is not changeable.
> 3.253 [ Warning][DeploymentComponent::**configureComponents]
> propertyDecomposition: Item '1' of type bools is not changeable.
> 3.253 [ Warning][DeploymentComponent::**configureComponents]
> propertyDecomposition: Item '2' of type bools is not changeable.
> 3.253 [ Debug ][DeploymentComponent::**configureComponents]
> propertyDecomposition: bools returns an empty property bag.
>
> a plain bool property does work. I assume it's a bug?
> backtrace and log of the segfault and minimal example in attachment
>
> I'm using: orocos_toolchain_ros-0.4.0.3 diamondback branch from
> http://git.mech.kuleuven.be
>
> Gunther
>
>
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>