<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:27:03 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>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-2654] ll_imp_inval cpu lockup</title>
                <link>https://jira.whamcloud.com/browse/LU-2654</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Just had a cpu lockup in import invalidation thread.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;PID: 31247  TASK: ffff880080938300  CPU: 1   COMMAND: &quot;ll_imp_inval&quot;
 #0 [ffff8800456edcf0] schedule at ffffffff814f7c98
 #1 [ffff8800456edcf8] cfs_hash_for_each_relax at ffffffffa0db07af [libcfs]
 #2 [ffff8800456edd88] cfs_hash_for_each_nolock at ffffffffa0db217f [libcfs]
 #3 [ffff8800456eddb8] ldlm_namespace_cleanup at ffffffffa10a8870 [ptlrpc]
 #4 [ffff8800456edde8] osc_import_event at ffffffffa046ce96 [osc]
 #5 [ffff8800456ede78] ptlrpc_invalidate_import at ffffffffa110b93f [ptlrpc]
 #6 [ffff8800456edf28] ptlrpc_invalidate_import_thread at ffffffffa110bfaf [ptlrpc]
 #7 [ffff8800456edf48] kernel_thread at ffffffff8100c14a
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Crashdump in /exports/crasdumps/t/imp-lockup.dmp modules in /exports/crashdumps/192.168.10.210-2013-01-18-21:37:33/modules&lt;/p&gt;</description>
                <environment></environment>
        <key id="17240">LU-2654</key>
            <summary>ll_imp_inval cpu lockup</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/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="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="green">Oleg Drokin</reporter>
                        <labels>
                            <label>LB</label>
                    </labels>
                <created>Sat, 19 Jan 2013 19:48:38 +0000</created>
                <updated>Sun, 3 Feb 2013 01:55:50 +0000</updated>
                            <resolved>Sun, 3 Feb 2013 01:55:49 +0000</resolved>
                                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="50859" author="shadow" created="Sat, 19 Jan 2013 22:44:15 +0000"  >&lt;p&gt;that is may be not a lookup, but tried to canceling a too much locks...&lt;/p&gt;</comment>
                            <comment id="50907" author="green" created="Mon, 21 Jan 2013 12:33:23 +0000"  >&lt;p&gt;It lasts for over 12 hours in this state, so I think it&apos;s a lockup, I don&apos;t think I have this much locks.&lt;/p&gt;</comment>
                            <comment id="51664" author="green" created="Fri, 1 Feb 2013 22:28:35 +0000"  >&lt;p&gt;Ok, this bug really frustrates my testing, so I dug into it fformore data. There&apos;s certainly some sort of a corrupted list happening.&lt;br/&gt;
What I get before the lockup looks like this:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Feb  1 18:52:12 centos6-12 kernel: [80511.281770] LustreError: 4466:0:(ldlm_reso
urce.c:1408:ldlm_resource_dump()) ### ### ns: ?? lock: ffff88008f76fdb0/0xffff88
008f76fdb0 lrc: 0/0,0 mode: --/PW res: ?? rrc=?? type: ??? flags: 0x96f400000000
 nid: local remote: 0xc6d634d7459f6287 expref: -99 pid: 4450 timeout: 0 lvb_type
: 1
Feb  1 18:52:12 centos6-12 kernel: [80511.282764] LustreError: 4466:0:(ldlm_resource.c:1408:ldlm_resource_dump()) Skipped 9092257 previous similar messages
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So digging a bit more I found that we are stuck within this piece of code in ldlm_resource_dump:&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;                cfs_list_for_each_entry_reverse(lock, &amp;amp;res-&amp;gt;lr_granted,
                                                l_res_link) {
                        LDLM_DEBUG_LIMIT(level, lock, &lt;span class=&quot;code-quote&quot;&gt;&quot;###&quot;&lt;/span&gt;);
                        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!(level &amp;amp; D_CANTMASK) &amp;amp;&amp;amp;
                            ++granted &amp;gt; ldlm_dump_granted_max) {
                                CDEBUG(level, &lt;span class=&quot;code-quote&quot;&gt;&quot;only dump %d granted locks to &quot;&lt;/span&gt;
                                       &lt;span class=&quot;code-quote&quot;&gt;&quot;avoid DDOS.\n&quot;&lt;/span&gt;, granted);
                                &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;;
                        }
                }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Sure enough, printing current lock&apos;s res_link, we see:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;(gdb) p lock-&amp;gt;l_res_link
$53 = {next = 0xffff88008f76fe38, prev = 0xffff88008f76fe38}
(gdb) p lock
$54 = (struct ldlm_lock *) 0xffff88008f76fdb0
(gdb) p &amp;amp;lock-&amp;gt;l_res_link
$55 = (cfs_list_t *) 0xffff88008f76fe38
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;So as we were printing this lock content, it was removed.&lt;/p&gt;

&lt;p&gt;So step one is to convert to safe list traversing to avoid that.&lt;br/&gt;
Step two for somebody: make sure the lock cannot disappear in the middle of printing.&lt;/p&gt;</comment>
                            <comment id="51665" author="green" created="Fri, 1 Feb 2013 22:45:44 +0000"  >&lt;p&gt;Patch is in &lt;a href=&quot;http://review.whamcloud.com/5254&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/5254&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="51666" author="green" created="Fri, 1 Feb 2013 22:57:02 +0000"  >&lt;p&gt;On a second thought, I guess the proper way here is to ensure resource is locked when iterating, as just using safe iterator is racy.&lt;/p&gt;</comment>
                            <comment id="51677" author="green" created="Sun, 3 Feb 2013 01:55:50 +0000"  >&lt;p&gt;Patch landed&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzvfqn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6196</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

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