Discussion:
[omniORB] (4.1.0beta2) resolve_inital_reference fails
Slawomir Lisznianski
2006-08-30 23:34:27 UTC
Permalink
I'm trying out the 4.1.0-beta-2 release and I've noticed that under some OSes the resolve_initial_reference("RootPOA") throws "omniORB: Error: Unable to create an endpoint of this description: giop:tcp::0".

For example, the call works fine on Linux Fedora Core 4, RedHat AS4 and CentOS 4.3 (all with kernel 2.6). However, the same binary fails with the error above on RedHat AS3 (kernel 2.4). I tested on several AS3s with the same result. The same application compiled against omniORB 4.0.7 works on all OSes.

Stack trace:

#0 0xf613fcdf in raise () from /lib/tls/libc.so.6
#1 0xf61414e5 in abort () from /lib/tls/libc.so.6
#2 0xf63064f7 in __cxa_call_unexpected () from /usr/lib/libstdc++.so.5
#3 0xf6306544 in std::terminate () from /usr/lib/libstdc++.so.5
#4 0xf630671c in __cxa_rethrow () from /usr/lib/libstdc++.so.5
#5 0xf5e0b538 in omni::omniObjAdapter::initialise () from ..lib/libomniORB4.so.1
#6 0xf5e283ac in initialise_poa () from ..lib/libomniORB4.so.1
#7 0xf5e28515 in omni::omniOrbPOA::rootPOA () from ..lib/libomniORB4.so.1
#8 0xf5e2c5c6 in omni::resolveRootPOAFn () from ..lib/libomniORB4.so.1
#9 0xf5dfa71c in omni::resolvePseudo () from ..lib/libomniORB4.so.1
#10 0xf5dfb9ab in omni::omniInitialReferences::resolve () from ..lib/libomniORB4.so.1
#11 0xf5de4f3a in omniOrbORB::resolve_initial_references ()


Thanks,
--
Slawomir Lisznianski
Paramay Group, LLC
"Programs for Research Machinery"
Duncan Grisby
2006-09-01 20:09:03 UTC
Permalink
Post by Slawomir Lisznianski
I'm trying out the 4.1.0-beta-2 release and I've noticed that under
Error: Unable to create an endpoint of this description: giop:tcp::0".
For example, the call works fine on Linux Fedora Core 4, RedHat AS4
and CentOS 4.3 (all with kernel 2.6). However, the same binary fails
with the error above on RedHat AS3 (kernel 2.4). I tested on several
AS3s with the same result. The same application compiled against
omniORB 4.0.7 works on all OSes.
The problem is due to the new support for IPv6. Did you compile omniORB
on the AS3 machine, or use the version compiled on one of the others?
The configure script tries to work out if IPv6 is supported, and only
compiles it in if the platform supports it.

If you did configure and build it on the AS3 machine, the configure
script obviously decided that you did have IPv6 support when in fact you
don't. If that is the case I'll have to add a configure option to
explicitly choose to disable IPv6.

As a temporary work-around, it will probably work if you use a command
line argument of -ORBendPoint giop:tcp:0.0.0.0: or put the equivalent
endPoint = giop:tcp:0.0.0.0: in the config file.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Slawomir Lisznianski
2006-09-01 20:39:43 UTC
Permalink
Post by Duncan Grisby
The problem is due to the new support for IPv6. Did you compile omniORB
on the AS3 machine, or use the version compiled on one of the others?
I compiled on AS3 where ideally the test for IPv6 should have failed. The kernel has support for inet6, but interface test fails (see below).
Post by Duncan Grisby
The configure script tries to work out if IPv6 is supported, and only
compiles it in if the platform supports it.
One way to check if inet6 works is to ping self:

Example from AS3:

$ ping6 -c 1 ::1
socket: Address family not supported by protocol

Example from AS4:

$ ping6 -c 1 ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=0 ttl=64 time=0.028 ms

--- ::1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.028/0.028/0.028/0.000 ms, pipe 2
Post by Duncan Grisby
If that is the case I'll have to add a configure option to
explicitly choose to disable IPv6.
That would be great.


Greetings,
--
Slawomir Lisznianski
Paramay Group, LLC
"Programs for Research Machinery"
Duncan Grisby
2006-09-04 17:53:13 UTC
Permalink
On Friday 1 September, Slawomir Lisznianski wrote:

[...]
Post by Slawomir Lisznianski
Post by Duncan Grisby
If that is the case I'll have to add a configure option to
explicitly choose to disable IPv6.
That would be great.
I've just checked in a new option to configure, --disable-ipv6 . If you
specify that, it builds omniORB without IPv6 support, regardless of
whether the platform has the right headers and structures.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...