<html>
    <head>
      <base href="http://www.jacorb.org/bugzilla/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Unexpected exception on local calls interceptions"
   href="http://www.jacorb.org/bugzilla/show_bug.cgi?id=979">979</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Unexpected exception on local calls interceptions
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>JacORB
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.4
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>critical
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P5
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>ORB
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>jacorb-bugs@lists.spline.inf.fu-berlin.de
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>hroenick@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=433" name="attach_433" title="Demo where the error can be reproduced">attachment 433</a> <a href="attachment.cgi?id=433&action=edit" title="Demo where the error can be reproduced">[details]</a></span>
Demo where the error can be reproduced

I've experienced an unexpected behaviour while implementing a handshake
protocol using CORBA interceptors and forward request.

I built a small example to illustrate the problem that I'm experiencing. In
this example my protocol defines that the server side will only accepts calls
from who attaches a correct secret to requests. If a wrong secret is attached,
then the server throws a NO_PERMISSION exception. On the client side, the
interceptor knows that if it gets a NO_PERMISSION then he can retry the request
attaching the correct secret. Forward Request is used by the client interceptor
to retry the request.

In this example the client will call "sayHello" to server, which print the
hello message but he will also try to say goodbye, calling "sayGoodbye" to
himself (emulating the local call) through a CORBA reference of him self.

Running this demo we can see that the client reaches de server, the server
prints the Hello message, but an exception occurs while checking if the CORBA
reference to him self does exists.

Here is the output from the server side:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/Users/hroenick/Development/jacorb/3.4/lib/slf4j-jdk14-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/Users/hroenick/.m2/repository/org/slf4j/slf4j-jdk14/1.6.4/slf4j-jdk14-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See <a href="http://www.slf4j.org/codes.html#multiple_bindings">http://www.slf4j.org/codes.html#multiple_bindings</a> for an
explanation.
INFO Initialising ORB with ID: 
INFO InterceptorManager started with 1 Server Interceptors, 1 Client
Interceptors and 0 IOR Interceptors
INFO oid: 00 01 0F 2D 0B 1F 04 02 0F 2C 1E 28 10 06 30 46 38 14 14 1B
...-.....,.(..0F8...48 4C 1B                                                   
HL.object is activated
INFO Using server ID (5631190032) for transient POA
INFO ORB run
INFO Opened new server-side TCP/IP transport to 192.168.0.103:56885
INFO Closed server-side transport to 192.168.0.103:56885
INFO Opened new server-side TCP/IP transport to 192.168.0.103:56886
INFO Closed server-side transport to 192.168.0.103:56886
INFO Opened new server-side TCP/IP transport to 192.168.0.103:56887
INFO Closed server-side transport to 192.168.0.103:56887
INFO Opened new server-side TCP/IP transport to 192.168.0.103:56888
Hello, World!
INFO ClientConnectionManager: created new ClientGIOPConnection to
192.168.0.103:56882 (39b8d6f7)
SEVERE rid: 0 opname: sayHello invocation: throwable was thrown.
java.lang.NullPointerException
    at org.jacorb.orb.Delegate.servant_postinvoke(Delegate.java:2561)
    at org.jacorb.orb.Delegate.non_existent(Delegate.java:2205)
    at org.omg.CORBA.portable.ObjectImpl._non_existent(ObjectImpl.java:61)
    at demo.HelloImpl.sayHello(HelloImpl.java:15)
    at demo.HelloPOA._invoke(HelloPOA.java:54)
    at
org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:350)
    at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:672)
    at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:830)
INFO Closed server-side transport to 192.168.0.103:56888

Is this a bug of JacORB when dealing with local calls?</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>