RTT + CORBA fails make check with Xenomai

Fresh install of Debian Lenny, with Xenomai 2.4.4 (from Debian packages) and vanilla 2.6.25.20 kernel underneath. RTT at r30002. ACE/TAO from Lenny packages.

'make check' with RTT and no corba works fine.

A separate build of RTT with ENABLE_CORBA=ON, all tests pass but crash on exit. Log of one test attached.

Any ideas? New behaviour?
S

AttachmentSize
log-xenomai-rtt-corba.txt4.46 KB

RTT + CORBA fails make check

Interestingly, omniORB from Debian packages works. All tests run and pass. I will continue with this and ignore ACE/TAO for now.

Patch to compile tests under Debian Lenny with gcc 4.3.2

Index: /z/o/rtt/tests/corba_test.cpp
===================================================================
--- /z/o/rtt/tests/corba_test.cpp	(revision 30033)
+++ /z/o/rtt/tests/corba_test.cpp	(working copy)
@@ -266,25 +266,25 @@
     CPPUNIT_ASSERT( CORBA::is_nil(data_as_buffer) );
     ::RTT::Corba::BufferChannel_var buf = ts->server()->ports()->createBufferChannel("mb");
     CPPUNIT_ASSERT(buf.in());
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
-    CPPUNIT_ASSERT_EQUAL( buf->capacity(), mb1->capacity() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->capacity(), mb1->capacity() );
 
     any = new CORBA::Any();
     value = 5.0;
     // Write from corba, read from C++
     any <<= value;
     CPPUNIT_ASSERT( buf->push( any.in() ) );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
     CPPUNIT_ASSERT_EQUAL( 5.0, mb1->front() );
     CPPUNIT_ASSERT( mb1->Pop( value ) );
     CPPUNIT_ASSERT_EQUAL( 5.0, value );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
     // Write from C++, read from corba
     value = -5.0;
     mb1->Push( value );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
     any = buf->front();
     value = 0.0;
@@ -294,7 +294,7 @@
     value = 0.0;
     any >>= value;
     CPPUNIT_ASSERT_EQUAL( -5.0, value );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
 }
 

RTT + CORBA fails make check

Interestingly, omniORB from Debian packages works. All tests run and pass. I will continue with this and ignore ACE/TAO for now.

Patch to compile tests under Debian Lenny with gcc 4.3.2

Index: /z/o/rtt/tests/corba_test.cpp
===================================================================
--- /z/o/rtt/tests/corba_test.cpp	(revision 30033)
+++ /z/o/rtt/tests/corba_test.cpp	(working copy)
@@ -266,25 +266,25 @@
     CPPUNIT_ASSERT( CORBA::is_nil(data_as_buffer) );
     ::RTT::Corba::BufferChannel_var buf = ts->server()->ports()->createBufferChannel("mb");
     CPPUNIT_ASSERT(buf.in());
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
-    CPPUNIT_ASSERT_EQUAL( buf->capacity(), mb1->capacity() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->capacity(), mb1->capacity() );
 
     any = new CORBA::Any();
     value = 5.0;
     // Write from corba, read from C++
     any <<= value;
     CPPUNIT_ASSERT( buf->push( any.in() ) );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
     CPPUNIT_ASSERT_EQUAL( 5.0, mb1->front() );
     CPPUNIT_ASSERT( mb1->Pop( value ) );
     CPPUNIT_ASSERT_EQUAL( 5.0, value );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
     // Write from C++, read from corba
     value = -5.0;
     mb1->Push( value );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
     any = buf->front();
     value = 0.0;
@@ -294,7 +294,7 @@
     value = 0.0;
     any >>= value;
     CPPUNIT_ASSERT_EQUAL( -5.0, value );
-    CPPUNIT_ASSERT_EQUAL( buf->size(), mb1->size() );
+    CPPUNIT_ASSERT_EQUAL( (int)buf->size(), mb1->size() );
 
 }
 

RTT + CORBA fails make check

On Wednesday 11 March 2009 22:13:12 kiwi [dot] net [..] ... wrote:
> Interestingly, omniORB from Debian packages works. All tests run and pass.
> I will continue with this and ignore ACE/TAO for now.
>
> Patch to compile tests under Debian Lenny with gcc 4.3.2

Applied. Thanks. It's really weird that the non-CORBA tests crash. Maybe it's
because they link with the CORBA RTT library nevertheless.

Peter

RTT + CORBA fails make check with Xenomai

On Wed, Mar 11, 2009 at 03:21:46PM -0000, kiwi [dot] net [..] ... wrote:

> Fresh install of Debian Lenny, with Xenomai 2.4.4 (from Debian
> packages) and vanilla 2.6.25.20 kernel underneath. RTT at
> r30002. ACE/TAO from Lenny packages.
>
> 'make check' with RTT and no corba works fine.
>
> A separate build of RTT with ENABLE_CORBA=ON, all tests pass but
> crash on exit. Log of one test attached.

Oops, wheres the log?

Best regards
Markus

RTT + CORBA fails make check with Xenomai

Attached to the wiki page ... :-) ... or log-xenomai-rtt-corba.txt

On Mar 11, 2009, at 14:53 , Markus Klotzbücher wrote:

> On Wed, Mar 11, 2009 at 03:21:46PM -0000, kiwi [dot] net [..] ... wrote:
>
>> Fresh install of Debian Lenny, with Xenomai 2.4.4 (from Debian
>> packages) and vanilla 2.6.25.20 kernel underneath. RTT at
>> r30002. ACE/TAO from Lenny packages.
>>
>> 'make check' with RTT and no corba works fine.
>>
>> A separate build of RTT with ENABLE_CORBA=ON, all tests pass but
>> crash on exit. Log of one test attached.
>
> Oops, wheres the log?
>
> Best regards
> Markus

RTT + CORBA fails make check with Xenomai

Fresh install of Debian Lenny, with Xenomai 2.4.4 (from Debian packages) and vanilla 2.6.25.20 kernel underneath. RTT at r30002. ACE/TAO from Lenny packages.

'make check' with RTT and no corba works fine.

A separate build of RTT with ENABLE_CORBA=ON, all tests pass but crash on exit. Log of one test attached.

Any ideas? New behaviour?
S