Skip to content

Sent messages are not always received #40

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions