[
https://issues.jboss.org/browse/ISPN-5523?page=com.atlassian.jira.plugin....
]
Vojtech Juranek commented on ISPN-5523:
---------------------------------------
Netty leak suspect from recent ISPN with Netty 4.0.28 ([full
log|https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/jdg-perf-cs-near...]):
{noformat}
[0m[31m13:28:23,169 SEVERE [io.netty.util.ResourceLeakDetector] (HotRodServerWorker-9-12)
LEAK: ByteBuf.release() was not called before it's garbage-collected. See
http://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records: 5
#5:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeBytes(AdvancedLeakAwareByteBuf.java:565)
org.infinispan.server.core.transport.ExtendedByteBuf$.writeRangedBytes(ExtendedByteBuf.scala:44)
org.infinispan.server.hotrod.Encoder2x$.writeEvent(Encoder2x.scala:49)
org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:55)
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:32)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:908)
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:960)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:893)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
java.lang.Thread.run(Thread.java:745)
#4:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeByte(AdvancedLeakAwareByteBuf.java:499)
org.infinispan.server.core.transport.VInt$.write(VInt.scala:17)
org.infinispan.server.core.transport.ExtendedByteBuf$.writeUnsignedInt(ExtendedByteBuf.scala:38)
org.infinispan.server.core.transport.ExtendedByteBuf$.writeRangedBytes(ExtendedByteBuf.scala:42)
org.infinispan.server.hotrod.Encoder2x$.writeEvent(Encoder2x.scala:49)
org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:55)
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:32)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:908)
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:960)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:893)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
java.lang.Thread.run(Thread.java:745)
#3:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeByte(AdvancedLeakAwareByteBuf.java:499)
org.infinispan.server.core.transport.VInt$.write(VInt.scala:19)
org.infinispan.server.core.transport.ExtendedByteBuf$.writeUnsignedInt(ExtendedByteBuf.scala:38)
org.infinispan.server.core.transport.ExtendedByteBuf$.writeRangedBytes(ExtendedByteBuf.scala:42)
org.infinispan.server.hotrod.Encoder2x$.writeEvent(Encoder2x.scala:49)
org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:55)
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:32)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:908)
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:960)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:893)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
java.lang.Thread.run(Thread.java:745)
#2:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeByte(AdvancedLeakAwareByteBuf.java:499)
org.infinispan.server.hotrod.Encoder2x$.writeEvent(Encoder2x.scala:48)
org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:55)
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:32)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:908)
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:960)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:893)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
java.lang.Thread.run(Thread.java:745)
#1:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeByte(AdvancedLeakAwareByteBuf.java:499)
org.infinispan.server.hotrod.Encoder2x$.writeEvent(Encoder2x.scala:47)
org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:55)
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:32)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:908)
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:960)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:893)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
java.lang.Thread.run(Thread.java:745)
Created at:
io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:259)
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:30)
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:32)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:908)
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:960)
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:893)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
java.lang.Thread.run(Thread.java:745)
{noformat}
Allocated buffer in key and value converter should be released
--------------------------------------------------------------
Key: ISPN-5523
URL:
https://issues.jboss.org/browse/ISPN-5523
Project: Infinispan
Issue Type: Feature Request
Components: Remote Protocols
Affects Versions: 7.2.2.Final, 8.0.0.Alpha1
Reporter: Galder ZamarreƱo
Assignee: Galder ZamarreƱo
Fix For: 8.0.0.Alpha2, 7.2.3.Final, 8.0.0.Final
Some near caching tests are throwing:
{code}
[0m[31m04:11:24,499 ERROR [org.infinispan.server.hotrod.CacheDecodeContext]
(HotRodServerWorker-43) ISPN005009: Unexpected error before any request parameters read:
java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:658) [rt.jar:1.7.0_75]
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) [rt.jar:1.7.0_75]
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306) [rt.jar:1.7.0_75]
at io.netty.buffer.PoolArena$DirectArena.newChunk(PoolArena.java:433)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.buffer.PoolArena.allocateNormal(PoolArena.java:179)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.buffer.PoolArena.allocate(PoolArena.java:168)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.buffer.PoolArena.allocate(PoolArena.java:98)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at
io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:241)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at
io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at
io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:146)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:107)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:106)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:494)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:461)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
[netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]
{code}
KeyValueVersionConverter allocates a byte buffer but does not release it. It could be the
cause...
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)