Bug 1276043

Summary: netty resource leak
Product: [JBoss] JBoss Data Grid 6 Reporter: Shay Matasaro <smatasar>
Component: InfinispanAssignee: Tristan Tarrant <ttarrant>
Status: CLOSED DUPLICATE QA Contact: Martin Gencur <mgencur>
Severity: high Docs Contact:
Priority: urgent    
Version: 6.4.1CC: jdg-bugs, wfink
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-28 13:48:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Shay Matasaro 2015-10-28 13:42:18 UTC
following error msg in the logs when using HR:

 SEVERE [io.netty.util.ResourceLeakDetector] (HotRodServerWorker-10) LEAK: ByteBuf.release() was not called before it's garbage-collected.

after turning on netty leak detection (leakDetectionLevel)  the following stack is displayed:

17:37:05,411 SEVERE [io.netty.util.ResourceLeakDetector] (HotRodServerWorker-10) LEAK: ByteBuf.release() was not called before it's garbage-collected.
Recent access records: 0
Created at:
	io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:250)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:141)
	io.netty.buffer.AbstractByteBufAllocator.buffer(AbstractByteBufAllocator.java:75)
	org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:29)
	io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
	io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
	io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)
	io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:714)
	io.netty.channel.DefaultChannelHandlerContext.writeAndFlush(DefaultChannelHandlerContext.java:749)
	io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:893)
	io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:241)
	org.infinispan.server.core.AbstractProtocolDecoder.writeResponse(AbstractProtocolDecoder.scala:220)
	org.infinispan.server.hotrod.HotRodDecoder.customDecodeHeader(HotRodDecoder.scala:153)
	org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeHeader(AbstractProtocolDecoder.scala:137)
	org.infinispan.server.core.AbstractProtocolDecoder$$anon$2.run(AbstractProtocolDecoder.scala:98)
	org.infinispan.server.core.AbstractProtocolDecoder$$anon$2.run(AbstractProtocolDecoder.scala:95)
	org.infinispan.security.Security.doAs(Security.java:143)
	org.infinispan.server.core.AbstractProtocolDecoder.secureDecodeDispatch(AbstractProtocolDecoder.scala:95)
	org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:59)
	io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362)
	io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:141)
	org.infinispan.server.core.AbstractProtocolDecoder.channelRead(AbstractProtocolDecoder.scala:459)
	io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:341)
	io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:327)
	io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:155)
	io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:341)
	io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:327)
	io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
	io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:116)
	io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:494)
	io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:461)
	io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
	io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
	io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
	java.lang.Thread.run(Thread.java:745)

Comment 2 Shay Matasaro 2015-10-28 13:45:48 UTC
http://netty.io/wiki/reference-counted-objects.html

Comment 3 wfink 2015-10-28 13:48:52 UTC

*** This bug has been marked as a duplicate of bug 1228676 ***