Problems when connecting to CORBA components using deployer-corba
| Submitted by Tinne De Laet on Fri, 2008-05-16 08:25. |
Hi,
we have some problems when connected with a corba component using the
deployer-corba.
The remote corba component is not using the deployer but this shouldn't be the
poblem.
Apparently, our local application is connected to the corba component, we can
start and stop the corba component.
However, when we cd to the corba component en type ls: we only get a part of
the ls output and then a error.
I attached the output of valgrind and the deployer itself.
Tinne

Problems when connecting to CORBA components using deployer-corb
On Friday 16 May 2008 10:10:52 Tinne De Laet wrote:
> Hi,
>
> we have some problems when connected with a corba component using the
> deployer-corba.
> The remote corba component is not using the deployer but this shouldn't be
> the poblem.
> Apparently, our local application is connected to the corba component, we
> can start and stop the corba component.
> However, when we cd to the corba component en type ls: we only get a part
> of the ls output and then a error.
> I attached the output of valgrind and the deployer itself.
The valgrind errors are 'standard' for TAO :-(. BAD_OPERATION means we called
a function that does not exist on the other end. Probably the idl file the
other end is using is outdated, as we added functions to the idl, but this is
already some months ago...
We could adapt the deployer-corba to intercept the CORBA exceptions and print
the contents of the exception, which might reveal more information.
Peter
Problems when connecting to CORBA components using deployer-corb
On Friday 16 May 2008 10:44:56 Peter Soetens wrote:
> On Friday 16 May 2008 10:10:52 Tinne De Laet wrote:
> > Hi,
> >
> > we have some problems when connected with a corba component using the
> > deployer-corba.
> > The remote corba component is not using the deployer but this shouldn't
> > be the poblem.
> > Apparently, our local application is connected to the corba component, we
> > can start and stop the corba component.
> > However, when we cd to the corba component en type ls: we only get a part
> > of the ls output and then a error.
> > I attached the output of valgrind and the deployer itself.
>
> The valgrind errors are 'standard' for TAO :-(. BAD_OPERATION means we
> called a function that does not exist on the other end. Probably the idl
> file the other end is using is outdated, as we added functions to the idl,
> but this is already some months ago...
Ok, this was indeed the problem. Our remote component used the revision of 11
march with number 29044.
Now we have a new problem:
We added the following line in the deployement.xml file:
<struct name="Estimation.ior" type="IORFile"> </struct>
And get the following error message:
0.446 ERRORupdateProperty Property 'Estimation' is not present in the
source PropertyBag !
0.446 ERRORLogger Failed to store deployment properties for component
Estimation.ior
0.452 ERRORLogger Failed to load a component: aborting kick-start.
kick-start is aborted and the application is not succesfully set up.
The corba proxy for Estimation is however correctly generated.
We can do:
cd Estimation
ls
....
Tinne
Problems when connecting to CORBA components using deployer-corb
On Friday 16 May 2008 11:51:32 Tinne De Laet wrote:
> On Friday 16 May 2008 10:44:56 Peter Soetens wrote:
> > On Friday 16 May 2008 10:10:52 Tinne De Laet wrote:
> > > Hi,
> > >
> > > we have some problems when connected with a corba component using the
> > > deployer-corba.
> > > The remote corba component is not using the deployer but this shouldn't
> > > be the poblem.
> > > Apparently, our local application is connected to the corba component,
> > > we can start and stop the corba component.
> > > However, when we cd to the corba component en type ls: we only get a
> > > part of the ls output and then a error.
> > > I attached the output of valgrind and the deployer itself.
> >
> > The valgrind errors are 'standard' for TAO :-(. BAD_OPERATION means we
> > called a function that does not exist on the other end. Probably the idl
> > file the other end is using is outdated, as we added functions to the
> > idl, but this is already some months ago...
>
> Ok, this was indeed the problem. Our remote component used the revision of
> 11 march with number 29044.
>
> Now we have a new problem:
> We added the following line in the deployement.xml file:
> <struct name="Estimation.ior" type="IORFile"> </struct>
> And get the following error message:
>
> 0.446 ERRORupdateProperty Property 'Estimation' is not present in
> the source PropertyBag !
> 0.446 ERRORLogger Failed to store deployment properties for
> component Estimation.ior
> 0.452 ERRORLogger Failed to load a component: aborting kick-start.
Because of an implementation choice, Property names should not include '.',
because it confuses the RTT::updateProperty function.
I'll see what we can do about that... won't be easy to specify a filename as a
property name, possibly (most likely) we need to use something like
Peter
>
> kick-start is aborted and the application is not succesfully set up.
>
> The corba proxy for Estimation is however correctly generated.
> We can do:
> cd Estimation
> ls
> ....
>
> Tinne
Problems when connecting to CORBA components using deployer-corb
On Friday 16 May 2008 13:20:14 Peter Soetens wrote:
> On Friday 16 May 2008 11:51:32 Tinne De Laet wrote:
> > On Friday 16 May 2008 10:44:56 Peter Soetens wrote:
> > > On Friday 16 May 2008 10:10:52 Tinne De Laet wrote:
> > > > Hi,
> > > >
> > > > we have some problems when connected with a corba component using the
> > > > deployer-corba.
> > > > The remote corba component is not using the deployer but this
> > > > shouldn't be the poblem.
> > > > Apparently, our local application is connected to the corba
> > > > component, we can start and stop the corba component.
> > > > However, when we cd to the corba component en type ls: we only get a
> > > > part of the ls output and then a error.
> > > > I attached the output of valgrind and the deployer itself.
> > >
> > > The valgrind errors are 'standard' for TAO :-(. BAD_OPERATION means we
> > > called a function that does not exist on the other end. Probably the
> > > idl file the other end is using is outdated, as we added functions to
> > > the idl, but this is already some months ago...
> >
> > Ok, this was indeed the problem. Our remote component used the revision
> > of 11 march with number 29044.
> >
> > Now we have a new problem:
> > We added the following line in the deployement.xml file:
> > <struct name="Estimation.ior" type="IORFile"> </struct>
> > And get the following error message:
> >
> > 0.446 ERRORupdateProperty Property 'Estimation' is not present in
> > the source PropertyBag !
> > 0.446 ERRORLogger Failed to store deployment properties for
> > component Estimation.ior
> > 0.452 ERRORLogger Failed to load a component: aborting kick-start.
>
> Because of an implementation choice, Property names should not include '.',
> because it confuses the RTT::updateProperty function.
>
> I'll see what we can do about that... won't be easy to specify a filename
> as a property name, possibly (most likely) we need to use something like
>
> <struct name="Estimation" type="IORFile">
> <simple name="IORFile"
> type="string"><value>Estimation.ior</value></simple> </struct>
>
We changed the name of our property file to a name without a point
(Estimation).
Now we can succesfully load the component and browse it.
However, the ports we defined in the xml file:
348 <struct name="Estimation" type="IORFile">
349 <struct name="Ports" type="PropertyBag">
350 <simple name="closestPerson"
type="string"><value>closestPerson</value></simple>
351 <simple name="velocityClosestPerson"
type="string"><value>velocityClosestPerson</value></simple>
352 </struct>
give some trouble. Our local component(iTasc) has ports which have to connect
to the ports of the corba component
385 <struct name="iTaSC" type="iTaSC::iTaSC_opendeurdag_all">
,...
400 <simple name="closestPerson"
type="string"><value>closestPerson</value></simple>
401 <simple name="velocityClosestPerson"
type="string"><value>velocityClosestPerson</value></simple>
402 </struct>
The taskbrowser tells us that the ports are connected (C). The value of the
ports is however not updated.
Any idea?
Tinne
Problems when connecting to CORBA components using deployer-corb
On Friday 16 May 2008 18:15:39 Tinne De Laet wrote:
>
> We changed the name of our property file to a name without a point
> (Estimation).
That issue should be fixed by now.
> Now we can succesfully load the component and browse it.
>
> However, the ports we defined in the xml file:
> 348 <struct name="Estimation" type="IORFile">
> 349 <struct name="Ports" type="PropertyBag">
> 350 <simple name="closestPerson"
> type="string"><value>closestPerson</value></simple>
> 351 <simple name="velocityClosestPerson"
> type="string"><value>velocityClosestPerson</value></simple>
> 352 </struct>
>
> give some trouble. Our local component(iTasc) has ports which have to
> connect to the ports of the corba component
>
> 385 <struct name="iTaSC" type="iTaSC::iTaSC_opendeurdag_all">
> ,...
> 400 <simple name="closestPerson"
> type="string"><value>closestPerson</value></simple>
> 401 <simple name="velocityClosestPerson"
> type="string"><value>velocityClosestPerson</value></simple>
> 402 </struct>
>
> The taskbrowser tells us that the ports are connected (C). The value of the
> ports is however not updated.
>
> Any idea?
You guys are depriving me from my sleep. It _all_ is supposed to work ! :-]
Could you omit the ports statement from the xml file and connect
them 'manually' from the taskbrowser ?
'connectPorts("Estimation", "iTasC")'
?
The deployer XML connection code looks very wrong and seems not to be updated
with the latest CORBA changes.
Peter
Problems when connecting to CORBA components using deployer-corb
On Friday 16 May 2008 18:15:39 Tinne De Laet wrote:
>
> However, the ports we defined in the xml file:
> 348 <struct name="Estimation" type="IORFile">
> 349 <struct name="Ports" type="PropertyBag">
> 350 <simple name="closestPerson"
> type="string"><value>closestPerson</value></simple>
> 351 <simple name="velocityClosestPerson"
> type="string"><value>velocityClosestPerson</value></simple>
> 352 </struct>
>
> give some trouble. Our local component(iTasc) has ports which have to
> connect to the ports of the corba component
>
> 385 <struct name="iTaSC" type="iTaSC::iTaSC_opendeurdag_all">
> ,...
> 400 <simple name="closestPerson"
> type="string"><value>closestPerson</value></simple>
> 401 <simple name="velocityClosestPerson"
> type="string"><value>velocityClosestPerson</value></simple>
> 402 </struct>
>
> The taskbrowser tells us that the ports are connected (C). The value of the
> ports is however not updated.
>
> Any idea?
Please apply the patch below on your deployer which needs to setup the
connection and let it try the XML file again.
In your setup you could also try to set the 'AutoConnect' property on both
components...
Peter
Problems when connecting to CORBA components using deployer-corb
On Saturday 17 May 2008 00:16:19 Peter Soetens wrote:
> On Friday 16 May 2008 18:15:39 Tinne De Laet wrote:
> > However, the ports we defined in the xml file:
> > 348 <struct name="Estimation" type="IORFile">
> > 349 <struct name="Ports" type="PropertyBag">
> > 350 <simple name="closestPerson"
> > type="string"><value>closestPerson</value></simple>
> > 351 <simple name="velocityClosestPerson"
> > type="string"><value>velocityClosestPerson</value></simple>
> > 352 </struct>
> >
> > give some trouble. Our local component(iTasc) has ports which have to
> > connect to the ports of the corba component
> >
> > 385 <struct name="iTaSC" type="iTaSC::iTaSC_opendeurdag_all">
> > ,...
> > 400 <simple name="closestPerson"
> > type="string"><value>closestPerson</value></simple>
> > 401 <simple name="velocityClosestPerson"
> > type="string"><value>velocityClosestPerson</value></simple>
> > 402 </struct>
> >
> > The taskbrowser tells us that the ports are connected (C). The value of
> > the ports is however not updated.
> >
> > Any idea?
>
> Please apply the patch below on your deployer which needs to setup the
> connection and let it try the XML file again.
We applied the patch you proposed and updated our OCL to the latest revision.
However, we still have some problems.
Our local component's name is iTaSC, our remote component name is Estimation.
If we use the naming service, we can load the component manually from the
deployer using loadComponent("Estimation","CORBA").
If we don't use the naming service, we can also load the component using
loadComponent("Estimation.ior","IORFile").
In both cases we can also connect the ports manually using
connectPorts("Estimation","iTaSC")
but connectPorts("iTaSC","Estimation") doesn't succeed and the following error
is returned:
71.123 ERROR iTaSC Not connecting Port closestPerson to existing
connection of peer Task Estimation.
71.124 ERROR iTaSC Not connecting Port distanceClosestPerson to existing
connection of peer Task Estimation.
71.125 ERROR iTaSC Not connecting Port velocityClosestPerson to existing
connection of peer Task Estimation.
However, if we use the xml file we don't succeed in loading the component in
any of the two cases (Namingservice and ior).
Without the use of a naming service our xml code looks like this:
<struct name="Estimation" type="IORFile">
<simple name="IORFile" type="string"><value>Estimation.ior</value></simple>
<struct name="Ports" type="PropertyBag">
<simple name="closestPerson"
type="string"><value>closestPerson</value></simple>
<simple name="velocityClosestPerson"
type="string"><value>velocityClosestPerson</value></simple>
</struct>
</struct>
and we get the following error:
0.210 ERROR Logger CORBA exception raised when resolving Object !
0.211 ERROR Logger system exception,
ID 'IDL:omg.org/CORBA/TRANSIENT:1.0'
OMG minor code (2), described as '*unknown description*', completed = NO
0.211 ERROR Logger The constructor of component type IORFile threw an
exception!
0.212 ERROR Logger Failed to load component with name Estimation:
refused to be created.
When using the namingservice our xml code looks like this:
<struct name="Estimation" type="CORBA">
<simple name="AutoConnect" type="boolean"><value>1</value></simple>
<struct name="Peers" type="PropertyBag">
<simple type="string"><value>iTaSC</value></simple>
</struct>
</struct>
and we get the following error:
0.212 ERRORLogger Failed to load component with name Estimation:
refused to be created.
Tinne
Problems when connecting to CORBA components using deployer-corb
On Monday 19 May 2008 11:38:11 Tinne De Laet wrote:
>
> We applied the patch you proposed and updated our OCL to the latest
> revision. However, we still have some problems.
> Our local component's name is iTaSC, our remote component name is
> Estimation.
>
> If we use the naming service, we can load the component manually from the
> deployer using loadComponent("Estimation","CORBA").
> If we don't use the naming service, we can also load the component using
> loadComponent("Estimation.ior","IORFile").
> In both cases we can also connect the ports manually using
> connectPorts("Estimation","iTaSC")
> but connectPorts("iTaSC","Estimation") doesn't succeed and the following
> error is returned:
> 71.123 ERROR iTaSC Not connecting Port closestPerson to existing
> connection of peer Task Estimation.
> 71.124 ERROR iTaSC Not connecting Port distanceClosestPerson to
> existing connection of peer Task Estimation.
> 71.125 ERROR iTaSC Not connecting Port velocityClosestPerson to
> existing connection of peer Task Estimation.
I'll have to look into this... In the working
connectPorts("Estimation","iTaSC") case, are the ports working correctly ?
>
> However, if we use the xml file we don't succeed in loading the component
> in any of the two cases (Namingservice and ior).
> Without the use of a naming service our xml code looks like this:
> <struct name="Estimation" type="IORFile">
> <simple name="IORFile"
> type="string"><value>Estimation.ior</value></simple>
This is invalid. It should have been:
<struct name="Estimation.ior" type="IORFile">
The ('old') documented syntax remains as-is.
> <struct name="Ports"
> type="PropertyBag">
> <simple name="closestPerson"
> type="string"><value>closestPerson</value></simple>
> <simple name="velocityClosestPerson"
> type="string"><value>velocityClosestPerson</value></simple>
> </struct>
> </struct>
> and we get the following error:
> 0.210 ERROR Logger CORBA exception raised when resolving Object !
> 0.211 ERROR Logger system exception,
> ID 'IDL:omg.org/CORBA/TRANSIENT:1.0'
> OMG minor code (2), described as '*unknown description*', completed = NO
> 0.211 ERROR Logger The constructor of component type IORFile threw an
> exception!
> 0.212 ERROR Logger Failed to load component with name Estimation:
> refused to be created.
OK. That's cryptic. It should have said "iorfile 'Estimation' not found".
> When using the namingservice our xml code looks like this:
> <struct name="Estimation" type="CORBA">
> <simple name="AutoConnect" type="boolean"><value>1</value></simple>
> <struct name="Peers" type="PropertyBag">
> <simple type="string"><value>iTaSC</value></simple>
> </struct>
> </struct>
> and we get the following error:
> 0.212 ERRORLogger Failed to load component with name Estimation:
> refused to be created.
Strange... if loadComponent("Estimation", "CORBA") works, this XML must work
as well as the same function is called... I'll recheck that code as well...
Peter
Problems when connecting to CORBA components using deployer-corb
On Monday 19 May 2008 11:38:11 Tinne De Laet wrote:
> and we get the following error:
> 0.212 ERRORLogger Failed to load component with name Estimation:
> refused to be created.
I'll find it also quicker if you set the ORO_LOGLEVEL=7 and you provide me
more loglines. You are definately leaving out relevant information.
Peter
Problems when connecting to CORBA components using deployer-corb
On Monday 19 May 2008 11:38:11 Tinne De Laet wrote:
> 71.123 ERROR iTaSC Not connecting Port closestPerson to existing
> connection of peer Task Estimation.
> 71.124 ERROR iTaSC Not connecting Port distanceClosestPerson to
> existing connection of peer Task Estimation.
> 71.125 ERROR iTaSC Not connecting Port velocityClosestPerson to
> existing connection of peer Task Estimation.
The patch in attachment could fix this specific problem on the local side. You
can also update the RTT to trunk to have all changes, but then you'll need to
update and recompile both remote and local sides, because the IDL has been
changed on trunk as wel...
Thanks for reporting the bugs,
Peter
Problems when connecting to CORBA components using deployer-corb
On Monday 19 May 2008 23:00:25 Peter Soetens wrote:
> On Monday 19 May 2008 11:38:11 Tinne De Laet wrote:
> > 71.123 ERROR iTaSC Not connecting Port closestPerson to existing
> > connection of peer Task Estimation.
> > 71.124 ERROR iTaSC Not connecting Port distanceClosestPerson to
> > existing connection of peer Task Estimation.
> > 71.125 ERROR iTaSC Not connecting Port velocityClosestPerson to
> > existing connection of peer Task Estimation.
>
> The patch in attachment could fix this specific problem on the local side.
> You can also update the RTT to trunk to have all changes, but then you'll
> need to update and recompile both remote and local sides, because the IDL
> has been changed on trunk as wel...
Mmm, we updated both rtt and ocl to the latest version (both local and remote)
but still get a lot of problems.
Without of the use of the NamingService we can load the component by hand
using
LoadComponents("Estimation.ior","IORFile")
and connect the ports
connectPorts("Estimation","iTaSC") .
The ports are then correctly connected.
If we reverse the order in connectPorts:
Then connectPorts("iTaSC","Estimation") returns true
but apparently the ports are not connected correctly.
The output using Debug mode is:
loadComponent("Estimation.ior","IORFile")
Component type IORFile
7.431 Debug DeploymentComponent::loadComponent
createControlTaskProxyIORFile
7.431 Debug ExecutionEngine Creating ExecutionEngine for NotFound
7.444 Info DeploymentComponent::loadComponent Successfully connected to
ControlTaskServer 'Estimation'.
7.444 Debug DeploymentComponent::loadComponent Fetching ScriptingAccess.
7.445 Debug DeploymentComponent::loadComponent Fetching Methods.
7.447 Debug DeploymentComponent::loadComponent Fetching Commands.
7.450 Debug DeploymentComponent::loadComponent Fetching Properties.
7.457 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.457 Info DeploymentComponent::loadComponent found!
7.462 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.462 Info DeploymentComponent::loadComponent found!
7.467 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.467 Info DeploymentComponent::loadComponent found!
7.471 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.472 Info DeploymentComponent::loadComponent found!
7.476 Debug DeploymentComponent::loadComponent Looking up Property
intFound valid assignment conversion from server int to local int
7.476 Info DeploymentComponent::loadComponent found!
7.481 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.481 Info DeploymentComponent::loadComponent found!
7.485 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.486 Info DeploymentComponent::loadComponent found!
7.490 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.490 Info DeploymentComponent::loadComponent found!
7.494 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.495 Info DeploymentComponent::loadComponent found!
7.499 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.499 Info DeploymentComponent::loadComponent found!
7.503 Debug DeploymentComponent::loadComponent Looking up Property
intFound valid assignment conversion from server int to local int
7.504 Info DeploymentComponent::loadComponent found!
7.508 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.508 Info DeploymentComponent::loadComponent found!
7.513 Debug DeploymentComponent::loadComponent Looking up Property
doubleFound valid assignment conversion from server double to local double
7.513 Info DeploymentComponent::loadComponent found!
7.513 Debug DeploymentComponent::loadComponent Fetching Attributes.
7.515 Debug DeploymentComponent::loadComponent Fetching Ports.
7.517 Debug DeploymentComponent::loadComponent Fetching Objects of
Estimation:
7.520 Debug DeploymentComponent::loadComponent scripting: fetching
Attributes.
7.523 Debug DeploymentComponent::loadComponent scripting: fetching
Methods.
7.525 Debug DeploymentComponent::loadComponent scripting: fetching
Commands.
7.527 Debug DeploymentComponent::loadComponent Fetching Objects of
scripting:
7.530 Debug DeploymentComponent::loadComponent engine: fetching
Attributes.
7.532 Debug DeploymentComponent::loadComponent engine: fetching Methods.
7.534 Debug DeploymentComponent::loadComponent engine: fetching
Commands.
7.537 Debug DeploymentComponent::loadComponent Fetching Objects of
engine:
7.540 Debug DeploymentComponent::loadComponent marshalling: fetching
Attributes.
7.542 Debug DeploymentComponent::loadComponent marshalling: fetching
Methods.
7.544 Debug DeploymentComponent::loadComponent marshalling: fetching
Commands.
....
7.712 Debug DeploymentComponent::loadComponent Fetching Objects of
filterID:
7.716 Debug DeploymentComponent::loadComponent closestPerson: fetching
Attributes.
7.718 Debug DeploymentComponent::loadComponent closestPerson: fetching
Methods.
7.720 Debug DeploymentComponent::loadComponent closestPerson: fetching
Commands.
7.722 Debug DeploymentComponent::loadComponent Fetching Objects of
closestPerson:
7.725 Debug DeploymentComponent::loadComponent velocityClosestPerson:
fetching Attributes.
7.727 Debug DeploymentComponent::loadComponent velocityClosestPerson:
fetching Methods.
7.729 Debug DeploymentComponent::loadComponent velocityClosestPerson:
fetching Commands.
7.731 Debug DeploymentComponent::loadComponent Fetching Objects of
velocityClosestPerson:
7.734 Debug DeploymentComponent::loadComponent distanceClosestPerson:
fetching Attributes.
7.736 Debug DeploymentComponent::loadComponent distanceClosestPerson:
fetching Methods.
7.738 Debug DeploymentComponent::loadComponent distanceClosestPerson:
fetching Commands.
7.740 Debug DeploymentComponent::loadComponent Fetching Objects of
distanceClosestPerson:
7.741 Debug DeploymentComponent::loadComponent All Done.
7.741 Info DeploymentComponent::loadComponent Adding Estimation as new
peer: OK.
true
Estimation.closestPerson.Set Estimation.closestPerson.ready
(type 'ls' for context info) :connectPorts("iTaSC","Estimation")Got :connectPorts("iTaSC","Estimation")
JointPositions_361
57.251 Debug iTaSC Peer Task Estimation has no Port JointPositions_160
57.251 Debug iTaSC Peer Task Estimation has no Port JointVelocities_361
57.251 Debug iTaSC Peer Task Estimation has no Port JointVelocities_160
57.251 Debug iTaSC Peer Task Estimation has no Port WrenchData
57.251 Debug iTaSC Peer Task Estimation has no Port FollowerForce
57.251 Debug iTaSC Peer Task Estimation has no Port ContourPosition
57.251 Debug iTaSC Peer Task Estimation has no Port FollowerPosition
57.252 Debug iTaSC Peer Task Estimation has no Port Chi
57.252 Debug iTaSC Peer Task Estimation has no Port Gap
57.252 Debug iTaSC Peer Task Estimation has no Port ydes
57.257 Debug iTaSC Creating Corba DataSource proxy.
57.257 Debug iTaSC Using scndry port to create dataconnection.
57.257 Info iTaSC Added Port closestPerson to existing connection of
peer Task Estimation.
57.263 Debug iTaSC Creating Corba DataSource proxy.
57.263 Debug iTaSC Using scndry port to create dataconnection.
57.263 Info iTaSC Added Port distanceClosestPerson to existing
connection of peer Task Estimation.
57.268 Debug iTaSC Creating Corba DataSource proxy.
57.268 Debug iTaSC Using scndry port to create dataconnection.
57.268 Info iTaSC Added Port velocityClosestPerson to existing
connection of peer Task Estimation.
57.268 Debug iTaSC Peer Task Estimation has no Port y
57.268 Debug iTaSC Peer Task Estimation has no Port chiu
57.268 Debug iTaSC Peer Task Estimation has no Port chiudot
57.268 Debug iTaSC Peer Task Estimation has no Port contour
true
Got :iTaSC.closestPerson.Get
= {} In Task DeployerS. (Status of last Command : none ) (type 'ls' for context info) :ls Estimation Listing TaskContext Estimation :...
R(C) array estimateMxClusters88.681 Debug
Creating Corba DataSource
proxy.
= {1.22601, -2.297, -3.37568, -4.06521, -3.57595, -3.56776, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0}
R(C) array estimateMyClusters88.686 Debug
Creating Corba DataSource
proxy.
= {2.03496, 3.51921, 3.95205, 2.22549, 2.32643, 2.50736, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0}
R(C) array estimateS11Clusters88.691 Debug
Creating Corba DataSource
proxy.
= {0.191291, 0.305889, 0.194616, 0.163454, 0.139459, 0.220691, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0}
R(C) array estimateS12Clusters88.696 Debug
Creating Corba DataSource
proxy.
= {-0.0336589, -0.015045, -0.00590466, 0.0027373, 0.0102093, -0.0150817, 0,0, 0, 0, 0 Creating Corba DataSource proxy.
= {0.00010021, 1.51857e-05, -0.000302894, -0.00154889, -0.000246841, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
R(C) array estimateS22Clusters88.706 Debug
Creating Corba DataSource
proxy.
= {0.104727, 0.0964427, 0.189845, 0.370253, 0.423646, 0.231509, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
R(C) int numClusters 88.710 Debug
Creating Corba DataSource
proxy.
R(C) int numObjects 88.715 Debug
Creating Corba DataSource
proxy.
W(C) array estimateMxFilters88.720 Debug
Creating Corba DataSource
proxy.
= {1.22595, -2.29726, -4.06651, -3.3714, -3.57436, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0}
W(C) array estimateMyFilters88.725 Debug
Creating Corba DataSource
proxy.
= {2.035, 3.51961, 2.22679, 3.94676, 2.32553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0}
W(C) array estimateVxFilters88.730 Debug
Creating Corba DataSource
proxy.
= {0.00010021, 1.51857e-05, -0.000302894, -0.00154889, -0.000246841, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
W(C) array estimateVyFilters88.735 Debug
Creating Corba DataSource
proxy.
= {0.000150749, 9.81621e-06, 0.000233719, 0.0019147, 0.000174089, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
W(C) array estimateS11Filters88.740 Debug
Creating Corba DataSource
proxy.
= {0.0178376, 0.0178376, 0.0178376, 0.0178376, 0.0178376, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0}
W(C) array estimateS12Filters88.744 Debug
Creating Corba DataSource
proxy.
= {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}W(C) array estimateS21Filters88.750 Debug
Creating Corba DataSource
proxy.
= {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}W(C) array estimateS22Filters88.754 Debug
Creating Corba DataSource
proxy.
= {0.0178376, 0.0178376, 0.0178376, 0.0178376, 0.0178376, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0}
W(C) int numFilters 88.759 Debug
Creating Corba DataSource
proxy.
W(C) array filterID 88.764 Debug
Creating Corba DataSource
proxy.
= {1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}W(C) array closestPerson = {-2.22616, -4.03544}
W(C) array velocityClosestPerson = {-0.000827677, -0.00146089}
W(C) double distanceClosestPerson = 2.37623
Tinne
Problems when connecting to CORBA components using deployer-corb
On Wednesday 21 May 2008 09:18:27 Tinne De Laet wrote:
> On Monday 19 May 2008 23:00:25 Peter Soetens wrote:
> > On Monday 19 May 2008 11:38:11 Tinne De Laet wrote:
> > > 71.123 ERROR iTaSC Not connecting Port closestPerson to existing
> > > connection of peer Task Estimation.
> > > 71.124 ERROR iTaSC Not connecting Port distanceClosestPerson to
> > > existing connection of peer Task Estimation.
> > > 71.125 ERROR iTaSC Not connecting Port velocityClosestPerson to
> > > existing connection of peer Task Estimation.
> >
> > The patch in attachment could fix this specific problem on the local
> > side. You can also update the RTT to trunk to have all changes, but then
> > you'll need to update and recompile both remote and local sides, because
> > the IDL has been changed on trunk as wel...
>
> Mmm, we updated both rtt and ocl to the latest version (both local and
> remote) but still get a lot of problems.
>
> Without of the use of the NamingService we can load the component by hand
> using
> LoadComponents("Estimation.ior","IORFile")
> and connect the ports
> connectPorts("Estimation","iTaSC") .
> The ports are then correctly connected.
>
> If we reverse the order in connectPorts:
> Then connectPorts("iTaSC","Estimation") returns true
> but apparently the ports are not connected correctly.
I've just added unit tests to the RTT and could find two bugs in the
connectPorts implementation. One was a segfault, that one is fixed now. The
other one is when using connectPorts on two proxy objects (not your case)
where the ports of the second proxy is !connected(). That one is not fixed
yet.
Your case: connectPorts( local, proxy)
did pass the unit tests, although the proxy's ports were initially not
connected. In your case, it seems the Estimation component is already
connected: 'Added Port closestPerson to existing connection of peer Task
Estimation.' -> I still need to add a unit test for that case.
Also, most/all 'Estimation.ior' : no such peer warnings/errors should be fixed
now in the deployer.
Peter
>
> The output using Debug mode is:
>
> loadComponent("Estimation.ior","IORFile")
> = 7.431 Debug DeploymentComponent::loadComponent Found factory for
> Component type IORFile
> 7.431 Debug DeploymentComponent::loadComponent
> createControlTaskProxyIORFile
> 7.431 Debug ExecutionEngine Creating ExecutionEngine for NotFound
> 7.444 Info DeploymentComponent::loadComponent Successfully connected
> to ControlTaskServer 'Estimation'.
> 7.444 Debug DeploymentComponent::loadComponent Fetching
> ScriptingAccess. 7.445 Debug DeploymentComponent::loadComponent
> Fetching Methods. 7.447 Debug DeploymentComponent::loadComponent
> Fetching Commands. 7.450 Debug DeploymentComponent::loadComponent
> Fetching Properties. 7.457 Debug DeploymentComponent::loadComponent
> Looking up Property doubleFound valid assignment conversion from server
> double to local double 7.457 Info DeploymentComponent::loadComponent
> found!
> 7.462 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.462 Info DeploymentComponent::loadComponent found!
> 7.467 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.467 Info DeploymentComponent::loadComponent found!
> 7.471 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.472 Info DeploymentComponent::loadComponent found!
> 7.476 Debug DeploymentComponent::loadComponent Looking up Property
> intFound valid assignment conversion from server int to local int
> 7.476 Info DeploymentComponent::loadComponent found!
> 7.481 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.481 Info DeploymentComponent::loadComponent found!
> 7.485 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.486 Info DeploymentComponent::loadComponent found!
> 7.490 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.490 Info DeploymentComponent::loadComponent found!
> 7.494 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.495 Info DeploymentComponent::loadComponent found!
> 7.499 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.499 Info DeploymentComponent::loadComponent found!
> 7.503 Debug DeploymentComponent::loadComponent Looking up Property
> intFound valid assignment conversion from server int to local int
> 7.504 Info DeploymentComponent::loadComponent found!
> 7.508 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.508 Info DeploymentComponent::loadComponent found!
> 7.513 Debug DeploymentComponent::loadComponent Looking up Property
> doubleFound valid assignment conversion from server double to local double
> 7.513 Info DeploymentComponent::loadComponent found!
> 7.513 Debug DeploymentComponent::loadComponent Fetching Attributes.
> 7.515 Debug DeploymentComponent::loadComponent Fetching Ports.
> 7.517 Debug DeploymentComponent::loadComponent Fetching Objects of
> Estimation:
> 7.520 Debug DeploymentComponent::loadComponent scripting: fetching
> Attributes.
> 7.523 Debug DeploymentComponent::loadComponent scripting: fetching
> Methods.
> 7.525 Debug DeploymentComponent::loadComponent scripting: fetching
> Commands.
> 7.527 Debug DeploymentComponent::loadComponent Fetching Objects of
> scripting:
> 7.530 Debug DeploymentComponent::loadComponent engine: fetching
> Attributes.
> 7.532 Debug DeploymentComponent::loadComponent engine: fetching
> Methods. 7.534 Debug DeploymentComponent::loadComponent engine:
> fetching Commands.
> 7.537 Debug DeploymentComponent::loadComponent Fetching Objects of
> engine:
> 7.540 Debug DeploymentComponent::loadComponent marshalling: fetching
> Attributes.
> 7.542 Debug DeploymentComponent::loadComponent marshalling: fetching
> Methods.
> 7.544 Debug DeploymentComponent::loadComponent marshalling: fetching
> Commands.
> ....
> 7.712 Debug DeploymentComponent::loadComponent Fetching Objects of
> filterID:
> 7.716 Debug DeploymentComponent::loadComponent closestPerson:
> fetching Attributes.
> 7.718 Debug DeploymentComponent::loadComponent closestPerson:
> fetching Methods.
> 7.720 Debug DeploymentComponent::loadComponent closestPerson:
> fetching Commands.
> 7.722 Debug DeploymentComponent::loadComponent Fetching Objects of
> closestPerson:
> 7.725 Debug DeploymentComponent::loadComponent velocityClosestPerson:
> fetching Attributes.
> 7.727 Debug DeploymentComponent::loadComponent velocityClosestPerson:
> fetching Methods.
> 7.729 Debug DeploymentComponent::loadComponent velocityClosestPerson:
> fetching Commands.
> 7.731 Debug DeploymentComponent::loadComponent Fetching Objects of
> velocityClosestPerson:
> 7.734 Debug DeploymentComponent::loadComponent distanceClosestPerson:
> fetching Attributes.
> 7.736 Debug DeploymentComponent::loadComponent distanceClosestPerson:
> fetching Methods.
> 7.738 Debug DeploymentComponent::loadComponent distanceClosestPerson:
> fetching Commands.
> 7.740 Debug DeploymentComponent::loadComponent Fetching Objects of
> distanceClosestPerson:
> 7.741 Debug DeploymentComponent::loadComponent All Done.
> 7.741 Info DeploymentComponent::loadComponent Adding Estimation as
> new peer: OK.
> true
>
> In Task DeployerS. (Status of last Command : none )
> (type 'ls' for context info) :Estimation.closestPerson.
> Estimation.closestPerson.Set Estimation.closestPerson.ready
> (type 'ls' for context info) :connectPorts("iTaSC","Estimation")
> Got :connectPorts("iTaSC","Estimation")
> = 57.251 Debug iTaSC Peer Task Estimation has no Port
> JointPositions_361
> 57.251 Debug iTaSC Peer Task Estimation has no Port
> JointPositions_160 57.251 Debug iTaSC Peer Task Estimation has no
> Port JointVelocities_361 57.251 Debug iTaSC Peer Task Estimation has
> no Port JointVelocities_160 57.251 Debug iTaSC Peer Task Estimation
> has no Port WrenchData 57.251 Debug iTaSC Peer Task Estimation has no
> Port FollowerForce 57.251 Debug iTaSC Peer Task Estimation has no
> Port ContourPosition 57.251 Debug iTaSC Peer Task Estimation has no
> Port FollowerPosition 57.252 Debug iTaSC Peer Task Estimation has no
> Port Chi
> 57.252 Debug iTaSC Peer Task Estimation has no Port Gap
> 57.252 Debug iTaSC Peer Task Estimation has no Port ydes
> 57.257 Debug iTaSC Creating Corba DataSource proxy.
> 57.257 Debug iTaSC Using scndry port to create dataconnection.
> 57.257 Info iTaSC Added Port closestPerson to existing connection of
> peer Task Estimation.
> 57.263 Debug iTaSC Creating Corba DataSource proxy.
> 57.263 Debug iTaSC Using scndry port to create dataconnection.
> 57.263 Info iTaSC Added Port distanceClosestPerson to existing
> connection of peer Task Estimation.
> 57.268 Debug iTaSC Creating Corba DataSource proxy.
> 57.268 Debug iTaSC Using scndry port to create dataconnection.
> 57.268 Info iTaSC Added Port velocityClosestPerson to existing
> connection of peer Task Estimation.
> 57.268 Debug iTaSC Peer Task Estimation has no Port y
> 57.268 Debug iTaSC Peer Task Estimation has no Port chiu
> 57.268 Debug iTaSC Peer Task Estimation has no Port chiudot
> 57.268 Debug iTaSC Peer Task Estimation has no Port contour
> true
>
> In Task DeployerS. (Status of last Command : none )
> (type 'ls' for context info) :iTaSC.closestPerson.Get
> Got :iTaSC.closestPerson.Get
> = {}
>
> In Task DeployerS. (Status of last Command : none )
> (type 'ls' for context info) :ls Estimation
>
> Listing TaskContext Estimation :
>
> ...
>
> Data Flow Ports:
> R(C) array estimateMxClusters88.681 Debug
> Creating Corba
> DataSource proxy.
> = {1.22601, -2.297, -3.37568, -4.06521, -3.57595, -3.56776, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0}
> R(C) array estimateMyClusters88.686 Debug
> Creating Corba
> DataSource proxy.
> = {2.03496, 3.51921, 3.95205, 2.22549, 2.32643, 2.50736, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0}
> R(C) array estimateS11Clusters88.691 Debug
> Creating Corba
> DataSource proxy.
> = {0.191291, 0.305889, 0.194616, 0.163454, 0.139459, 0.220691, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> R(C) array estimateS12Clusters88.696 Debug
> Creating Corba
> DataSource proxy.
> = {-0.0336589, -0.015045, -0.00590466, 0.0027373, 0.0102093, -0.0150817,
> 0, 0, 0, 0, 0 Creating Corba DataSource proxy.
> = {0.00010021, 1.51857e-05, -0.000302894, -0.00154889, -0.000246841, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> R(C) array estimateS22Clusters88.706 Debug
> Creating Corba
> DataSource proxy.
> = {0.104727, 0.0964427, 0.189845, 0.370253, 0.423646, 0.231509, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> R(C) int numClusters 88.710 Debug
> Creating Corba
> DataSource proxy.
> = 5
> R(C) int numObjects 88.715 Debug
> Creating Corba
> DataSource proxy.
> = 5
> W(C) array estimateMxFilters88.720 Debug
> Creating Corba
> DataSource proxy.
> = {1.22595, -2.29726, -4.06651, -3.3714, -3.57436, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0}
> W(C) array estimateMyFilters88.725 Debug
> Creating Corba
> DataSource proxy.
> = {2.035, 3.51961, 2.22679, 3.94676, 2.32553, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0}
> W(C) array estimateVxFilters88.730 Debug
> Creating Corba
> DataSource proxy.
> = {0.00010021, 1.51857e-05, -0.000302894, -0.00154889, -0.000246841, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> W(C) array estimateVyFilters88.735 Debug
> Creating Corba
> DataSource proxy.
> = {0.000150749, 9.81621e-06, 0.000233719, 0.0019147, 0.000174089, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> W(C) array estimateS11Filters88.740 Debug
> Creating Corba
> DataSource proxy.
> = {0.0178376, 0.0178376, 0.0178376, 0.0178376, 0.0178376, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> W(C) array estimateS12Filters88.744 Debug
> Creating Corba
> DataSource proxy.
> = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> W(C) array estimateS21Filters88.750 Debug
> Creating Corba
> DataSource proxy.
> = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> W(C) array estimateS22Filters88.754 Debug
> Creating Corba
> DataSource proxy.
> = {0.0178376, 0.0178376, 0.0178376, 0.0178376, 0.0178376, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> W(C) int numFilters 88.759 Debug
> Creating Corba
> DataSource proxy.
> = 5
> W(C) array filterID 88.764 Debug
> Creating Corba
> DataSource proxy.
> = {1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
> W(C) array closestPerson = {-2.22616, -4.03544}
> W(C) array velocityClosestPerson = {-0.000827677, -0.00146089}
> W(C) double distanceClosestPerson = 2.37623
>
>
> Tinne
Problems when connecting to CORBA components using deployer-corb
On Wednesday 21 May 2008 09:18:27 Tinne De Laet wrote:
> On Monday 19 May 2008 23:00:25 Peter Soetens wrote:
> > On Monday 19 May 2008 11:38:11 Tinne De Laet wrote:
> > > 71.123 ERROR iTaSC Not connecting Port closestPerson to existing
> > > connection of peer Task Estimation.
> > > 71.124 ERROR iTaSC Not connecting Port distanceClosestPerson to
> > > existing connection of peer Task Estimation.
> > > 71.125 ERROR iTaSC Not connecting Port velocityClosestPerson to
> > > existing connection of peer Task Estimation.
> >
> > The patch in attachment could fix this specific problem on the local
> > side. You can also update the RTT to trunk to have all changes, but then
> > you'll need to update and recompile both remote and local sides, because
> > the IDL has been changed on trunk as wel...
>
> Mmm, we updated both rtt and ocl to the latest version (both local and
> remote) but still get a lot of problems.
>
> Without of the use of the NamingService we can load the component by hand
> using
> LoadComponents("Estimation.ior","IORFile")
> and connect the ports
> connectPorts("Estimation","iTaSC") .
> The ports are then correctly connected.
>
> If we reverse the order in connectPorts:
> Then connectPorts("iTaSC","Estimation") returns true
> but apparently the ports are not connected correctly.
Try this fix...
$ svn ci src/corba/ -m"Fix connecting to already connected remote port using a
CorbaPort/CorbaConnection."
Sending src/corba/CorbaConnection.cpp
Transmitting file data .
Committed revision 29303.
only required on the 'iTaSC' side as it is a patch in the proxy code.
Peter
Problems when connecting to CORBA components using deployer-corb
> >
> > Without of the use of the NamingService we can load the component by hand
> > using
> > LoadComponents("Estimation.ior","IORFile")
> > and connect the ports
> > connectPorts("Estimation","iTaSC") .
> > The ports are then correctly connected.
> >
> > If we reverse the order in connectPorts:
> > Then connectPorts("iTaSC","Estimation") returns true
> > but apparently the ports are not connected correctly.
>
> Try this fix...
> $ svn ci src/corba/ -m"Fix connecting to already connected remote port
> using a CorbaPort/CorbaConnection."
> Sending src/corba/CorbaConnection.cpp
> Transmitting file data .
> Committed revision 29303.
>
> only required on the 'iTaSC' side as it is a patch in the proxy code.
This is indeed a huge progress.
connecting Ports by hand now succeeds in both directions.
Also the autoconnect functionality in xml works.
When you list the ports in the xml you can still get a segmentation fault
however:
360 <struct name="Estimation.ior" type="IORFile">
361 <struct name="Peers" type="PropertyBag">
362 <simple type="string"><value>iTaSC</value></simple>
363 </struct>
365 <struct name="Ports" type="PropertyBag">
366 <simple name="closestPerson"
type="string"><value>closestPerson</value></simple>
367 <simple name="velocityClosestPerson"
type="string"><value>velocityClosestPerson</value></simple>
368 </struct>
369 </struct>
You get a segmentation fault if any of the ports of the remote component
listed in the xml is not also defined as a port on a local component.
For instance if closestPerson is not listed as a port of iTaSC, then you get a
segmentation fault.
If all remote ports are listed in any of the local components, everything just
works fine.
Thanks for fixing the bug Peter!!!
Tinne
Problems when connecting to CORBA components using deployer-corb
On Thursday 22 May 2008 13:44:39 Tinne De Laet wrote:
>
> When you list the ports in the xml you can still get a segmentation fault
> however:
> 360 <struct name="Estimation.ior" type="IORFile">
> 361 <struct name="Peers" type="PropertyBag">
> 362 <simple type="string"><value>iTaSC</value></simple>
> 363 </struct>
> 365 <struct name="Ports" type="PropertyBag">
> 366 <simple name="closestPerson"
> type="string"><value>closestPerson</value></simple>
> 367 <simple name="velocityClosestPerson"
> type="string"><value>velocityClosestPerson</value></simple>
> 368 </struct>
> 369 </struct>
> You get a segmentation fault if any of the ports of the remote component
> listed in the xml is not also defined as a port on a local component.
> For instance if closestPerson is not listed as a port of iTaSC, then you
> get a segmentation fault.
An orocos.log and gdb backtrace would be useful... am I correct that it
happens during configureComponents() ?
Peter
Problems when connecting to CORBA components using deployer-corb
On Thursday 22 May 2008 14:09:46 Peter Soetens wrote:
> On Thursday 22 May 2008 13:44:39 Tinne De Laet wrote:
> > When you list the ports in the xml you can still get a segmentation fault
> > however:
> > 360 <struct name="Estimation.ior" type="IORFile">
> > 361 <struct name="Peers" type="PropertyBag">
> > 362 <simple type="string"><value>iTaSC</value></simple>
> > 363 </struct>
> > 365 <struct name="Ports" type="PropertyBag">
> > 366 <simple name="closestPerson"
> > type="string"><value>closestPerson</value></simple>
> > 367 <simple name="velocityClosestPerson"
> > type="string"><value>velocityClosestPerson</value></simple>
> > 368 </struct>
> > 369 </struct>
> > You get a segmentation fault if any of the ports of the remote component
> > listed in the xml is not also defined as a port on a local component.
> > For instance if closestPerson is not listed as a port of iTaSC, then you
> > get a segmentation fault.
>
> An orocos.log and gdb backtrace would be useful... am I correct that it
> happens during configureComponents() ?
Mmm, this bug is really a strange one. I only get this segmentation fault once
every five trails (or so).
I compiled ocl with debug info: the output of gdb (when a crash occured) is
pasted below.
I attached the orocos.log although it doesn't seem to contain any relevant
info.
(gdb) run
Starting program: /usr/local/orocos-dbg/bin/deployer-corba-lxrt
Failed to read a valid object file image from memory.
Thread debugging using libthread_db enabled
New Thread 0xb6a846c0 (LWP 7984)
Unable to open the Datagram!
multicast discovery of NameService failed.
Specify -m 1 when starting Naming_Service,
or see http://www.theaceorb.com/faq/#115
for using NameService without multicast.
0.132 Warning
ControlTask 'Deployer' could not find CORBA Naming Service.
0.133 Warning
Writing IOR to 'std::cerr' and file 'Deployer.ior'
IOR:010000001e00000049444c3a5254542f436f7262612f436f6e74726f6c5461736b3a312e300000000100000000000000780000000101020019000000433135312e6d6563682e6b756c657576656e2e61632e6265000019841b00000014010f00525354a2773548cd580200000000000100000001000000000200000000000000080000000184cab6004f415401000000180000000183cab60100010001000000010001050901010000000000
New Thread 0xb67f2b90 (LWP 7989)
This console reader allows you to browse and manipulate TaskContexts. You can type in a command, event, method, expression or change variables. (type 'help' for instructions) TAB completion and HISTORY is available ('bash' like)library '/usr/local/orocos/lib/liborocos-staubli-lxrt.so':
1.543 ERROR
DeploymentComponent::loadLibrary /usr/local/orocos/lib/liborocos-staubli-lxrt.so:
undefined symbol: _ZN3RTT6Logger2InC1EPKc
1.543 ERROR
DeploymentComponent::loadLibrary /usr/local/orocos/lib//usr/local/orocos/lib/liborocos-staubli-lxrt.so:
cannot open shared object file: No such file or directory
New Thread 0xb542db90 (LWP 7990)
1.819 ERRORTypeInfoName Can not build Property of unknown_t.
New Thread 0xb4c2cb90 (LWP 7991)
1.846 ERRORTypeInfoName Can not build Property of unknown_t.
New Thread 0xb442bb90 (LWP 7992)
Program received signal SIGSEGV, Segmentation fault.
Switching to Thread 0xb6a846c0 (LWP 7984)
0xb6bce25b in strlen () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<boost::_bi::unspecified,
boost::_mfi::mf1<bool, OCL::DeploymentComponent, std::string const&>,
boost::_bi::list2<boost::_bi::value<OCL::DeploymentComponent*>, boost::arg<1>
(*)()> >, bool, std::string const&>::invoke ()
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
std::allocator<void> >::operator() ()
(std::string const&), std::allocator<void> >, std::string const&>::get ()
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
const&), RTT::detail::FunctorDataSource<boost::function<bool ()(std::string
const&), std::allocator<void> > > >::get ()
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
Good luck with this one :).
Tinne
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
Problems when connecting to CORBA components using deployer-corb
On Thursday 22 May 2008 15:43:41 Tinne De Laet wrote:
> Mmm, this bug is really a strange one. I only get this segmentation fault
> once every five trails (or so).
> I compiled ocl with debug info: the output of gdb (when a crash occured) is
> pasted below.
> I attached the orocos.log although it doesn't seem to contain any relevant
> info.
This exposes a different bug than the one which you mentioned about the ports.
It was the 'activity' configuration code that did not expect an IORFile argument (previously, the name of the component XML struct was identical to
the name of the component. With IORFile, they can differ.)
>
>
> (gdb) run
> Starting program: /usr/local/orocos-dbg/bin/deployer-corba-lxrt
> Failed to read a valid object file image from memory.
> Thread debugging using libthread_db enabled
> New Thread 0xb6a846c0 (LWP 7984)
> Unable to open the Datagram!
>
> multicast discovery of NameService failed.
> Specify -m 1 when starting Naming_Service,
> or see http://www.theaceorb.com/faq/#115
> for using NameService without multicast.
>
> 0.132 Warning
> ControlTask 'Deployer' could not find CORBA Naming Service.
> 0.133 Warning
> Writing IOR to 'std::cerr' and file 'Deployer.ior'
> IOR:010000001e00000049444c3a5254542f436f7262612f436f6e74726f6c5461736b3a312
>e300000000100000000000000780000000101020019000000433135312e6d6563682e6b756c6
>57576656e2e61632e6265000019841b00000014010f00525354a2773548cd580200000000000
>100000001000000000200000000000000080000000184cab6004f41540100000018000000018
>3cab60100010001000000010001050901010000000000 [New Thread 0xb67f2b90 (LWP
> 7989)]
> Switched to : Deployer
>
> This console reader allows you to browse and manipulate TaskContexts.
> You can type in a command, event, method, expression or change variables.
> (type 'help' for instructions)
> TAB completion and HISTORY is available ('bash' like)
>
> In Task DeployerS. (Status of last Command : none )
> (type 'ls' for context info) :kickStart("opendeurdag_all.xml")
> Got :kickStart("opendeurdag_all.xml")
> = 1.543 ERRORDeploymentComponent::loadLibrary Could not load
> library '/usr/local/orocos/lib/liborocos-staubli-lxrt.so':
> 1.543 ERROR
> DeploymentComponent::loadLibrary
> /usr/local/orocos/lib/liborocos-staubli-lxrt.so: undefined symbol:
> _ZN3RTT6Logger2InC1EPKc
This means this library has been compiled with an older version of the RTT.
> 1.543 ERROR
> DeploymentComponent::loadLibrary
> /usr/local/orocos/lib//usr/local/orocos/lib/liborocos-staubli-lxrt.so:
> cannot open shared object file: No such file or directory
> New Thread 0xb542db90 (LWP 7990)
> 1.819 ERRORTypeInfoName Can not build Property of unknown_t.
> New Thread 0xb4c2cb90 (LWP 7991)
> 1.846 ERRORTypeInfoName Can not build Property of unknown_t.
I'm not sure if this harms anyone or not...
Anyway, r29305 in OCL should fix this crash.
Peter
Problems when connecting to CORBA components using deployer-corb
On Thursday 22 May 2008 16:29:23 Peter Soetens wrote:
> On Thursday 22 May 2008 15:43:41 Tinne De Laet wrote:
> > Mmm, this bug is really a strange one. I only get this segmentation fault
> > once every five trails (or so).
> > I compiled ocl with debug info: the output of gdb (when a crash occured)
> > is pasted below.
> > I attached the orocos.log although it doesn't seem to contain any
> > relevant info.
>
> This exposes a different bug than the one which you mentioned about the
> ports. It was the 'activity' configuration code that did not expect an
> IORFile argument (previously, the name of the component XML struct was
> identical to the name of the component. With IORFile, they can differ.)
This is possible. It is very difficult to draw some conclusions if the
segfault only appears occasionaly.
> Anyway, r29305 in OCL should fix this crash.
I updated to the latest release but the segfaults still appears now and then.
Tinne
Problems when connecting to CORBA components using deployer-corb
On Thursday 22 May 2008 17:22:39 Tinne De Laet wrote:
> On Thursday 22 May 2008 16:29:23 Peter Soetens wrote:
> > On Thursday 22 May 2008 15:43:41 Tinne De Laet wrote:
> > > Mmm, this bug is really a strange one. I only get this segmentation
> > > fault once every five trails (or so).
> > > I compiled ocl with debug info: the output of gdb (when a crash
> > > occured) is pasted below.
> > > I attached the orocos.log although it doesn't seem to contain any
> > > relevant info.
> >
> > This exposes a different bug than the one which you mentioned about the
> > ports. It was the 'activity' configuration code that did not expect an
> > IORFile argument (previously, the name of the component XML struct was
> > identical to the name of the component. With IORFile, they can differ.)
>
> This is possible. It is very difficult to draw some conclusions if the
> segfault only appears occasionaly.
>
> > Anyway, r29305 in OCL should fix this crash.
>
> I updated to the latest release but the segfaults still appears now and
> then.
Did you know that you can run the remote component in LXRT and locally the
deployer-gnulinux ? Would this work for you and allow us to extract a
valgrind trace ?
Peter
Problems when connecting to CORBA components using deployer-corb
connection WrenchData
Segmentation Fault
And gdb returns:
Program received signal SIGSEGV, Segmentation fault.
Switching to Thread 0xb6ad86c0 (LWP 19118)
0xb6f723f6 in OCL::DeploymentComponent::configureComponents ()
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
Current language: auto; currently asm
(gdb) bt
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
boost::detail::function::function_obj_invoker1<boost::_bi::bind_t<boost::_bi::unspecified,
boost::_mfi::mf1<bool, OCL::DeploymentComponent, std::string const&>,
boost::_bi::list2<boost::_bi::value<OCL::DeploymentComponent*>, boost::arg<1>
(*)()> >, bool, std::string const&>::invoke ()
from /usr/local/orocos/lib/liborocos-deployment-lxrt.so.1.4
std::allocator<void> >::operator() ()
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
(std::string const&), std::allocator<void> >, std::string const&>::get ()
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
const&), RTT::detail::FunctorDataSource<boost::function<bool ()(std::string
const&), std::allocator<void> > > >::get ()
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-rtt-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
from /usr/local/orocos/lib/liborocos-taskbrowser-lxrt.so.1.4
Tinne
Problems when connecting to CORBA components using deployer-corb
On Wednesday 21 May 2008 09:33:19 Tinne De Laet wrote:
> On Monday 19 May 2008 23:00:25 Peter Soetens wrote:
> > On Monday 19 May 2008 11:38:11 Tinne De Laet wrote:
> > > 71.123 ERROR iTaSC Not connecting Port closestPerson to existing
> > > connection of peer Task Estimation.
> > > 71.124 ERROR iTaSC Not connecting Port distanceClosestPerson to
> > > existing connection of peer Task Estimation.
> > > 71.125 ERROR iTaSC Not connecting Port velocityClosestPerson to
> > > existing connection of peer Task Estimation.
> >
> > The patch in attachment could fix this specific problem on the local
> > side. You can also update the RTT to trunk to have all changes, but then
> > you'll need to update and recompile both remote and local sides, because
> > the IDL has been changed on trunk as wel...
>
> Again our ocl and rtt are the latest version (both local and remote).
> Without the use of the namingservice but using the deployer to load and
> connect to our remote component we still have problems.
>
> When we use the following code in the xml (i.e. the port statements in the
> xml are commented):
>
> <struct name="Estimation.ior" type="IORFile">
> <!-- <struct name="Ports" type="PropertyBag"> -->
> <!-- <simple name="closestPerson"
> type="string"><value>closestPerson</value></simple> -->
> <!-- <simple name="velocityClosestPerson"
> type="string"><value>velocityClosestPerson</value></simple> -->
> <!-- </struct> -->
> </struct>
>
> Estimation is loaded correctly and we can connect to the remote component
> by: connectPorts("Estimation","iTaSC") (but again, not in the reverse order
> (see previous mail)).
>
> If we uncomment the port statements in the xml we get a segmentation fault
> however.
This could be fixed with the latest update of the deployer. Because the code
was not compiled with debugging info, it is hard for me to track down which
line caused the crash.
Peter
Problems when connecting to CORBA components using deployer-corb
On Friday 16 May 2008 13:20:14 Peter Soetens wrote:
> On Friday 16 May 2008 11:51:32 Tinne De Laet wrote:
> > On Friday 16 May 2008 10:44:56 Peter Soetens wrote:
> > > On Friday 16 May 2008 10:10:52 Tinne De Laet wrote:
> > > > Hi,
> > > >
> > > > we have some problems when connected with a corba component using the
> > > > deployer-corba.
> > > > The remote corba component is not using the deployer but this
> > > > shouldn't be the poblem.
> > > > Apparently, our local application is connected to the corba
> > > > component, we can start and stop the corba component.
> > > > However, when we cd to the corba component en type ls: we only get a
> > > > part of the ls output and then a error.
> > > > I attached the output of valgrind and the deployer itself.
> > >
> > > The valgrind errors are 'standard' for TAO :-(. BAD_OPERATION means we
> > > called a function that does not exist on the other end. Probably the
> > > idl file the other end is using is outdated, as we added functions to
> > > the idl, but this is already some months ago...
> >
> > Ok, this was indeed the problem. Our remote component used the revision
> > of 11 march with number 29044.
> >
> > Now we have a new problem:
> > We added the following line in the deployement.xml file:
> > <struct name="Estimation.ior" type="IORFile"> </struct>
> > And get the following error message:
> >
> > 0.446 ERRORupdateProperty Property 'Estimation' is not present in
> > the source PropertyBag !
> > 0.446 ERRORLogger Failed to store deployment properties for
> > component Estimation.ior
> > 0.452 ERRORLogger Failed to load a component: aborting kick-start.
>
> Because of an implementation choice, Property names should not include '.',
> because it confuses the RTT::updateProperty function.
>
> I'll see what we can do about that... won't be easy to specify a filename
> as a property name, possibly (most likely) we need to use something like
>
> <struct name="Estimation" type="IORFile">
> <simple name="IORFile"
> type="string"><value>Estimation.ior</value></simple> </struct>
Eventually, I changed the deployer's code such that only the string "@!#?<!"
is not allowed in an IOR filename. Please, don't cal