[CONTROLLER-454] OSGi Error after starting the controller : ERROR io.netty.util.ResourceLeakDetector Created: 07/May/14  Updated: 04/May/15  Resolved: 04/May/15

Status: Resolved
Project: controller
Component/s: adsal
Affects Version/s: Helium
Fix Version/s: None

Type: Bug
Reporter: Madhusudhan Ananderi Assignee: Maros Marsalek
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Windows
Platform: PC


Issue Links:
Duplicate
duplicates CONTROLLER-478 Buffer leaks while running controller... Verified
External issue ID: 961

 Description   

Hi,

After downloading the latest controller from integration repo, I am getting this error in OSGi logs after starting the controller using ./run.sh -of13 -Xmx1G

Link to latest controller:
https://jenkins.opendaylight.org/integration/job/integration-project-centralized-integration/lastSuccessfulBuild/artifact/distributions/base/target/distributions-base-0.1.2-SNAPSHOT-osgipackage.zip

2014-05-06 17:10:20.842 PDT [nioEventLoopGroup-3-2] ERROR io.netty.util.ResourceLeakDetector - LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak reporting to find out where the leak occurred. To enable advanced leak reporting, specify the JVM option '-Dio.netty.leakDetectionLevel=advanced' or call ResourceLeakDetector.setLevel()

This can be seen at Jenkins as well.

https://jenkins.opendaylight.org/integration/view/Deploy%20Jobs/job/integration-deploy-controller-latest-base-edition/ws/opendaylight/runlog.txt

Thanks,
Madhusudhan



 Comments   
Comment by Flavio Fernandes [ 05/Jun/14 ]

I've hit this issue using the following controller:

$ more version.properties
org.opendaylight.controller.version = 0.1
org.opendaylight.controller.build.scm.version = 03eb0149e2d6e045e40d7cdf338ee060bc39f070
org.opendaylight.controller.build.user = jenkins-controller
org.opendaylight.controller.build.workspace = **********
org.opendaylight.controller.build.timestamp = 1401978242610
org.opendaylight.controller.build.machine = **********

$ ./run.sh -Xmx2048m -XX:MaxPermSize=512m -virt ovsdb -Dio.netty.leakDetectionLevel=advanced

osgi> 2014-06-05 15:24:44.577 EDT [ControllerI/O Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:172.16.150.141:38400 is connected to the Controller
2014-06-05 15:24:44.964 EDT [ControllerI/O Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:172.16.150.141:38401 is connected to the Controller
2014-06-05 15:25:02.233 EDT [nioEventLoopGroup-4-1] ERROR io.netty.util.ResourceLeakDetector - LEAK: ByteBuf.release() was not called before it's garbage-collected.
Recent access records: 4
#4:
io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:235)
org.opendaylight.controller.netconf.nettyutil.handler.ssh.client.SshClientAdapter.writeImpl(SshClientAdapter.java:109)
org.opendaylight.controller.netconf.nettyutil.handler.ssh.client.SshClientAdapter.write(SshClientAdapter.java:104)
org.opendaylight.controller.netconf.nettyutil.handler.ssh.SshHandler.write(SshHandler.java:58)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:659)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:117)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:659)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:117)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:30)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.write(DefaultChannelHandlerContext.java:945)
io.netty.channel.DefaultChannelHandlerContext$WriteAndFlushTask.write(DefaultChannelHandlerContext.java:999)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.run(DefaultChannelHandlerContext.java:934)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
java.lang.Thread.run(Thread.java:744)
#3:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeBytes(AdvancedLeakAwareByteBuf.java:565)
org.opendaylight.controller.netconf.nettyutil.handler.ChunkedFramingMechanismEncoder.encode(ChunkedFramingMechanismEncoder.java:52)
org.opendaylight.controller.netconf.nettyutil.handler.ChunkedFramingMechanismEncoder.encode(ChunkedFramingMechanismEncoder.java:21)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:111)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:659)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:117)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:30)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.write(DefaultChannelHandlerContext.java:945)
io.netty.channel.DefaultChannelHandlerContext$WriteAndFlushTask.write(DefaultChannelHandlerContext.java:999)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.run(DefaultChannelHandlerContext.java:934)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
java.lang.Thread.run(Thread.java:744)
#2:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeBytes(AdvancedLeakAwareByteBuf.java:547)
org.opendaylight.controller.netconf.nettyutil.handler.ChunkedFramingMechanismEncoder.encode(ChunkedFramingMechanismEncoder.java:51)
org.opendaylight.controller.netconf.nettyutil.handler.ChunkedFramingMechanismEncoder.encode(ChunkedFramingMechanismEncoder.java:21)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:111)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:659)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:117)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:30)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.write(DefaultChannelHandlerContext.java:945)
io.netty.channel.DefaultChannelHandlerContext$WriteAndFlushTask.write(DefaultChannelHandlerContext.java:999)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.run(DefaultChannelHandlerContext.java:934)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
java.lang.Thread.run(Thread.java:744)
#1:
io.netty.buffer.AdvancedLeakAwareByteBuf.writeBytes(AdvancedLeakAwareByteBuf.java:547)
org.opendaylight.controller.netconf.nettyutil.handler.ChunkedFramingMechanismEncoder.encode(ChunkedFramingMechanismEncoder.java:50)
org.opendaylight.controller.netconf.nettyutil.handler.ChunkedFramingMechanismEncoder.encode(ChunkedFramingMechanismEncoder.java:21)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:111)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:659)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:117)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:30)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.write(DefaultChannelHandlerContext.java:945)
io.netty.channel.DefaultChannelHandlerContext$WriteAndFlushTask.write(DefaultChannelHandlerContext.java:999)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.run(DefaultChannelHandlerContext.java:934)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
java.lang.Thread.run(Thread.java:744)
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:99)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:106)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:724)
io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:659)
io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:117)
io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:666)
io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:30)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.write(DefaultChannelHandlerContext.java:945)
io.netty.channel.DefaultChannelHandlerContext$WriteAndFlushTask.write(DefaultChannelHandlerContext.java:999)
io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.run(DefaultChannelHandlerContext.java:934)
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:370)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
java.lang.Thread.run(Thread.java:744)
2014-06-05 15:25:44.590 EDT [ControllerI/O Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:172.16.150.142:60620 is connected to the Controller
2014-06-05 15:26:06.150 EDT [ControllerI/O Thread] INFO o.o.c.p.o.core.internal.Controller - Switch:172.16.150.143:54017 is connected to the Controller

osgi>

Comment by Maros Marsalek [ 23/Jun/14 ]

Please review https://git.opendaylight.org/gerrit/#/c/8179/

Just one release added. Other buffers should be released correctly.

Comment by Carol Sanders [ 04/May/15 ]

This bug is part of the project to Move all ADSAL associated component bugs to ADSAL

Generated at Wed Feb 07 19:53:03 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.