GNOME Bugzilla – Bug 341423
Orca and Java Notepad application don't work well together.
Last modified: 2006-05-19 13:41:54 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.
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.
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