[ 
https://issues.apache.org/jira/browse/SUREFIRE-2002?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tibor Digana updated SUREFIRE-2002:
-----------------------------------
    Description: 
The main Thread confirms session by sending byte from the forked JVM back to 
the TCP servider in plugin. Sometimes this is async operation overlaps with 
another operation writing events to the NIO Channel. The exception 
{{WritePendingException}} is handled by the dump file:


{noformat}
# Created at 2022-02-03T05:48:25.661
java.io.IOException
        at 
org.apache.maven.surefire.api.util.internal.Channels$1.write(Channels.java:111)
        at 
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at 
org.apache.maven.surefire.api.util.internal.Channels$4.flushImpl(Channels.java:266)
        at 
org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel.write(AbstractNoninterruptibleWritableChannel.java:76)
        at 
org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel.write(AbstractNoninterruptibleWritableChannel.java:45)
        at 
org.apache.maven.surefire.api.stream.AbstractStreamEncoder.write(AbstractStreamEncoder.java:78)
        at 
org.apache.maven.surefire.booter.spi.EventChannelEncoder.write(EventChannelEncoder.java:334)
        at 
org.apache.maven.surefire.booter.spi.EventChannelEncoder.consoleDebugLog(EventChannelEncoder.java:262)
        at 
org.apache.maven.surefire.api.booter.ForkingRunListener.debug(ForkingRunListener.java:150)
        at 
org.apache.maven.surefire.booter.ForkedBooter.listenToShutdownCommands(ForkedBooter.java:264)
        at 
org.apache.maven.surefire.booter.ForkedBooter.setupBooter(ForkedBooter.java:146)
        at 
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:599)
        at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:586)
Caused by: java.nio.channels.WritePendingException
        at 
sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:353)
        at 
sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:388)
        at 
org.apache.maven.surefire.api.util.internal.Channels$1.write(Channels.java:100)
        ... 13 more


# Created at 2022-02-03T05:48:32.716
The channel (std/out or TCP/IP) failed to send a stream from this subprocess.


{noformat}


  was:
The main Thread confirms session by sending byte from the forked JVM back to 
the TCP servider in plugin. This is async operation and sometimes it overlaps 
with writing events. The exception {{WritePendingException}} which is handled 
by the dump file:


{noformat}
# Created at 2022-02-03T05:48:25.661
java.io.IOException
        at 
org.apache.maven.surefire.api.util.internal.Channels$1.write(Channels.java:111)
        at 
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at 
org.apache.maven.surefire.api.util.internal.Channels$4.flushImpl(Channels.java:266)
        at 
org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel.write(AbstractNoninterruptibleWritableChannel.java:76)
        at 
org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel.write(AbstractNoninterruptibleWritableChannel.java:45)
        at 
org.apache.maven.surefire.api.stream.AbstractStreamEncoder.write(AbstractStreamEncoder.java:78)
        at 
org.apache.maven.surefire.booter.spi.EventChannelEncoder.write(EventChannelEncoder.java:334)
        at 
org.apache.maven.surefire.booter.spi.EventChannelEncoder.consoleDebugLog(EventChannelEncoder.java:262)
        at 
org.apache.maven.surefire.api.booter.ForkingRunListener.debug(ForkingRunListener.java:150)
        at 
org.apache.maven.surefire.booter.ForkedBooter.listenToShutdownCommands(ForkedBooter.java:264)
        at 
org.apache.maven.surefire.booter.ForkedBooter.setupBooter(ForkedBooter.java:146)
        at 
org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:599)
        at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:586)
Caused by: java.nio.channels.WritePendingException
        at 
sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:353)
        at 
sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:388)
        at 
org.apache.maven.surefire.api.util.internal.Channels$1.write(Channels.java:100)
        ... 13 more


# Created at 2022-02-03T05:48:32.716
The channel (std/out or TCP/IP) failed to send a stream from this subprocess.


{noformat}



> TCP client throws WritePendingException
> ---------------------------------------
>
>                 Key: SUREFIRE-2002
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-2002
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Failsafe Plugin, Maven Surefire Plugin
>            Reporter: Tibor Digana
>            Assignee: Tibor Digana
>            Priority: Major
>             Fix For: 3.0.0-M6
>
>
> The main Thread confirms session by sending byte from the forked JVM back to 
> the TCP servider in plugin. Sometimes this is async operation overlaps with 
> another operation writing events to the NIO Channel. The exception 
> {{WritePendingException}} is handled by the dump file:
> {noformat}
> # Created at 2022-02-03T05:48:25.661
> java.io.IOException
>       at 
> org.apache.maven.surefire.api.util.internal.Channels$1.write(Channels.java:111)
>       at 
> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
>       at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
>       at 
> org.apache.maven.surefire.api.util.internal.Channels$4.flushImpl(Channels.java:266)
>       at 
> org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel.write(AbstractNoninterruptibleWritableChannel.java:76)
>       at 
> org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleWritableChannel.write(AbstractNoninterruptibleWritableChannel.java:45)
>       at 
> org.apache.maven.surefire.api.stream.AbstractStreamEncoder.write(AbstractStreamEncoder.java:78)
>       at 
> org.apache.maven.surefire.booter.spi.EventChannelEncoder.write(EventChannelEncoder.java:334)
>       at 
> org.apache.maven.surefire.booter.spi.EventChannelEncoder.consoleDebugLog(EventChannelEncoder.java:262)
>       at 
> org.apache.maven.surefire.api.booter.ForkingRunListener.debug(ForkingRunListener.java:150)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.listenToShutdownCommands(ForkedBooter.java:264)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.setupBooter(ForkedBooter.java:146)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:599)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:586)
> Caused by: java.nio.channels.WritePendingException
>       at 
> sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:353)
>       at 
> sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:388)
>       at 
> org.apache.maven.surefire.api.util.internal.Channels$1.write(Channels.java:100)
>       ... 13 more
> # Created at 2022-02-03T05:48:32.716
> The channel (std/out or TCP/IP) failed to send a stream from this subprocess.
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to