<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32:19 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[OPNFLWPLUG-382] [Lithium redesign] OOM errors, CPU 100% with 128 connected switches</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-382</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;1) Run karaf&lt;br/&gt;
2) Enable the below features&lt;br/&gt;
feature:install odl-openflowplugin-flow-services&lt;br/&gt;
feature:install odl-dlux-all&lt;br/&gt;
feature:install odl-l2switch-all&lt;br/&gt;
feature:install odl-l2switch-switch-ui&lt;br/&gt;
feature:install odl-l2switch-switch-rest&lt;/p&gt;

&lt;p&gt;3) Using mininet connect 300 switches in linear topology&lt;br/&gt;
4) Controller crashed.&lt;br/&gt;
4) Switch connections move to CLOSE_WAIT state.&lt;br/&gt;
5) karaf console showed below exception&lt;br/&gt;
java.io.IOException: Exception in opening zip file: /root/odl/distribution-karaf-0.3.0-SNAPSHOT/data/cache/org.eclipse.osgi/bundles/26/1/bundlefile&lt;br/&gt;
        at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:291)&lt;br/&gt;
        at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.basicOpen(ZipBundleFile.java:87)&lt;br/&gt;
        at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.getZipFile(ZipBundleFile.java:100)&lt;br/&gt;
        at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.checkedOpen(ZipBundleFile.java:73)&lt;br/&gt;
        at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.getEntry(ZipBundleFile.java:245)&lt;br/&gt;
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:542)&lt;br/&gt;
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)&lt;br/&gt;
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)&lt;br/&gt;
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)&lt;br/&gt;
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)&lt;br/&gt;
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)&lt;br/&gt;
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)&lt;br/&gt;
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)&lt;br/&gt;
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)&lt;br/&gt;
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)&lt;br/&gt;
        at jline.internal.Log.warn(Log.java:114)&lt;br/&gt;
        at jline.internal.TerminalLineSettings.getProperty(TerminalLineSettings.java:97)&lt;br/&gt;
        at jline.UnixTerminal.getWidth(UnixTerminal.java:75)&lt;br/&gt;
        at jline.console.ConsoleReader.drawBuffer(ConsoleReader.java:834)&lt;br/&gt;
        at jline.console.ConsoleReader.drawBuffer(ConsoleReader.java:853)&lt;br/&gt;
        at jline.console.ConsoleReader.putString(ConsoleReader.java:793)&lt;br/&gt;
        at jline.console.ConsoleReader.readLine(ConsoleReader.java:2533)&lt;br/&gt;
        at jline.console.ConsoleReader.readLine(ConsoleReader.java:2162)&lt;br/&gt;
        at org.apache.karaf.shell.console.impl.jline.ConsoleImpl.readAndParseCommand(ConsoleImpl.java:280)&lt;br/&gt;
        at org.apache.karaf.shell.console.impl.jline.ConsoleImpl.run(ConsoleImpl.java:207)&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:744)&lt;br/&gt;
        at org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3.doRun(ConsoleFactoryService.java:126)&lt;br/&gt;
        at org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3$1.run(ConsoleFactoryService.java:117)&lt;br/&gt;
        at java.security.AccessController.doPrivileged(Native Method)&lt;br/&gt;
        at org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:47)&lt;br/&gt;
        at org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3.run(ConsoleFactoryService.java:115)&lt;br/&gt;
Caused by: java.io.FileNotFoundException: /root/odl/distribution-karaf-0.3.0-SNAPSHOT/data/cache/org.eclipse.osgi/bundles/26/1/bundlefile (Too many open files)&lt;br/&gt;
        at java.util.zip.ZipFile.open(Native Method)&lt;br/&gt;
        at java.util.zip.ZipFile.&amp;lt;init&amp;gt;(ZipFile.java:215)&lt;br/&gt;
        at java.util.zip.ZipFile.&amp;lt;init&amp;gt;(ZipFile.java:145)&lt;br/&gt;
        at java.util.zip.ZipFile.&amp;lt;init&amp;gt;(ZipFile.java:159)&lt;br/&gt;
        at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:274)&lt;br/&gt;
        ... 30 more&lt;/p&gt;

&lt;p&gt;===============================================================&lt;br/&gt;
Note:&lt;br/&gt;
With Helium SR2 version the same test case passed&lt;br/&gt;
Just connecting 300 switches without any links works fine.&lt;/p&gt;

&lt;p&gt;===============================================================&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: Other&lt;/p&gt;</environment>
        <key id="27650">OPNFLWPLUG-382</key>
            <summary>[Lithium redesign] OOM errors, CPU 100% with 128 connected switches</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="sandeep.gangadharan@hp.com">SANDEEP GANGADHARAN</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 Mar 2015 23:47:48 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:27 +0000</updated>
                            <resolved>Fri, 8 May 2015 23:42:53 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="56605" author="sandeep.gangadharan@hp.com" created="Wed, 18 Mar 2015 23:47:48 +0000"  >&lt;p&gt;Attachment log.zip has been added with description: Attaching the logs&lt;/p&gt;</comment>
                            <comment id="56597" author="jluhrsen" created="Fri, 17 Apr 2015 18:20:04 +0000"  >&lt;p&gt;Repeated this type of test with the lithium redesign (i.e., odl-openflowplugin-app-new-lldp-speaker feature).&lt;/p&gt;

&lt;p&gt;with a linear mininet topology using 128 switches, the controller will eventually (takes aprox 30m) give&lt;br/&gt;
an OOM and all four CPUs are running at 100% making the system unusable.  Eventually, the JVM is killed.&lt;/p&gt;

&lt;p&gt;not sure how relevant these messages are, but just a snippet from the karaf console:&lt;/p&gt;

&lt;p&gt;Exception in thread &quot;Thread-3042&quot; java.lang.OutOfMemoryError: GC overhead limit exceeded&lt;br/&gt;
Exception in thread &quot;CommitFutures-9&quot; java.lang.OutOfMemoryError: GC overhead limit exceeded&lt;br/&gt;
Exception in thread &quot;Thread-3127&quot; java.lang.OutOfMemoryError: GC overhead limit exceeded&lt;br/&gt;
Exception in thread &quot;Thread-3152&quot; java.lang.OutOfMemoryError: GC overhead limit exceeded&lt;br/&gt;
Exception in thread &quot;Thread-3153&quot; java.lang.OutOfMemoryError: GC overhead limit exceeded&lt;br/&gt;
Uncaught error from thread &lt;span class=&quot;error&quot;&gt;&amp;#91;odl-cluster-rpc-scheduler-1&amp;#93;&lt;/span&gt; shutting down JVM since &apos;akka.jvm-exit-on-fatal-error&apos; is enabled for ActorSystem[odl-cluster-rpcException in thread &quot;fileinstall-/home/sdn/distribution-karaf-0.3.0-SNAPSHOT/deploy&quot; java.lang.OutOfMemoryError: GC overhead limit exceeded&lt;/p&gt;</comment>
                            <comment id="56598" author="rovarga" created="Mon, 20 Apr 2015 13:47:45 +0000"  >&lt;p&gt;Can you take a memory dump (-XX:+HeapDumpOnOutOfMemoryError for example), as this looks like an unbounded queue or a memory leak somewhere.&lt;/p&gt;</comment>
                            <comment id="56599" author="evanz" created="Mon, 20 Apr 2015 17:45:16 +0000"  >&lt;p&gt;My JVM was crippled long before I saw OutOfMemory so I did a dev:dump-create as fast as I could. Here&apos;s what I see in visualvm.&lt;/p&gt;</comment>
                            <comment id="56606" author="evanz" created="Mon, 20 Apr 2015 17:45:16 +0000"  >&lt;p&gt;Attachment dump.png has been added with description: heapdump&lt;/p&gt;</comment>
                            <comment id="56600" author="evanz" created="Mon, 20 Apr 2015 18:47:20 +0000"  >&lt;p&gt;Here&apos;s another dump, this time I made sure to run mininet with --switch ovsk,protocols=OpenFlow13&lt;/p&gt;</comment>
                            <comment id="56607" author="evanz" created="Mon, 20 Apr 2015 18:47:20 +0000"  >&lt;p&gt;Attachment dump2.png has been added with description: heapdump_of13&lt;/p&gt;</comment>
                            <comment id="56608" author="jluhrsen" created="Tue, 21 Apr 2015 04:26:34 +0000"  >&lt;p&gt;Attachment openflow_multipartRequest_memoryLeak.jpg has been added with description: jvisual screenshot&lt;/p&gt;</comment>
                            <comment id="56601" author="jluhrsen" created="Tue, 21 Apr 2015 04:28:27 +0000"  >&lt;p&gt;As Evan has already pointed out, and I have confirmed in my setup, it looks like the memory leak is around this:&lt;/p&gt;

&lt;p&gt;org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.multipart.reply.table.TableStatsBuilder$TableStatsImpl&lt;/p&gt;


&lt;p&gt;The overall symptom is that memory is slowly consumed in my 100 switch topology until it hits the limit (3G in my case).  multipart request/reply&lt;br/&gt;
is a period event so if it&apos;s the activity leaking memory, then it would&lt;br/&gt;
all jive.&lt;/p&gt;</comment>
                            <comment id="56602" author="abhijit2511" created="Tue, 21 Apr 2015 07:16:30 +0000"  >&lt;p&gt;Added Hema if she has any knowledge of this table features code mentioned by Jamo in the previous comment as the source of the memory leak?&lt;/p&gt;</comment>
                            <comment id="56603" author="jluhrsen" created="Thu, 7 May 2015 16:36:09 +0000"  >&lt;p&gt;does not appear to be resolved, at least as far as CI is concerned:&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-periodic-1node-cds-scalability-daily-only-master/9/robot/report/log.html#s1-s1-t1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-periodic-1node-cds-scalability-daily-only-master/9/robot/report/log.html#s1-s1-t1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;this was using this specific distro:&lt;br/&gt;
distribution-karaf-0.3.0-20150507.123410-1486.zip&lt;/p&gt;</comment>
                            <comment id="56604" author="jluhrsen" created="Fri, 8 May 2015 23:42:53 +0000"  >&lt;p&gt;I left this open because of a CI scale test that was turning up an OOM Exception, but now it&apos;s been determined that the root cause in that scale test is from &lt;a href=&quot;https://jira.opendaylight.org/browse/OPNFLWPLUG-322&quot; title=&quot;Need to close the ODL Denial of Service interface&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OPNFLWPLUG-322&quot;&gt;&lt;del&gt;OPNFLWPLUG-322&lt;/del&gt;&lt;/a&gt; and is only happening because the OVS version used&lt;br/&gt;
in CI is version 2.0.2.  The same test with newer OVS versions does not &lt;br/&gt;
have trouble.&lt;/p&gt;

&lt;p&gt;scale test:&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-periodic-1node-cds-scalability-daily-only-master/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/openflowplugin/job/openflowplugin-csit-periodic-1node-cds-scalability-daily-only-master/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="27625">OPNFLWPLUG-357</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13952" name="dump.png" size="203832" author="evanz" created="Mon, 20 Apr 2015 17:45:16 +0000"/>
                            <attachment id="13953" name="dump2.png" size="210310" author="evanz" created="Mon, 20 Apr 2015 18:47:20 +0000"/>
                            <attachment id="13951" name="log.zip" size="735015" author="sandeep.gangadharan@hp.com" created="Wed, 18 Mar 2015 23:47:48 +0000"/>
                            <attachment id="13954" name="openflow_multipartRequest_memoryLeak.jpg" size="388343" author="jluhrsen" created="Tue, 21 Apr 2015 04:26:34 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2869</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=2869]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10361"><![CDATA[Lithium-RC0]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i030t3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>