CORBA: what is it and why does it create "error in GIOP magic"?

3.5k views Asked by At

I'm seeing an CORBA error in GIOP magic in my GlassFish 3.1.2 server log, which leads to severe errors later. As this isn't coming from my web app code, it must be from the environment(?).

Can anyone help shed some light on what CORBA is, how this generic error gets generated, and how to troubleshoot?

[#|2014-11-08T14:14:52.296-0800|WARNING|glassfish3.1.2|javax.enterprise.resource.corba.ORBUtil|_ThreadID=646;_ThreadName=Thread-2;|IOP00710020: Error in GIOP magic org.omg.CORBA.INTERNAL: WARNING: IOP00710020: Error in GIOP magic vmcid: OMG minor code: 20 completed: Maybe at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at ...

1

There are 1 answers

0
Wolfgang Fahl On BEST ANSWER

Here are some pointers

The GIOP Magic number is used for letting the receiver of a message check the little/endianess big/endianess of the sender.

It's defined as 4 byte value in the MessageHeader:

// GIOP 1.x
struct MessageHeader_1_x { // Renamed from MessageHeader
  char magic [4];
  Version GIOP_version

magic: The value of this member is always the four (upper case) characters "GIOP" encoded in ISO Latin-1 (8859.1)

If you get the error you see the incoming IIOP message is incorrect or out of sync. You might want to debug the message stream producing and receiving side to see what's going on.

See also Brian' Kelly's answer in GIOP error message as pointed out by Johnny Willemsen in his comment above (you might want to consider upvoting those two if you like this answer).