You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Scott Kurz <sc...@gmail.com> on 2011/02/09 23:32:34 UTC

problem with binding-corba-runtime test running with my local changes... need a different ORB?

Before trying to tackle
 https://issues.apache.org/jira/browse/TUSCANY-3832
I was trying to deal with the fact that I broke the
binding-corba-runtime module tests, hitting a CORBA MARSHAL exception.

This module does use a mock 'TestOperation' (which implements
Operation which I'd changed in my patch), leading me to think maybe I
was dealing with an incompatible change serialization type of issue.

But I'm kind of stuck.   I don't see us actually passing TestOperation
as a parameter.    In looking at the IDL I don't see why I'd need to
do another idl2java, but maybe I'm wrong.

I don't know CORBA all that well and was wondering if anyone had any ideas....

When I use the Sun JDK (1.6) I see:
   org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 207  completed: No

When I use the IBM JDK (1.6):
   org.omg.CORBA.MARSHAL: No available data: Request 14:read beyond
end of data. No fragments available.  vmcid: OMG  minor code: 8
completed: Maybe

Here are the failed tests:
  test_primitivesSetter(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
  test_arraysSetter(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
  test_TestObject_setStruct(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
  test_enums(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
  test_nonCorbaServants(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
  test_arraysPassing(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)

I'm doing an offline mvn so I don't overwrite my local changes to
other modules.

I found this post suggesting the Sun JDK 207 code could be addressed
by using the IBM ORB in the Sun JDK
  http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14036393
but I'm guessing that using the IBM JDK is just as good.

Any ideas??

Thanks,
Scott

Re: problem with binding-corba-runtime test running with my local changes... need a different ORB?

Posted by Scott Kurz <sc...@gmail.com>.
Thanks Simon.

You were right.. I forgot that I had overwritten the TestOperation
setOutputType() call to effectively no-op, so I wasn't building the
response correctly.

I'll share one thing I did learn (in case someone or myself has to
search email for a problem like this in the future).

By running with the IBM JDK, you get an "orbtrc" trace file, and by
adding this to my maven command line:
    -DargLine="-Dcom.ibm.CORBA.Debug=true -Dcom.ibm.CORBA.CommTrace=true"
it gets a detailed trace with eyecatcher.

This let me see pretty clearly that my "app" data wasn't in the "bad"
IIOP payload..just the header/context/etc. info.

Scott

Re: problem with binding-corba-runtime test running with my local changes... need a different ORB?

Posted by Simon Laws <si...@googlemail.com>.
On Wed, Feb 9, 2011 at 10:32 PM, Scott Kurz <sc...@gmail.com> wrote:
> Before trying to tackle
>  https://issues.apache.org/jira/browse/TUSCANY-3832
> I was trying to deal with the fact that I broke the
> binding-corba-runtime module tests, hitting a CORBA MARSHAL exception.
>
> This module does use a mock 'TestOperation' (which implements
> Operation which I'd changed in my patch), leading me to think maybe I
> was dealing with an incompatible change serialization type of issue.
>
> But I'm kind of stuck.   I don't see us actually passing TestOperation
> as a parameter.    In looking at the IDL I don't see why I'd need to
> do another idl2java, but maybe I'm wrong.
>
> I don't know CORBA all that well and was wondering if anyone had any ideas....
>
> When I use the Sun JDK (1.6) I see:
>   org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 207  completed: No
>
> When I use the IBM JDK (1.6):
>   org.omg.CORBA.MARSHAL: No available data: Request 14:read beyond
> end of data. No fragments available.  vmcid: OMG  minor code: 8
> completed: Maybe
>
> Here are the failed tests:
>  test_primitivesSetter(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
>  test_arraysSetter(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
>  test_TestObject_setStruct(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
>  test_enums(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
>  test_nonCorbaServants(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
>  test_arraysPassing(org.apache.tuscany.sca.binding.corba.testing.CorbaServantTestCase)
>
> I'm doing an offline mvn so I don't overwrite my local changes to
> other modules.
>
> I found this post suggesting the Sun JDK 207 code could be addressed
> by using the IBM ORB in the Sun JDK
>  http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14036393
> but I'm guessing that using the IBM JDK is just as good.
>
> Any ideas??
>
> Thanks,
> Scott
>

Not sure Scott but from "No available data: Request 14:read beyond end
of data." it does sound like it's expecting more data than it's
getting.

Simon

-- 
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com