[omniORB] Duplicated Values

Wernke zur Borg wernke.zur.borg at vega.de
Wed Nov 2 08:05:36 GMT 2005


Hi Curtis,

Your double values do appear in the message, e.g. 0x000000000840 = 3.0

The cause for your trouble is that you did not allocate memory for your
string with CORBA::string_dup. Do it and your problem will be solved.

Regards, Wernke

> -----Original Message-----
> From: omniorb-list-bounces at omniorb-support.com 
> [mailto:omniorb-list-bounces at omniorb-support.com] On Behalf 
> Of Curtis Hawthorne
> Sent: 01 November 2005 17:19
> To: omniorb-list at omniorb-support.com
> Subject: [omniORB] Duplicated Values
> 
> Hi all,
> 
> I've been having a problem with OmniORB.  I've created what 
> should be a
> simple function one-direction call that takes a string and 6 doubles.
> The problem I'm having is that the string will get passed 
> just fine, but
> whatever the first double in a series of doubles is will be duplicated
> to the rest.  That's kinda hard to explain, so here's some examples:
> 
> "pitch", 1, 2, 3, 4, 5, 6
> 
> shows up on the other side as
> 
> "pitch", 1, 1, 1, 1, 1, 1
> 
> Also:
> 
> 1, 2, 3, 4, 5, 6, "pitch"
> 
> gives
> 
> 1, 1, 1, 1, 1, 1, "pitch"
> 
> And finally, out of desperation, I tried:
> 
> 41, "pitch", 2, 3, 4, 5, 6
> 
> which resulted in:
> 
> 41, "pitch", 2, 2, 2, 2, 2
> 
> Here's the IDL definition of the function:
> 
> void tunePID(in double p, in string pidname, in double i, in double d,
> in double setpoint, in double integral_limit, in double output_limit);
> 
> And I call it as:
> 
> pids_remote->tunePID(41,"pitch",2,3,4,5,6);
> 
> And here's the output of ORBtraceLevel=40 for that call:
> 
> omniORB: sendChunk: to giop:tcp:10.31.151.63:32824 128 bytes
> omniORB:
> 4749 4f50 0102 0100 7400 0000 1400 0000 GIOP....t.......
> 0300 0000 0000 0000 0e00 0000 fec6 9167 ...............g
> 4300 005f e600 0000 0000 0a30 0800 0000 C.._.......0....
> 7475 6e65 5049 4400 0000 0000 0000 0000 tunePID.........
> 0000 0000 0080 4440 0600 0000 7069 7463 ......D at ....pitc
> 6800 202e 2e2e 2e2e 0000 0000 0000 0040 h. ............@
> 0000 0000 0000 0840 0000 0000 0000 1040 ....... at .......@
> 0000 0000 0000 1440 0000 0000 0000 1840 ....... at .......@
> 
> So, as far as I can tell, it's reserving space in the packet for the
> other doubles, but isn't putting them in.
> 
> Any help would be greatly appreciated.
> 
> Thanks!
> 
> Curtis H.
> 




More information about the omniORB-list mailing list