You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@plc4x.apache.org by "Niclas Hedhman (Jira)" <ji...@apache.org> on 2020/06/25 04:10:00 UTC
[jira] [Created] (PLC4X-205) Incorrect shutdown sequence on error
Niclas Hedhman created PLC4X-205:
------------------------------------
Summary: Incorrect shutdown sequence on error
Key: PLC4X-205
URL: https://issues.apache.org/jira/browse/PLC4X-205
Project: Apache PLC4X
Issue Type: Bug
Components: Core
Reporter: Niclas Hedhman
In the testcase below, there is a permission problem and I think because of that the closing of channel and buffers are out of order/state.
[code]
11:59:51.855 [pool-1-thread-1] WARN i.n.c.AbstractChannelHandlerContext - Failed to mark a promise as failure because it has succeeded already: DefaultChannelPromise@63ab80ee(success)
java.lang.IllegalStateException: close() must be invoked after the channel is closed.
at io.netty.channel.ChannelOutboundBuffer.close(ChannelOutboundBuffer.java:683)
at io.netty.channel.ChannelOutboundBuffer.close(ChannelOutboundBuffer.java:711)
at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:741)
at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:607)
at io.netty.channel.DefaultChannelPipeline$HeadContext.close(DefaultChannelPipeline.java:1352)
at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:622)
at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:606)
at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:472)
at io.netty.channel.DefaultChannelPipeline.close(DefaultChannelPipeline.java:957)
at io.netty.channel.AbstractChannel.close(AbstractChannel.java:232)
at io.netty.channel.ChannelFutureListener$2.operationComplete(ChannelFutureListener.java:56)
at io.netty.channel.ChannelFutureListener$2.operationComplete(ChannelFutureListener.java:52)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:183)
at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95)
at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:248)
at io.netty.channel.ThreadPerChannelEventLoop.run(ThreadPerChannelEventLoop.java:69)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.lang.Thread.run(Thread.java:748)
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.26 s <<< FAILURE! - in org.apache.plc4x.java.utils.rawsockets.netty.RawSocketChannelTest
[ERROR] doConnect Time elapsed: 2.478 s <<< ERROR!
org.pcap4j.core.PcapNativeException: lo: You don't have permission to capture on that device (socket: Operation not permitted)
[code]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)