Re: outrigger "I/O error reading from mux connection"

Gregg Wonderly <[email protected]>
Newsgroups gmane.comp.java.sun.javaspaces
Message-ID <[email protected]>
Dan, could this not be a manifestation of the "lost listener/taker" issue?
I.e. this is outrigger attempting to send back the written entry to a reader,
and it has removed it from the space already?  Adding the use of transactions
is the general solution to this issue, right?

Dan Creswell wrote:
> 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/
>

===========================================================================
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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.