You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Ralf Steppacher (JIRA)" <ji...@apache.org> on 2016/03/24 14:33:25 UTC

[jira] [Comment Edited] (CAMEL-9040) netty4-http - LEAK: ByteBuf.release() was not called before it's garbage-collected

    [ https://issues.apache.org/jira/browse/CAMEL-9040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15210218#comment-15210218 ] 

Ralf Steppacher edited comment on CAMEL-9040 at 3/24/16 1:32 PM:
-----------------------------------------------------------------

Sorry for the long wait!

I tried with 2.16.2 and the problem persists. Though it appears it only shows under load now. When making single requests there are no errors. But when running my stress tests is start to get intermittent errors as before (with -Dio.netty.leakDetectionLevel=paranoid):

{noformat}
2016-03-24 14:28:08,486 | ERROR | qtp99151234-420  | ResourceLeakDetector             | 63 - io.netty.common - 4.0.33.Final | ID-Ralfs-MacBook-Pro-local-57997-1458825709312-5-15981  | 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.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.MergedReader.read(MergedReader.java:105)
	com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:86)
	com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:56)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1001)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1046)
	com.ctc.wstx.sr.StreamScanner.getNextChar(StreamScanner.java:793)
	com.ctc.wstx.sr.BasicStreamReader.parseAttrValue(BasicStreamReader.java:1894)
	com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:3065)
	com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2963)
	com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2839)
	com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:61)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#4:
	io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.MergedReader.read(MergedReader.java:105)
	com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:86)
	com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:56)
	com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1060)
	com.ctc.wstx.sr.StreamScanner.parseLocalName2(StreamScanner.java:1870)
	com.ctc.wstx.sr.StreamScanner.parseLocalName(StreamScanner.java:1830)
	com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2941)
	com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2839)
	com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:61)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#3:
	io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.MergedReader.read(MergedReader.java:105)
	com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:86)
	com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:56)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1001)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1046)
	com.ctc.wstx.sr.StreamScanner.getNextChar(StreamScanner.java:793)
	com.ctc.wstx.sr.BasicStreamReader.parseAttrValue(BasicStreamReader.java:1894)
	com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:3065)
	com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2963)
	com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2839)
	com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:61)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#2:
	io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)
	com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)
	com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:545)
	com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:605)
	com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:628)
	com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:331)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:36)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#1:
	io.netty.buffer.AdvancedLeakAwareByteBuf.release(AdvancedLeakAwareByteBuf.java:61)
	io.netty.handler.codec.http.DefaultHttpContent.release(DefaultHttpContent.java:72)
	io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:59)
	io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
	io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
	io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)
	io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263)
	io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
	io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
	io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
	io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
	io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
	io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
	io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
	io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
	io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
	java.lang.Thread.run(Thread.java:745)
Created at:
	io.netty.buffer.UnpooledByteBufAllocator.newDirectBuffer(UnpooledByteBufAllocator.java:56)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:146)
	io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:107)
	io.netty.channel.AdaptiveRecvByteBufAllocator$HandleImpl.allocate(AdaptiveRecvByteBufAllocator.java:104)
	io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
	io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
	io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
	io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
	io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
	io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
	java.lang.Thread.run(Thread.java:745)
{noformat}


was (Author: ralfsteppacher):
I tried with 2.16.2 and the problem persists. Though it appears it only shows under load now. When making single requests there are no errors. But when running my stress tests is start to get intermittent errors as before (with -Dio.netty.leakDetectionLevel=paranoid):

{noformat}
2016-03-24 14:28:08,486 | ERROR | qtp99151234-420  | ResourceLeakDetector             | 63 - io.netty.common - 4.0.33.Final | ID-Ralfs-MacBook-Pro-local-57997-1458825709312-5-15981  | 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.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.MergedReader.read(MergedReader.java:105)
	com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:86)
	com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:56)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1001)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1046)
	com.ctc.wstx.sr.StreamScanner.getNextChar(StreamScanner.java:793)
	com.ctc.wstx.sr.BasicStreamReader.parseAttrValue(BasicStreamReader.java:1894)
	com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:3065)
	com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2963)
	com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2839)
	com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:61)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#4:
	io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.MergedReader.read(MergedReader.java:105)
	com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:86)
	com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:56)
	com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1060)
	com.ctc.wstx.sr.StreamScanner.parseLocalName2(StreamScanner.java:1870)
	com.ctc.wstx.sr.StreamScanner.parseLocalName(StreamScanner.java:1830)
	com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2941)
	com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2839)
	com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:61)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#3:
	io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.MergedReader.read(MergedReader.java:105)
	com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:86)
	com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:56)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1001)
	com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1046)
	com.ctc.wstx.sr.StreamScanner.getNextChar(StreamScanner.java:793)
	com.ctc.wstx.sr.BasicStreamReader.parseAttrValue(BasicStreamReader.java:1894)
	com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:3065)
	com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2963)
	com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2839)
	com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:61)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#2:
	io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:245)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:687)
	io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:42)
	io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:694)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1496)
	io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:42)
	io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
	java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
	com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
	com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
	com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)
	com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)
	com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:545)
	com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:605)
	com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:628)
	com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:331)
	ch.vivates.pep.stream.ResponseStatusFilter.handleSimpleMessage(ResponseStatusFilter.java:36)
	ch.vivates.pep.stream.BaseStreamFilter.filter(BaseStreamFilter.java:168)
	ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:184)
	java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	java.util.concurrent.FutureTask.run(FutureTask.java:266)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	java.lang.Thread.run(Thread.java:745)
#1:
	io.netty.buffer.AdvancedLeakAwareByteBuf.release(AdvancedLeakAwareByteBuf.java:61)
	io.netty.handler.codec.http.DefaultHttpContent.release(DefaultHttpContent.java:72)
	io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:59)
	io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
	io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
	io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)
	io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263)
	io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)
	io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)
	io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
	io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
	io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
	io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
	io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
	io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
	io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
	java.lang.Thread.run(Thread.java:745)
Created at:
	io.netty.buffer.UnpooledByteBufAllocator.newDirectBuffer(UnpooledByteBufAllocator.java:56)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:146)
	io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:107)
	io.netty.channel.AdaptiveRecvByteBufAllocator$HandleImpl.allocate(AdaptiveRecvByteBufAllocator.java:104)
	io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
	io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
	io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
	io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
	io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
	io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
	java.lang.Thread.run(Thread.java:745)
{noformat}

> netty4-http - LEAK: ByteBuf.release() was not called before it's garbage-collected
> ----------------------------------------------------------------------------------
>
>                 Key: CAMEL-9040
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9040
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-netty4-http
>    Affects Versions: 2.15.1, 2.15.2
>         Environment: Karaf 3.0.3
>            Reporter: Ralf Steppacher
>            Priority: Critical
>
> In a reverse-proxy with multiple routes that utilize the {{netty4-http}} component both as the consumer and producer I am receiving the following error:
> {noformat}
> 2015-07-30 11:52:34,416 | ERROR | yServerTCPWorker | ResourceLeakDetector             | 97 - io.netty.common - 4.0.27.Final |   | LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
> {noformat}
> Setting the Netty leak reporting to paranoid ({{-Dio.netty.leakDetectionLevel=paranoid}}) yields an error for almost every request (it probably is 1:1). 
> The stacktraces come in two variants. Variant 1 is far less frequent than variant 2.
> Variant 1:
> {noformat}
> Recent access records: 0
> Created at:
> io.netty.buffer.CompositeByteBuf.<init>(CompositeByteBuf.java:60)
> io.netty.buffer.Unpooled.compositeBuffer(Unpooled.java:353)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:153)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:54)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
> io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
> java.lang.Thread.run(Thread.java:745)
> {noformat}
> Variant 2:
> {noformat}
> Recent access records: 5
> #5:
> io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:223)
> io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:684)
> io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:40)
> io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:677)
> io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1493)
> io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:40)
> io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
> java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
> java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
> java.io.BufferedInputStream.read(BufferedInputStream.java:334)
> org.bouncycastle.util.io.TeeInputStream.read(Unknown Source)
> com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
> com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
> com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
> com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)
> com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)
> com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:545)
> com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:605)
> com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:628)
> com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:331)
> ch.vivates.pep.stream.ResponseStatusFilter.filter(ResponseStatusFilter.java:41)
> ch.vivates.pep.stream.BaseStreamFilter.run(BaseStreamFilter.java:141)
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> java.util.concurrent.FutureTask.run(FutureTask.java:262)
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> java.lang.Thread.run(Thread.java:745)
> #4:
> io.netty.buffer.AdvancedLeakAwareByteBuf.release(AdvancedLeakAwareByteBuf.java:45)
> io.netty.handler.codec.http.DefaultHttpContent.release(DefaultHttpContent.java:72)
> io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:59)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
> io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
> java.lang.Thread.run(Thread.java:745)
> #3:
> io.netty.buffer.AdvancedLeakAwareByteBuf.slice(AdvancedLeakAwareByteBuf.java:73)
> io.netty.buffer.CompositeByteBuf.addComponent0(CompositeByteBuf.java:170)
> io.netty.buffer.CompositeByteBuf.addComponent(CompositeByteBuf.java:112)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:191)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:54)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
> io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
> java.lang.Thread.run(Thread.java:745)
> #2:
> io.netty.buffer.AdvancedLeakAwareByteBuf.order(AdvancedLeakAwareByteBuf.java:63)
> io.netty.buffer.CompositeByteBuf.addComponent0(CompositeByteBuf.java:170)
> io.netty.buffer.CompositeByteBuf.addComponent(CompositeByteBuf.java:112)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:191)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:54)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
> io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
> java.lang.Thread.run(Thread.java:745)
> #1:
> io.netty.buffer.AdvancedLeakAwareByteBuf.retain(AdvancedLeakAwareByteBuf.java:709)
> io.netty.handler.codec.http.DefaultHttpContent.retain(DefaultHttpContent.java:60)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:190)
> io.netty.handler.codec.http.HttpObjectAggregator.decode(HttpObjectAggregator.java:54)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
> io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:147)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
> java.lang.Thread.run(Thread.java:745)
> Created at:
> io.netty.buffer.UnpooledByteBufAllocator.newDirectBuffer(UnpooledByteBufAllocator.java:55)
> io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)
> io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:146)
> io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:107)
> io.netty.channel.AdaptiveRecvByteBufAllocator$HandleImpl.allocate(AdaptiveRecvByteBufAllocator.java:104)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
> java.lang.Thread.run(Thread.java:745)
> {noformat}
> Variant 2 creates the buffer in {{UnpooledByteBufAllocator}}. Which might mean that there is no real resource leak in that case. Rather the coding pattern required for objects that might be pooled is not adhered to.
> Nevertheless, running my load tests just long enough yields an OOME Direct buffer memory:
> {noformat}
> org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: [Body is instance of org.apache.camel.StreamCache]]
>         at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1635)[70:org.apache.camel.camel-core:2.15.2]
>         at org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:308)[70:org.apache.camel.camel-core:2.15.2]
>         at org.apache.camel.component.netty4.handlers.ClientChannelHandler.exceptionCaught(ClientChannelHandler.java:81)[143:org.apache.camel.camel-netty4:2.15.2]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:275)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:253)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.ChannelInboundHandlerAdapter.exceptionCaught(ChannelInboundHandlerAdapter.java:131)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:275)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:253)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.ChannelInboundHandlerAdapter.exceptionCaught(ChannelInboundHandlerAdapter.java:131)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.CombinedChannelDuplexHandler.exceptionCaught(CombinedChannelDuplexHandler.java:137)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:275)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:253)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.DefaultChannelPipeline.fireExceptionCaught(DefaultChannelPipeline.java:835)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:87)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:162)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)[137:io.netty.common:4.0.27.Final]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_60]
> Caused by: java.lang.OutOfMemoryError: Direct buffer memory
>         at java.nio.Bits.reserveMemory(Bits.java:658)[:1.7.0_60]
>         at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)[:1.7.0_60]
>         at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306)[:1.7.0_60]
>         at io.netty.buffer.UnpooledUnsafeDirectByteBuf.allocateDirect(UnpooledUnsafeDirectByteBuf.java:108)[139:io.netty.buffer:4.0.27.Final]
>         at io.netty.buffer.UnpooledUnsafeDirectByteBuf.<init>(UnpooledUnsafeDirectByteBuf.java:69)[139:io.netty.buffer:4.0.27.Final]
>         at io.netty.buffer.UnpooledByteBufAllocator.newDirectBuffer(UnpooledByteBufAllocator.java:50)[139:io.netty.buffer:4.0.27.Final]
>         at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)[139:io.netty.buffer:4.0.27.Final]
>         at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:146)[139:io.netty.buffer:4.0.27.Final]
>         at io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:107)[139:io.netty.buffer:4.0.27.Final]
>         at io.netty.channel.AdaptiveRecvByteBufAllocator$HandleImpl.allocate(AdaptiveRecvByteBufAllocator.java:104)[138:io.netty.transport:4.0.27.Final]
>         at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)[138:io.netty.transport:4.0.27.Final]
>         ... 6 more
> {noformat}
> This is one of the routes that trigger the error:
> {code:xml}
> <route id="pep-xds_b-registry">
> 	<from uri="netty4-http:http://{{pep.host}}:{{pep.xds.b.registry.port}}/XDS3/registry?matchOnUriPrefix=true&amp;disableStreamCache=true" />
> 	<process ref="registryInboundProcessor" />
> 	<to uri="netty4-http:http://{{xds.b.registry.host}}:{{xds.b.registry.port}}/XDS3/registry?bridgeEndpoint=true&amp;throwExceptionOnFailure=false&amp;chunkedMaxContentLength={{pep.xds.b.registry.max.message.size}}&amp;disableStreamCache=false" />
> 	<!-- Unfortunately disabling the stream cache only works for requests, but not responses: https://issues.apache.org/jira/browse/CAMEL-7638 -->
> 	<process ref="registryOutboundProcessor" />
> </route>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)