Re: outrigger "I/O error reading from mux connection"
Dan Creswell <[email protected]>
| Newsgroups | gmane.comp.java.sun.javaspaces |
|---|---|
| Message-ID | <[email protected]> |
Hmmm, It appears that the server (TransientOutriggerImpl) sees the following: (1) Client invokes server with write() (2) Server processes request (3) Server attempts to send response to client (4) Server reports EOFException because client has closed it's connection sometime after (1) but before (3). So the problem appears to be in your client - seems like the socket it was using has closed down for some reason. If the client has initiated this, it's not a surprise it sees no exception and if the write were going to throw such an exception the client would have to wait for (3) to complete so's it could receive a response from server side. Presumably, when outrigger is empty, you just started up the JVM - i.e. you're re-starting everything ready for another test? I'd definitely look to enable logging in the JERI layers on the client and see what's happening. I'd also be tempted to try 2.1 beta to narrow the problem space a bit. Hope that helps, Dan. P.S. I have a similar setup here - 10.4.2 with JDK 1.4.2 and JDK 5 and haven't see these sorts of problems on Outrigger or any other service. Can't find anything similar in the bug database either. Lachlan O'Dea wrote: > Hi, > > I've just started with Javaspaces and I've got a very simple hello > world running under outrigger. But I'm finding that sometimes when I > write an entry to the space, I get outrigger logging this: > > Sep 14, 2005 6:39:03 PM OutriggerServerImpl write > FINER: ENTRY > Sep 14, 2005 6:39:03 PM OutriggerServerImpl enterTxn > FINER: ENTRY > Sep 14, 2005 6:39:03 PM com.sun.jini.outrigger.OutriggerServerImpl > addWrittenRep > FINEST: OutriggerServerImpl: addWrittenRep > Sep 14, 2005 6:39:03 PM com.sun.jini.outrigger.OutriggerServerImpl write > FINEST: writing EntryRep[com.ca.jini.space.hello.StdioHelloEntry] > (txn = null) > Sep 14, 2005 6:39:03 PM net.jini.jeri.BasicInvocationDispatcher dispatch > FAILED: com.sun.jini.outrigger.TransientOutriggerImpl@f0761a locally > throws > java.io.IOException: I/O error reading from mux connection: > java.io.EOFException > at com.sun.jini.jeri.internal.mux.Session > $MuxOutputStream.ensureOpen(Session.java:647) > at com.sun.jini.jeri.internal.mux.Session > $MuxOutputStream.write(Session.java:562) > at net.jini.jeri.BasicInvocationDispatcher.dispatch > (BasicInvocationDispatcher.java:635) > at com.sun.jini.jeri.internal.runtime.ObjectTable$6.run > (ObjectTable.java:593) > at net.jini.export.ServerContext.doWithServerContext > (ServerContext.java:103) > at com.sun.jini.jeri.internal.runtime.ObjectTable > $Target.dispatch0(ObjectTable.java:591) > at com.sun.jini.jeri.internal.runtime.ObjectTable > $Target.access$700(ObjectTable.java:212) > at com.sun.jini.jeri.internal.runtime.ObjectTable$5.run > (ObjectTable.java:566) > at com.sun.jini.start.AggregatePolicyProvider$6.run > (AggregatePolicyProvider.java:527) > at java.security.AccessController.doPrivileged(Native Method) > at com.sun.jini.jeri.internal.runtime.ObjectTable > $Target.dispatch(ObjectTable.java:563) > at com.sun.jini.jeri.internal.runtime.ObjectTable > $Target.dispatch(ObjectTable.java:540) > at com.sun.jini.jeri.internal.runtime.ObjectTable$RD.dispatch > (ObjectTable.java:774) > at net.jini.jeri.connection.ServerConnectionManager > $Dispatcher.dispatch(ServerConnectionManager.java:148) > at com.sun.jini.jeri.internal.mux.MuxServer$2.run > (MuxServer.java:237) > at com.sun.jini.start.AggregatePolicyProvider$5.run > (AggregatePolicyProvider.java:513) > at java.security.AccessController.doPrivileged(Native Method) > at com.sun.jini.jeri.internal.mux.MuxServer$1.run > (MuxServer.java:234) > at com.sun.jini.thread.ThreadPool$Worker.run(ThreadPool.java: > 136) > at java.lang.Thread.run(Thread.java:613) > Caused by: java.io.EOFException > at com.sun.jini.jeri.internal.mux.StreamConnectionIO > $Reader.run(StreamConnectionIO.java:244) > ... 2 more > > When this happens, the entry does not appear in the space (there's a > take in progress, but it remains blocked), but no exception is thrown > to the client doing the write. So that's not good. > > This only happens intermittently, most writes do not result in the > above exception in outrigger, and they work perfectly. As far as I > can tell, it only happens when the space is empty, and if I follow it > up immediately by more writes, they all work. > > I'm using version 2.0.2 on Mac OS 10.4.2, Java 5 (I tried running > outrigger under 1.4, but it was the same). No transactions. Any ideas > as to what the problem might be? Some problem with JERI it appears, > but I don't have any clue about how that stuff works. > > -- > Lachlan O'Dea > Computer Associates > Senior Software Engineer > tel: +61 3 8416 5627 > fax: +61 3 8416 5810 > mobile: +61 412 390 650 > [email protected] > > Relax and enjoy your shoes! > > > > =========================================================================== > To unsubscribe, send email to [email protected] and include in the body > of the message "signoff JAVASPACES-USERS". For general help, send email to > [email protected] and include in the body of the message "help". > > To view past JAVASPACES-USERS postings, please see: > http://archives.java.sun.com/archives/javaspaces-users.html > > JDC members can download the JavaSpaces(tm) Technology from: > http://developer.java.sun.com/developer/products/jini/ =========================================================================== To unsubscribe, send email to [email protected] and include in the body of the message "signoff JAVASPACES-USERS". For general help, send email to [email protected] and include in the body of the message "help". To view past JAVASPACES-USERS postings, please see: http://archives.java.sun.com/archives/javaspaces-users.html JDC members can download the JavaSpaces(tm) Technology from: http://developer.java.sun.com/developer/products/jini/