Skip to content

Sent messages are not always received #40

@voidstarstar

Description

@voidstarstar

I have a setup where many (50-1000) messages are sent from one Quasar actor to another.

I receive the following error on the recipient end:

68325 [WARN] UDPComm: Exception caught in channel [id: 0x5c10b3ac, 0.0.0.0/0.0.0.0:7052]:  java.lang.RuntimeException java.io.EOFException
java.lang.RuntimeException: java.io.EOFException
    at co.paralleluniverse.common.io.Persistables$1.read(Persistables.java:53) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.core.Message.read(Message.java:553) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.core.Message.fromByteBuffer(Message.java:207) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.netty.MessagePacket.fromByteBuffer(MessagePacket.java:181) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.netty.MessagePacketCodec.decode(MessagePacketCodec.java:54) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.netty.OneToOneCodec.handleUpstream(OneToOneCodec.java:59) ~[galaxy-1.4.jar:1.4]
    at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43) [netty-3.9.2.Final.jar:?]
    at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67) [netty-3.9.2.Final.jar:?]
    at org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:314) [netty-3.9.2.Final.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45-internal]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45-internal]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45-internal]
Caused by: java.io.EOFException
    at co.paralleluniverse.common.io.ByteBufferInputStream.readFully(ByteBufferInputStream.java:94) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.core.Message$MSG.readNoHeader(Message.java:1404) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.core.Message$LineMessage.read1(Message.java:665) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.galaxy.core.Message$1.read(Message.java:471) ~[galaxy-1.4.jar:1.4]
    at co.paralleluniverse.common.io.Persistables$1.read(Persistables.java:51) ~[galaxy-1.4.jar:1.4]
    ... 11 more

If I send many messages using the ping pong example, I receive a similar error:

11:37:30.624 �[33m[udpCommReceiveExecutor-3]                  netty.UDPComm [WARN ]�[m {} Exception caught in channel [id: 0x26fa984c, 0.0.0.0/0.0.0.0:7052]:  java.lang.RuntimeException java.io.EOFException java.lang.RuntimeException: java.io.EOFException
    at co.paralleluniverse.common.io.Persistables$1.read(Persistables.java:53)
    at co.paralleluniverse.galaxy.core.Message.read(Message.java:553)
    at co.paralleluniverse.galaxy.core.Message.fromByteBuffer(Message.java:207)
    at co.paralleluniverse.galaxy.netty.MessagePacket.fromByteBuffer(MessagePacket.java:181)
11:37:30.624 �[36m[udpCommReceiveExecutor-3]                  netty.UDPComm [DEBUG]�[m {} Exception caught in channel java.lang.RuntimeException: java.io.EOFException
    at co.paralleluniverse.common.io.Persistables$1.read(Persistables.java:53)
    at co.paralleluniverse.galaxy.core.Message.read(Message.java:553)
    at co.paralleluniverse.galaxy.core.Message.fromByteBuffer(Message.java:207)
    at co.paralleluniverse.galaxy.netty.MessagePacket.fromByteBuffer(MessagePacket.java:181)
11:37:30.625 �[32m[udpCommReceiveExecutor-3]                  netty.UDPComm [INFO ]�[m {} Channel exception: java.lang.RuntimeException java.io.EOFException 
11:37:30.625 �[36m[udpCommReceiveExecutor-3]                  netty.UDPComm [DEBUG]�[m {} Channel exception java.lang.RuntimeException: java.io.EOFException
    at co.paralleluniverse.common.io.Persistables$1.read(Persistables.java:53)
    at co.paralleluniverse.galaxy.core.Message.read(Message.java:553)
    at co.paralleluniverse.galaxy.core.Message.fromByteBuffer(Message.java:207)
    at co.paralleluniverse.galaxy.netty.MessagePacket.fromByteBuffer(MessagePacket.java:181)

There are also many other logging messages, but I do not know if they are related.

I can try to come up with a short example if necessary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions