<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:22:54 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-2163] racer test_1: LBUG: ASSERTION( !list_empty(&amp;job-&gt;js_list) ) failed</title>
                <link>https://jira.whamcloud.com/browse/LU-2163</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This issue was created by maloo for yujian &amp;lt;yujian@whamcloud.com&amp;gt;&lt;/p&gt;

&lt;p&gt;This issue relates to the following test suite run: &lt;a href=&quot;https://maloo.whamcloud.com/test_sets/aeb1821c-1472-11e2-8ca0-52540035b04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://maloo.whamcloud.com/test_sets/aeb1821c-1472-11e2-8ca0-52540035b04c&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The sub-test test_1 hung and console log on MDS showed that:&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;15:23:56:LustreError: 4359:0:(lprocfs_jobstats.c:248:lprocfs_job_stats_log()) ASSERTION( !list_empty(&amp;amp;job-&amp;gt;js_list) ) failed: 
15:23:56:LustreError: 4359:0:(lprocfs_jobstats.c:248:lprocfs_job_stats_log()) LBUG
15:23:56:Pid: 4359, comm: mdt00_022
15:23:56:
15:23:56:Call Trace:
15:23:56: [&amp;lt;ffffffffa0f3d905&amp;gt;] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
15:23:56: [&amp;lt;ffffffffa0f3df17&amp;gt;] lbug_with_loc+0x47/0xb0 [libcfs]
15:23:56: [&amp;lt;ffffffffa1043c91&amp;gt;] lprocfs_job_stats_log+0x711/0x870 [obdclass]
15:23:56: [&amp;lt;ffffffffa097d6a3&amp;gt;] mdt_counter_incr+0xc3/0xe0 [mdt]
15:23:56: [&amp;lt;ffffffffa0954511&amp;gt;] mdt_getattr_internal+0x171/0xf10 [mdt]
15:23:56: [&amp;lt;ffffffffa0958d5d&amp;gt;] mdt_getattr_name_lock+0xe8d/0x1950 [mdt]
15:23:56: [&amp;lt;ffffffffa11d671d&amp;gt;] ? lustre_msg_buf+0x5d/0x60 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa1203cb6&amp;gt;] ? __req_capsule_get+0x176/0x750 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa11d8b04&amp;gt;] ? lustre_msg_get_flags+0x34/0xb0 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa0959e45&amp;gt;] mdt_intent_getattr+0x375/0x590 [mdt]
15:23:56: [&amp;lt;ffffffffa0957191&amp;gt;] mdt_intent_policy+0x371/0x6a0 [mdt]
15:23:56: [&amp;lt;ffffffffa118f881&amp;gt;] ldlm_lock_enqueue+0x361/0x8f0 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa11b79bf&amp;gt;] ldlm_handle_enqueue0+0x48f/0xf70 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa0957506&amp;gt;] mdt_enqueue+0x46/0x130 [mdt]
15:23:56: [&amp;lt;ffffffffa094e802&amp;gt;] mdt_handle_common+0x922/0x1740 [mdt]
15:23:56: [&amp;lt;ffffffffa094f6f5&amp;gt;] mdt_regular_handle+0x15/0x20 [mdt]
15:23:56: [&amp;lt;ffffffffa11e7b3c&amp;gt;] ptlrpc_server_handle_request+0x41c/0xe00 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa0f3e65e&amp;gt;] ? cfs_timer_arm+0xe/0x10 [libcfs]
15:23:56: [&amp;lt;ffffffffa11def37&amp;gt;] ? ptlrpc_wait_event+0xa7/0x2a0 [ptlrpc]
15:23:56: [&amp;lt;ffffffff810533f3&amp;gt;] ? __wake_up+0x53/0x70
15:23:56: [&amp;lt;ffffffffa11e9111&amp;gt;] ptlrpc_main+0xbf1/0x19e0 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa11e8520&amp;gt;] ? ptlrpc_main+0x0/0x19e0 [ptlrpc]
15:23:56: [&amp;lt;ffffffff8100c14a&amp;gt;] child_rip+0xa/0x20
15:23:56: [&amp;lt;ffffffffa11e8520&amp;gt;] ? ptlrpc_main+0x0/0x19e0 [ptlrpc]
15:23:56: [&amp;lt;ffffffffa11e8520&amp;gt;] ? ptlrpc_main+0x0/0x19e0 [ptlrpc]
15:23:56: [&amp;lt;ffffffff8100c140&amp;gt;] ? child_rip+0x0/0x20
15:23:56:
15:23:56:Kernel panic - not syncing: LBUG
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Info required for matching: racer 1&lt;/p&gt;</description>
                <environment></environment>
        <key id="16342">LU-2163</key>
            <summary>racer test_1: LBUG: ASSERTION( !list_empty(&amp;job-&gt;js_list) ) failed</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="green">Oleg Drokin</assignee>
                                    <reporter username="maloo">Maloo</reporter>
                        <labels>
                    </labels>
                <created>Fri, 12 Oct 2012 10:45:57 +0000</created>
                <updated>Sat, 13 Oct 2012 15:02:12 +0000</updated>
                            <resolved>Sat, 13 Oct 2012 15:02:12 +0000</resolved>
                                    <version>Lustre 2.3.0</version>
                    <version>Lustre 2.4.0</version>
                                    <fixVersion>Lustre 2.3.0</fixVersion>
                    <fixVersion>Lustre 2.4.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="46485" author="pjones" created="Fri, 12 Oct 2012 16:20:16 +0000"  >&lt;p&gt;Oleg is looking into this one&lt;/p&gt;</comment>
                            <comment id="46486" author="adilger" created="Fri, 12 Oct 2012 17:46:50 +0000"  >&lt;p&gt;If two threads are racing to add the same jobid into the job stats list in lprocfs_job_stats_log(), one thread will lose the race from cfs_hash_findadd_unique() and enter the &quot;if (job != job2)&quot; case.  It could fail LASSERT(!cfs_list_empty(&amp;amp;job-&amp;gt;js_list)) depending whether the other thread in &quot;else&quot; added &quot;job2&quot; to the list first or not.&lt;/p&gt;

&lt;p&gt;Simply locking the check for cfs_list_empty(&amp;amp;job-&amp;gt;js_list) is not sufficient to fix the race.  There would need to be locking over the whole cfs_hash_findadd_unique() and cfs_list_add() calls, but since ojs_lock is global for the whole OST this may have performance costs.&lt;/p&gt;

&lt;p&gt;Instead, just remove the LASSERT() entirely, since it provides no value, and the &quot;losing&quot; thread can happily use the job_stat struct immediately since it was fully initialized in job_alloc().&lt;/p&gt;

&lt;p&gt;Patch for this issue on b2_3: &lt;a href=&quot;http://review.whamcloud.com/4263&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/4263&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="46512" author="adilger" created="Sat, 13 Oct 2012 12:55:01 +0000"  >&lt;p&gt;Oleg, could you please also cherry pick for master. &lt;/p&gt;</comment>
                            <comment id="46517" author="pjones" created="Sat, 13 Oct 2012 15:02:12 +0000"  >&lt;p&gt;Landed for 2.3 and 2.4&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|hzva7z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5191</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>