http://wiki.linux-nfs.org/wiki/index.php?title=Kernel_crashes_when_repeatedly_trying_to_mount_nfs_share_that_is_failing&feed=atom&action=historyKernel crashes when repeatedly trying to mount nfs share that is failing - Revision history2024-03-29T06:22:43ZRevision history for this page on the wikiMediaWiki 1.16.5http://wiki.linux-nfs.org/wiki/index.php?title=Kernel_crashes_when_repeatedly_trying_to_mount_nfs_share_that_is_failing&diff=4558&oldid=prevAmschuma at 19:16, 29 July 20112011-07-29T19:16:17Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 19:16, 29 July 2011</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* [https://bugzilla.kernel.org/show_bug.cgi?id=24302 Bug 24302]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* [https://bugzilla.kernel.org/show_bug.cgi?id=24302 Bug 24302]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Reported by: Stefan Bader (December 3, 2010)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Reported by: Stefan Bader (December 3, 2010)</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* Fixed by: Chuck Lever (December 10, 2010)</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Closed by: Florian Mickler (December 24, 2011)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* Closed by: Florian Mickler (December 24, 2011)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 25:</td>
<td colspan="2" class="diff-lineno">Line 26:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>done</pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>done</pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* It seems to take longer on the newest kernel, but eventually there will be a panic.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* It seems to take longer on the newest kernel, but eventually there will be a panic.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">== Resolution ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">* This problem was fixed by commit [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5b362ac3799ff4225c40935500f520cad4d7ed66 5b362ac3799ff4225c40935500f520cad4d7ed66]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"><pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">commit 5b362ac3799ff4225c40935500f520cad4d7ed66</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Author: Chuck Lever <chuck.lever@oracle.com></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Date: Fri Dec 10 12:31:14 2010 -0500</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> NFS: Fix panic after nfs_umount()</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> After a few unsuccessful NFS mount attempts in which the client and</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> server cannot agree on an authentication flavor both support, the</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> client panics. nfs_umount() is invoked in the kernel in this case.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> Turns out nfs_umount()'s UMNT RPC invocation causes the RPC client to</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> write off the end of the rpc_clnt's iostat array. This is because the</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> mount client's nrprocs field is initialized with the count of defined</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> procedures (two: MNT and UMNT), rather than the size of the client's</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> proc array (four).</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> The fix is to use the same initialization technique used by most other</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> upper layer clients in the kernel.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> Introduced by commit 0b524123, which failed to update nrprocs when</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> support was added for UMNT in the kernel.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=24302</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> BugLink: http://bugs.launchpad.net/bugs/683938</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> Reported-by: Stefan Bader <stefan.bader@canonical.com></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> Tested-by: Stefan Bader <stefan.bader@canonical.com></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> Cc: stable@kernel.org # >= 2.6.32</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> Signed-off-by: Chuck Lever <chuck.lever@oracle.com></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
</table>Amschumahttp://wiki.linux-nfs.org/wiki/index.php?title=Kernel_crashes_when_repeatedly_trying_to_mount_nfs_share_that_is_failing&diff=4557&oldid=prevAmschuma at 19:11, 29 July 20112011-07-29T19:11:03Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 19:11, 29 July 2011</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 21:</td>
<td colspan="2" class="diff-lineno">Line 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* The following is done in a loop as the crash sometimes takes longer than other times:</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* The following is done in a loop as the crash sometimes takes longer than other times:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre>while true; do</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre>while true; do</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline"> </del>ls foo/</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline"> </ins>ls foo/</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline"> </del>sleep 1</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline"> </ins>sleep 1</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>done</pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>done</pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* It seems to take longer on the newest kernel, but eventually there will be a panic.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* It seems to take longer on the newest kernel, but eventually there will be a panic.</div></td></tr>
</table>Amschumahttp://wiki.linux-nfs.org/wiki/index.php?title=Kernel_crashes_when_repeatedly_trying_to_mount_nfs_share_that_is_failing&diff=4556&oldid=prevAmschuma at 19:09, 29 July 20112011-07-29T19:09:07Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 19:09, 29 July 2011</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 21:</td>
<td colspan="2" class="diff-lineno">Line 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* The following is done in a loop as the crash sometimes takes longer than other times:</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* The following is done in a loop as the crash sometimes takes longer than other times:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre>while true; do</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre>while true; do</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline"> </del>ls foo/</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline"> </ins>ls foo/</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline"> </del>sleep 1</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline"> </ins>sleep 1</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>done</pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>done</pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* It seems to take longer on the newest kernel, but eventually there will be a panic.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>* It seems to take longer on the newest kernel, but eventually there will be a panic.</div></td></tr>
</table>Amschumahttp://wiki.linux-nfs.org/wiki/index.php?title=Kernel_crashes_when_repeatedly_trying_to_mount_nfs_share_that_is_failing&diff=4555&oldid=prevAmschuma: Created page with "== About == * Kernel version: 2.6.32, 2.6.37-rc3 * [https://bugzilla.kernel.org/show_bug.cgi?id=24302 Bug 24302] * Reported by: Stefan Bader (December 3, 2010) * Closed by: Flori..."2011-07-29T19:08:37Z<p>Created page with "== About == * Kernel version: 2.6.32, 2.6.37-rc3 * [https://bugzilla.kernel.org/show_bug.cgi?id=24302 Bug 24302] * Reported by: Stefan Bader (December 3, 2010) * Closed by: Flori..."</p>
<p><b>New page</b></p><div>== About ==<br />
* Kernel version: 2.6.32, 2.6.37-rc3<br />
* [https://bugzilla.kernel.org/show_bug.cgi?id=24302 Bug 24302]<br />
* Reported by: Stefan Bader (December 3, 2010)<br />
* Closed by: Florian Mickler (December 24, 2011)<br />
<br />
<br />
== How to reproduce ==<br />
* ARCH: x86_64 (not tested on i386)<br />
* On the server side, configure an export that will be denied to mount (used sec=krb5 as that gives a permission denied for me)<br />
* server /etc/exports<br />
<pre>/foo *(rw,krb5)</pre><br />
* On the client side, autofs gets configured to try to automount server:/foo<br />
* client /etc/auto.master<br />
<pre>/auto /etc/auto.auto</pre><br />
* client /etc/auto.auto<br />
<pre>foo -tcp server:/foo</pre><br />
* Stop the autofs service and start the automounter in the foreground (automount -d -f) to see the permission denied message.<br />
* Create a symlink pointing to the autofs:<br />
<pre>ln -s /auto/foo foo</pre><br />
* The following is done in a loop as the crash sometimes takes longer than other times:<br />
<pre>while true; do<br />
ls foo/<br />
sleep 1<br />
done</pre><br />
* It seems to take longer on the newest kernel, but eventually there will be a panic.</div>Amschuma