Ports broken on Orocos 2.3.1 with OS_NO_ASM=ON

Hello,

while porting Orocos 2.3.1 to the ARM Cortex-A8, I wanted to test it without
atomic operations at first. My application was just crashing on arm and I
them found that units test related to ports was failing even on x86
(service_port_test, state_test and ports_test). As an example, here is the
output of ports_test:



Running 9 test cases...
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::DataObjectInterface<int>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testPortTaskInterface": signal: SIGABRT
(application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(129): last checkpoint
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::DataObjectInterface<int>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testPortSimpleConnections": signal:
SIGABRT (application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(195): last checkpoint
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::DataObjectInterface<int>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testPortOneWriterThreeReaders": signal:
SIGABRT (application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(276): last checkpoint:
"testPortOneWriterThreeReaders" entry.
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::BufferInterface<int>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testPortThreeWritersOneReader": signal:
SIGABRT (application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(348): last checkpoint:
"testPortThreeWritersOneReader" entry.
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::DataObjectInterface<double>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testPortObjects": signal: SIGABRT
(application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(452): last checkpoint
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::DataObjectInterface<double>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testPortSignalling": signal: SIGABRT
(application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(486): last checkpoint:
"testPortSignalling" entry.
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::DataObjectInterface<double>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testEventPortSignalling": signal:
SIGABRT (application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(513): last checkpoint:
"testEventPortSignalling" entry.
ports_test: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T*
boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T =
RTT::base::BufferInterface<int>]: Assertion `px != 0' failed.
unknown location(0): fatal error in "testPortDataSource": signal: SIGABRT
(application abort requested)
/home/hamelinp/tmp/rtt/tests/ports_test.cpp(556): last checkpoint

*** 8 failures detected in test suite "Master Test Suite"



I'm not very familiar with that part of Orocos, so any help would be very
welcome.

Thank you,

Philippe