Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Java ORB CORBA error, meaning?

173 views
Skip to first unread message

Thomas Richter

unread,
Mar 29, 2004, 4:14:43 AM3/29/04
to
Hi folks,

could someone please enlighten me? I'm getting the following exceptions
from the built-in Java ORB, and I've no idea what they could mean:

org.omg.CORBA.TRANSIENT: vmcid: 0x41540000 minor code: 2 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at com.sun.corba.se.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:90)

/* snip */

org.omg.CORBA.BAD_PARAM: vmcid: 0x41540000 minor code: 21 completed: No
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at com.sun.corba.se.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:90)
at com.sun.corba.se.internal.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl.java:105)
at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:314)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)

/* snip */

I've here two machines, A and B. If I run the server on A and the client on
B, everything is fine. If I revert this and run the server on B and the
client on A, I get the above errors. If I run the client and server locally on
A, or on B, without a network, I don't get errors either.
I've no idea what's causing this.

Any help? Any idea where I would find the meaning of the "vmcid" code,
and the meaning of the "minor code"?

Greetings,
Thomas

Eric Marsden

unread,
Mar 29, 2004, 8:52:27 AM3/29/04
to
>>>>> "tr" == Thomas Richter <th...@cleopatra.math.tu-berlin.de> writes:

tr> I've here two machines, A and B. If I run the server on A and
tr> the client on B, everything is fine. If I revert this and run
tr> the server on B and the client on A, I get the above errors. If
tr> I run the client and server locally on A, or on B, without a
tr> network, I don't get errors either. I've no idea what's causing
tr> this.
tr>
tr> Any help? Any idea where I would find the meaning of the "vmcid" code,
tr> and the meaning of the "minor code"?

the vmcid identifies the ORB vendor; I don't know which one 0x41540000
identifies (possibly omniORB from the AT prefix?). The minor codes are
partially standardized by the OMG; for instance minor code 2 for a
TRANSIENT exception means "No usable profile in IOR".

<URL:http://www.omg.org/docs/omg/03-12-02.txt>

This might be due to the ORB not being able to resolve the address
embedded in the IOR, for instance due to a problem with your network
configuration.

--
Eric Marsden <URL:http://www.laas.fr/~emarsden/>

Thomas Richter

unread,
Mar 29, 2004, 9:35:49 AM3/29/04
to
Hi Eric,

> the vmcid identifies the ORB vendor; I don't know which one 0x41540000
> identifies (possibly omniORB from the AT prefix?).

Yes, that's the omniORB indeed. Ok, thanks.

> The minor codes are
> partially standardized by the OMG; for instance minor code 2 for a
> TRANSIENT exception means "No usable profile in IOR".

Thanks for the URL. Now another question. What does "No usable profile in
IOR" mean?

> This might be due to the ORB not being able to resolve the address
> embedded in the IOR, for instance due to a problem with your network
> configuration.

Strange enough. The network works fine, and the same java code works
fine from Windows as well. It just fails on Linux, and only if I connect
to a specific machine. I'm feeling bewildered...

Greetings,
Thomas

Duncan Grisby

unread,
Mar 30, 2004, 4:03:11 AM3/30/04
to
In article <wziwu53...@melbourne.laas.fr>,
Eric Marsden <emar...@laas.fr> wrote:

>the vmcid identifies the ORB vendor; I don't know which one 0x41540000
>identifies (possibly omniORB from the AT prefix?). The minor codes are
>partially standardized by the OMG; for instance minor code 2 for a
>TRANSIENT exception means "No usable profile in IOR".

Minor code 2 only means that if the vendor code is the OMG one. In
this case, the vendor code is omniORB's, so it's omniORB's minor code
2. The meaning of that is connect failed. i.e. it has tried to contact
a server and it isn't listening.

The BAD_PARAM exception has omniORB minor code 21, which is "index out
of range". It's used when trying to access beyond the end of a
sequence, for example.

You can see the minor codes omniORB uses, both standard OMG ones and
omniORB extensions in include/omniORB4/minorCode.h.

Cheers,

Duncan.

--
-- Duncan Grisby --
-- dun...@grisby.org --
-- http://www.grisby.org --

Thomas Richter

unread,
Mar 30, 2004, 6:40:44 AM3/30/04
to
Hi Duncan,

>>the vmcid identifies the ORB vendor; I don't know which one 0x41540000
>>identifies (possibly omniORB from the AT prefix?). The minor codes are
>>partially standardized by the OMG; for instance minor code 2 for a
>>TRANSIENT exception means "No usable profile in IOR".

> Minor code 2 only means that if the vendor code is the OMG one. In
> this case, the vendor code is omniORB's, so it's omniORB's minor code
> 2. The meaning of that is connect failed. i.e. it has tried to contact
> a server and it isn't listening.

> The BAD_PARAM exception has omniORB minor code 21, which is "index out
> of range". It's used when trying to access beyond the end of a
> sequence, for example.

> You can see the minor codes omniORB uses, both standard OMG ones and
> omniORB extensions in include/omniORB4/minorCode.h.

That's it indeed. The server isn't listening because this #^*&#!
Java ORB was putting the wrong host address into its IOR. Interestingly,
it seems to take the network address from /etc/hosts, and not from anything
more apropriate. In my case the machine was configured before with static
IP address, then later DHCP was enabled. This left the old configuration
in /etc/hosts behind, though not even a reboot could convince Java from
taking the real DHCP provided address instead of the incorrect static one.

Why the code 21 is generated I don't know, but the connection (or the lack
thereof) was too much broken to expect anything useful at all.

So long,
Thomas

Rob Ratcliff

unread,
Apr 1, 2004, 9:44:45 PM4/1/04
to
Thomas Richter wrote:

>
>
>That's it indeed. The server isn't listening because this #^*&#!
>Java ORB was putting the wrong host address into its IOR. Interestingly,
>it seems to take the network address from /etc/hosts, and not from anything
>more apropriate. In my case the machine was configured before with static
>IP address, then later DHCP was enabled. This left the old configuration
>in /etc/hosts behind, though not even a reboot could convince Java from
>taking the real DHCP provided address instead of the incorrect static one.
>
>Why the code 21 is generated I don't know, but the connection (or the lack
>thereof) was too much broken to expect anything useful at all.
>
>
>

Thomas,

You might take a look at your /etc/nsswitch.conf file to see if it using
dns or files to determine the order of resolution:
/etc/nsswitch.conf
hosts: files dns

0 new messages