After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 341423 - Orca and Java Notepad application don't work well together.
Orca and Java Notepad application don't work well together.
Status: RESOLVED NOTABUG
Product: orca
Classification: Applications
Component: general
0.2.x
Other Solaris
: Normal normal
: ---
Assigned To: Orca Maintainers
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-05-11 15:09 UTC by Rich Burridge
Modified: 2006-05-19 13:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Rich Burridge 2006-05-11 15:09:06 UTC
As reported by Vladyslav on the Orca mailing list.

When trying to use the /usr/java/demo/jfc/Notepad application with Orca,
there are Java exceptions thrown. 

Start Orca    (I was using the latest one in CVS HEAD)
Start Notepad with:

  % cd /usr/java/demo/jfc/Notepad
  % java -jar Notepad.jar

Tab until the focus is in the notepad text area.
Try to write:

  This is a test.

For me, the following was output in the terminal window where I
started the application.

% java -jar Notepad.jar
Java Accessibility Bridge for GNOME loaded.

Registering Application.
IOR:000000000000002249444c3a4163636573736962696c6974792f4170706c69636174696f6e3a312e30000000000000010000000000000082000102000000000a3132372e302e302e3100f40200000031afabcb000000002023f49a5700000001000000000000000100000008526f6f74504f410000000008000000010000000014000000000000020000000100000020000000000001000100000002050100010001002000010109000000010001010000000026000000020002
Java Application:0
Just registered Application
May 11, 2006 7:59:32 AM com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl convertThrowableToSystemException
WARNING: "IOP00010202: (UNKNOWN) Unknown user exception thrown by the server"
org.omg.CORBA.UNKNOWN:   vmcid: SUN  minor code: 202 completed: Maybe
        at com.sun.corba.se.impl.logging.ORBUtilSystemException.runtimeexception(ORBUtilSystemException.java:8365)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.convertThrowableToSystemException(CorbaMessageMediatorImpl.java:1918)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1868)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1821)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1548)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
        at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
        at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
        at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1187)
        at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:417)
Caused by: java.lang.RuntimeException: handleThrowableDuringServerDispatch: cannot create response.
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1845)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1880)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1821)
        at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:258)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1680)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
        ... 6 more
Caused by: org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 203  completed: No
        at com.sun.corba.se.impl.logging.ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:2231)
        at com.sun.corba.se.impl.logging.ORBUtilSystemException.writeErrorSend(ORBUtilSystemException.java:2253)
        at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.writeLock(SocketOrChannelConnectionImpl.java:933)
        at com.sun.corba.se.impl.encoding.BufferManagerWriteStream.sendFragment(BufferManagerWriteStream.java:78)
        at com.sun.corba.se.impl.encoding.BufferManagerWriteStream.overflow(BufferManagerWriteStream.java:51)
        at com.sun.corba.se.impl.encoding.CDROutputStream_1_2.grow(CDROutputStream_1_2.java:211)
        at com.sun.corba.se.impl.encoding.CDROutputStream_1_2.alignAndReserve(CDROutputStream_1_2.java:182)
        at com.sun.corba.se.impl.encoding.CDROutputStream_1_0.internalWriteOctetArray(CDROutputStream_1_0.java:547)
        at com.sun.corba.se.impl.encoding.CDROutputStream_1_0.write_octet_array(CDROutputStream_1_0.java:567)
        at com.sun.corba.se.impl.encoding.CDROutputStream.write_octet_array(CDROutputStream.java:169)
        at com.sun.corba.se.spi.servicecontext.UnknownServiceContext.write(UnknownServiceContext.java:43)
        at com.sun.corba.se.spi.servicecontext.ServiceContexts.writeMapEntry(ServiceContexts.java:322)
        at com.sun.corba.se.spi.servicecontext.ServiceContexts.writeServiceContextsInOrder(ServiceContexts.java:283)
        at com.sun.corba.se.spi.servicecontext.ServiceContexts.write(ServiceContexts.java:247)
        at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.write(ReplyMessage_1_2.java:175)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.createResponseHelper(CorbaMessageMediatorImpl.java:2199)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.createResponseHelper(CorbaMessageMediatorImpl.java:2162)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.createSystemExceptionResponse(CorbaMessageMediatorImpl.java:2087)
        at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1871)
        ... 19 more

%

The text area does not contain the text that was typed.

If I try the same experiment without Orca running, no exceptions are 
thrown and the text is written into the text area correctly.
Comment 1 Willie Walker 2006-05-12 05:21:27 UTC
Something is going awry in the Orca<->CORBA<->Java communication path.  I'm not sure what is happening here, but we seem to be getting glitches in the communication layer.  I believe that's related to the stack traces you are seeing.

In addition, Java keycodes are different (see http://bugzilla.gnome.org/show_bug.cgi?id=319639).  I think this is what might be causing the problem with text not appearing (or at least related to the problem).  In my experiments, the Java keycodes emitted by the Java bridge when you are typing plain old text seem to overlap with the keycodes for the keypad.  Thus, Orca happily swallows the keys and enters into flat review mode.
Comment 2 Willie Walker 2006-05-19 13:41:54 UTC
Lynn Monsanto recently did some investigation into this.  It turns out this is a regression in JDK 1.5 and the problem do not exist in JDK 1.4.  Here's info from Lynn:

MARSHAL/202. vmcid: SUN minor code: 202 means that the code is 
attempting to marshal an object that derives from org.omg.CORBA.Object, 
but that particular instance has never been connected to an ORB. When 
using the POA, you need to register the object with the POA first. If 
you need more information on how to register an object with the POA, 
refer to the  POA document or the  tutorial.

The failures have been reported:

http://forum.java.sun.com/thread.jspa?threadID=625286&tstart=150