<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:34 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>[NETCONF-655] Unable to mount devices, OOM crash</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-655</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Using a device with a large yang schema and the netconf testtool simulator, mounting&lt;br/&gt;
devices is failing. I&apos;ve observed OOM crashes as well. This is not happening in the original/first&lt;br/&gt;
Sodium release but is happening in both SR1 and most recent sodium build which is possibly&lt;br/&gt;
the SR2 release.&lt;/p&gt;

&lt;p&gt;The basic test is to create 50 devices of the same exact type and then poll on the&lt;br/&gt;
operational topology (every 2s) until all are marked as &quot;connected&quot;. The device being simulated&lt;br/&gt;
takes up aprox 375MB of heap after yang compilation and the 50 devices are all compiled and&lt;br/&gt;
mounted in aprox 3m with the original Sodium release. (NOTE: I am not sure I can pubilcally share&lt;br/&gt;
the yang models for this device at this time) With SR1 and ~SR2, none of the devices are&lt;br/&gt;
mounted.&lt;/p&gt;

&lt;p&gt;The karaf log shows a lot of messages like:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
2020-02-05T19:02:14,675 | WARN  | opendaylight-cluster-data-akka.actor.&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;-dispatcher-185 | Cluster(akka:&lt;span class=&quot;code-comment&quot;&gt;//opendaylight-cluster-data) | 39 - com.typesafe.akka.slf4j - 2.5.26 | Cluster Node [akka.tcp://opendaylight-cluster-data@127.0.0.1:2550] - Scheduled sending of heartbeat was delayed. Previous heartbeat was sent [18924] ms ago, expected interval is [1000] ms. This may cause failure detection to mark members as unreachable. The reason can be thread starvation, e.g. by running blocking tasks on the &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; dispatcher, CPU overload, or GC.
&lt;/span&gt;2020-02-05T19:02:51,833 | WARN  | opendaylight-cluster-data-akka.actor.&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;-dispatcher-185 | Cluster(akka:&lt;span class=&quot;code-comment&quot;&gt;//opendaylight-cluster-data) | 39 - com.typesafe.akka.slf4j - 2.5.26 | Cluster Node [akka.tcp://opendaylight-cluster-data@127.0.0.1:2550] - Scheduled sending of heartbeat was delayed. Previous heartbeat was sent [17136] ms ago, expected interval is [1000] ms. This may cause failure detection to mark members as unreachable. The reason can be thread starvation, e.g. by running blocking tasks on the &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; dispatcher, CPU overload, or GC.&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and eventually some OOM crash messages like this:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
2020-02-05T19:03:58,779 | ERROR | Framework Event Dispatcher: org.eclipse.osgi.internal.framework.EquinoxEventPublisher@4450d156 | actor                            | 33 - com.typesafe.akka.actor - 2.5.26 | FrameworkEvent ERROR - com.typesafe.akka.actor
java.lang.OutOfMemoryError: GC overhead limit exceeded
2020-02-05T19:03:58,848 | ERROR | opendaylight-cluster-data-akka.actor.&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;-dispatcher-3 | ActorSystemImpl                  | 39 - com.typesafe.akka.slf4j - 2.5.26 | Uncaught error from thread [opendaylight-cluster-data-shard-dispatcher-168]: GC overhead limit exceeded, shutting down JVM since &lt;span class=&quot;code-quote&quot;&gt;&apos;akka.jvm-exit-on-fatal-error&apos;&lt;/span&gt; is enabled &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; ActorSystem[opendaylight-cluster-data]
java.lang.OutOfMemoryError: GC overhead limit exceeded
2020-02-05T19:03:58,859 | ERROR | opendaylight-cluster-data-akka.actor.&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;-dispatcher-3 | ActorSystemImpl                  | 39 - com.typesafe.akka.slf4j - 2.5.26 | Uncaught error from thread [opendaylight-cluster-data-scheduler-1]: Unexpected error from weaving hook., shutting down JVM since &lt;span class=&quot;code-quote&quot;&gt;&apos;akka.jvm-exit-on-fatal-error&apos;&lt;/span&gt; is enabled &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; ActorSystem[opendaylight-cluster-data]
java.lang.ClassFormatError: Unexpected error from weaving hook.
        at org.eclipse.osgi.internal.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:73) ~[?:?]
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.processClass(ClasspathManager.java:674) ~[?:?]
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:645) ~[?:?]
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:578) ~[?:?]
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538) ~[?:?]
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525) ~[?:?]
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328) ~[?:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368) ~[?:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:446) ~[?:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395) ~[?:?]
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387) ~[?:?]
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150) ~[?:?]
        at java.lang.&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.loadClass(&lt;span class=&quot;code-object&quot;&gt;ClassLoader&lt;/span&gt;.java:352) ~[?:?]
        at akka.event.BusLogging.notifyError(Logging.scala:1932) ~[33:com.typesafe.akka.actor:2.5.26]
        at akka.event.LoggingAdapter.error(Logging.scala:1207) ~[33:com.typesafe.akka.actor:2.5.26]
        at akka.event.LoggingAdapter.error$(Logging.scala:1207) ~[33:com.typesafe.akka.actor:2.5.26]
        at akka.event.BusLogging.error(Logging.scala:1914) ~[33:com.typesafe.akka.actor:2.5.26]
        at akka.actor.LightArrayRevolverScheduler$$anon$3.run(LightArrayRevolverScheduler.scala:244) ~[33:com.typesafe.akka.actor:2.5.26]
        at java.lang.&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.run(&lt;span class=&quot;code-object&quot;&gt;Thread&lt;/span&gt;.java:748) ~[?:?]
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="32405">NETCONF-655</key>
            <summary>Unable to mount devices, OOM crash</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <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="10001">Won&apos;t Do</resolution>
                                        <assignee username="jluhrsen">Jamo Luhrsen</assignee>
                                    <reporter username="jluhrsen">Jamo Luhrsen</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Feb 2020 19:22:05 +0000</created>
                <updated>Fri, 7 Feb 2020 21:13:08 +0000</updated>
                            <resolved>Fri, 7 Feb 2020 21:13:08 +0000</resolved>
                                    <version>Sodium SR1</version>
                    <version>Sodium SR2</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="67819" author="jluhrsen" created="Wed, 5 Feb 2020 21:27:12 +0000"  >&lt;p&gt;If I increase the max mem heap value to 7G, I can get around this issue. Note that the original sodium release default of 2G is&lt;br/&gt;
working fine. I tried 2-6G with the SR2 candidate build and it fails. At 7G I can get my devices to mount and see the CPU finally&lt;br/&gt;
calm down.&lt;/p&gt;</comment>
                            <comment id="67821" author="rovarga" created="Fri, 7 Feb 2020 12:21:17 +0000"  >&lt;p&gt;Hmm, that&apos;s weird, I do not see anything in yangtools between GA and SR1 which would cause this &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="67822" author="jluhrsen" created="Fri, 7 Feb 2020 16:48:48 +0000"  >&lt;p&gt;Please see &lt;a href=&quot;https://drive.google.com/file/d/1y7gO82Vz8OhHLFZ7LUq3d23PAP2Fjw3O/view?usp=sharing&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this 3G heap dump &lt;/a&gt; that was created using a recent sodium distribution (so after SR1) and trying to mount 50 devices (trying to make the crash happen sooner). This time the OOM crash took aprox 1 hour to occur.&lt;/p&gt;</comment>
                            <comment id="67823" author="jluhrsen" created="Fri, 7 Feb 2020 21:13:08 +0000"  >&lt;p&gt;Sorry for the false alarm here. I was mistakenly using a modified sodium distribution when I&lt;br/&gt;
though it was a new/default version. It was modified to use a full 24G max mem heap size,&lt;br/&gt;
so I never saw this issue with that distribution. So turns out the same symptoms are there&lt;br/&gt;
for all releases and expected.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03r0f:</customfieldvalue>

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