Segfault in CDataFlowInterface_i::getPortType

Hi rtt-devs

I have a problem when i try to connect remote port over CORBA.

I'am not sure to correctly code each step, but i get a SEGFAULT.

So i join a test case and the top of the backtrace at the end of the message.

Each bug i found, i try to find the cause myself, but i hardly understand the code. I'am very please that you can help me :)

  1. 0 RTT::DataFlowInterface::getPort (this=0x0, name=...) at /home/ressac/work2/common/sources/orocos-toolchain-2.1.0/rtt/rtt/DataFlowInterface.cpp:168
  2. 1 0x0033746e in RTT::corba::CDataFlowInterface_i::getPortType (this=0xb660a6f0, port_name=0x80ea998 "input")

    at /home/ressac/work2/common/sources/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowI.cpp:189
  1. 2 0x0033c2f0 in _0RL_lcfn_8fd6acea43f2a3c6_11000000 (cd=0xb65feee4, svnt=0xb660a704)

    at /home/ressac/work2/local/builds/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowC.cc:1174
  1. 3 0x00473368 in omniCallHandle::upcall(omniServant*, omniCallDescriptor&) () from /usr/lib/libomniORB4.so.1
  2. 4 0x0034445a in RTT::corba::_impl_CDataFlowInterface::_dispatch (this=0xb660a6f0, _handle=...)

    at /home/ressac/work2/local/builds/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowC.cc:2295
(...)

AttachmentSize
TestCaseCorba.tar_.bz22.08 KB

Segfault in CDataFlowInterface_i::getPortType

Hi.

It seems that when i try to connect the local input port to the remote output one, i enter in bool RemoteOutputPort::createConnection(...) that getInterface() on the local input port.

The problem is that i haven't added this port to any interface.

Is it impossible to use a standalone port ?

Regards.

Paul.

paul [dot] chavent [..] ... wrote:
> Hi rtt-devs
>
> I have a problem when i try to connect remote port over CORBA.
>
> I'am not sure to correctly code each step, but i get a SEGFAULT.
>
> So i join a test case and the top of the backtrace at the end of the
> message.
>
> Each bug i found, i try to find the cause myself, but i hardly
> understand the code. I'am very please that you can help me :)
>
>
>
> #0 RTT::DataFlowInterface::getPort (this=0x0, name=...) at
> /home/ressac/work2/common/sources/orocos-toolchain-2.1.0/rtt/rtt/DataFlowInterface.cpp:168
>
> #1 0x0033746e in RTT::corba::CDataFlowInterface_i::getPortType
> (this=0xb660a6f0, port_name=0x80ea998 "input")
> at
> /home/ressac/work2/common/sources/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowI.cpp:189
>
> #2 0x0033c2f0 in _0RL_lcfn_8fd6acea43f2a3c6_11000000 (cd=0xb65feee4,
> svnt=0xb660a704)
> at
> /home/ressac/work2/local/builds/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowC.cc:1174
>
> #3 0x00473368 in omniCallHandle::upcall(omniServant*,
> omniCallDescriptor&) () from /usr/lib/libomniORB4.so.1
> #4 0x0034445a in RTT::corba::_impl_CDataFlowInterface::_dispatch
> (this=0xb660a6f0, _handle=...)
> at
> /home/ressac/work2/local/builds/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowC.cc:2295
>
> (...)
>
>

Segfault in CDataFlowInterface_i::getPortType

On Thu, Nov 11, 2010 at 12:03 AM, Paul Chavent <paul [dot] chavent [..] ...> wrote:
> Hi.
>
> It seems that when i try to connect the local input port to the remote output one, i enter in bool RemoteOutputPort::createConnection(...) that getInterface() on the local input port.
>
> The problem is that i haven't added this port to any interface.
>
> Is it impossible to use a standalone port ?

Yes, because CORBA does not know about a 'Port' object, but only about
DataFlowInterface object, so the corba server needs the latter as a
C++ object.

It shouldn't crash though, it should print an error or warning, or try
to work without DFI anyway.

Peter

Segfault in CDataFlowInterface_i::getPortType

Hi rtt-devs

I have a problem when i try to connect remote port over CORBA.

I'am not sure to correctly code each step, but i get a SEGFAULT.

So i join a test case and the top of the backtrace at the end of the message.

Each bug i found, i try to find the cause myself, but i hardly understand the code. I'am very please that you can help me :)

#0 RTT::DataFlowInterface::getPort (this=0x0, name=...) at /home/ressac/work2/common/sources/orocos-toolchain-2.1.0/rtt/rtt/DataFlowInterface.cpp:168
#1 0x0033746e in RTT::corba::CDataFlowInterface_i::getPortType (this=0xb660a6f0, port_name=0x80ea998 "input")
at /home/ressac/work2/common/sources/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowI.cpp:189
#2 0x0033c2f0 in _0RL_lcfn_8fd6acea43f2a3c6_11000000 (cd=0xb65feee4, svnt=0xb660a704)
at /home/ressac/work2/local/builds/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowC.cc:1174
#3 0x00473368 in omniCallHandle::upcall(omniServant*, omniCallDescriptor&) () from /usr/lib/libomniORB4.so.1
#4 0x0034445a in RTT::corba::_impl_CDataFlowInterface::_dispatch (this=0xb660a6f0, _handle=...)
at /home/ressac/work2/local/builds/orocos-toolchain-2.1.0/rtt/rtt/transports/corba/DataFlowC.cc:2295
(...)