[jacorb-developer] issue about customer exception propagation over iiop

Nick Cross jacorb at goots.org
Fri Oct 5 11:27:40 CEST 2012

For reference - bug confirmed and fix has been applied to the JacORB base.



On 26/09/12 04:05, Chao Wang wrote:
> Hello, Nick
> Thanks for your reply.
> Actually my case is a test issue for JBoss EAP5
> https://issues.jboss.org/browse/JBPAPP-9891 As I saw your name in JacORB
> Authors and Contributors list marked as (Red Hat) ORB Core, I think you
> can access to this public jira link, In case you don't have EAP source
> test code in hand or can't access to jenkins site. I have another small
> test can produce similar error (see zip file in attachment).
> There is a "readme.txt" to explain more details.
> The point I suspect is that out.write_value() process of
> com.ibm.rmi.iiop.CDROutputStream, it looks like the variable defined of
> an user exception can't be proper written to the stream, and when it
> reads back, we have a wrong value.
> I also test this with an openjdk- and a oracle jdk1.7, and test
> can pass without any problem, to run with openjdk, we have to switch
> CDROutputStream type to com.sun.corba.se.impl.encoding.CDROutputStream
> in the code.
> Any your advice or guide could be helpful.
> Please let me know if you have any trouble to run the test.
> Best regards,
> Chao
> On 09/26/2012 12:14 AM, Nick Cross wrote:
>> Hi
>> Can you submit a complete working test case including details of all
>> versions of software you are using please. You could use bugzilla for
>> code attachments.
>> Regards,
>> Nick
>> ------- Original message -------
>>> From: Chao Wang <soul2zimate at gmail.com>
>>> To: jacorb-developer at lists.spline.inf.fu-berlin.de
>>> Sent: 25.9.'12,  8:06
>>> Hey all,
>>> I have a spiny case with jacorb and iiop on jboss (Fedora16 + IBM
>>> JDK7), I
>>> have a test case that try to throw an user exception and test this
>>> exception propagation over IIOP.
>>> the idea of test is deploying my "iiop.jar" to server which contains my
>>> customer exception (have a variable "i" inside, initial this value
>>> with the
>>> parameter of constructor) and contains my SLSB who provide a method
>>> "testException" to throw a new customer exception. so, after create a
>>> session from my test case, I tried to call the testException method by
>>> passing a parameter -1,
>>> try{
>>>   session.testException(-1);
>>> }catch(customerexception e)
>>> {
>>>   make assertion on e.getValueI(); // here the i value should be -1,
>>> but is
>>> always return -2, no matter what I input as parameter in testException()
>>> }
>>> and catching the customer exception threw from server, and check the
>>> value
>>> "i", it should be equal to -1 as the parameter.
>>> the weird thing is that the value i in the exception that I catch is
>>> always
>>> "-2", no matter passing -1 or other value as parameter, it always return
>>> -2. so in the code of server side, I can track down until it writes
>>> exception to an outputstream and sending by GIOP to test client side,
>>> the i
>>> value in exception is still good one at that time.
>>> so I used wireshark to catch GIOP byte data, and try to see whether my i
>>> variable has the good value in the stream,  the byte data I captured
>>> with
>>> wireshark only contains a few readable message like exception class
>>> name,
>>> but apart of this, other byte data are unreadable and encoded.
>>> So, do you have any suggestion on my issue or any other method that I
>>> can
>>> see that wrong variable?
>>> _______________________________________________
>>> jacorb-developer maillist  -
>>> jacorb-developer at lists.spline.inf.fu-berlin.de
>>> https://lists.spline.inf.fu-berlin.de/mailman/listinfo/jacorb-developer
>> _______________________________________________
>> jacorb-developer maillist  -
>> jacorb-developer at lists.spline.inf.fu-berlin.de
>> https://lists.spline.inf.fu-berlin.de/mailman/listinfo/jacorb-developer

More information about the jacorb-developer mailing list