https://bugs.dragonflybsd.org/https://bugs.dragonflybsd.org/favicon.ico?16293952082008-09-09T03:29:05ZDragonFlyBSD bugtrackerDragonFlyBSD - Bug #1126: panic: assertion: volume->io.lock.refs == 0 in hammer_unload_volumehttps://bugs.dragonflybsd.org/issues/1126?journal_id=53612008-09-09T03:29:05Zthomas.nikolajsen
<ul></ul><p>Have also seen this panic when using local file system for /usr/obj</p>
<p>Crash dump on leaf in crash/hammer/ask/*.12.<br />(using GENERIC kernel)</p> DragonFlyBSD - Bug #1126: panic: assertion: volume->io.lock.refs == 0 in hammer_unload_volumehttps://bugs.dragonflybsd.org/issues/1126?journal_id=53672008-09-09T05:10:04Zdillon
<ul></ul><p>:Thomas Nikolajsen <<a class="email" href="mailto:thomas.nikolajsen@mail.dk">thomas.nikolajsen@mail.dk</a>> added the comment:<br />:<br />:Have also seen this panic when using local file system for /usr/obj<br />:<br />:Crash dump on leaf in crash/hammer/ask/*.12.<br />:(using GENERIC kernel)<br />:<br />:----------<br />:priority: -> bug<br />:status: unread -> chatting</p>
<pre><code>Thomas, please try this patch and tell me if it works.</code></pre>
<pre><code>This code path is very rarely run. It will panic every<br /> time if it gets in there due to the incorrect assertion.</code></pre>
<pre><code>-Matt<br /> Matthew Dillon <br /> &lt;<a class="email" href="mailto:dillon@backplane.com">dillon@backplane.com</a>&gt;</code></pre>
<p>Index: hammer_io.c
===================================================================<br />RCS file: /cvs/src/sys/vfs/hammer/hammer_io.c,v<br />retrieving revision 1.54<br />diff <del>u -p -r1.54 hammer_io.c<br />--</del> hammer_io.c 29 Aug 2008 20:19:08 <del>0000 1.54<br />+<ins>+ hammer_io.c 8 Sep 2008 22:05:47 -0000<br /><code>@ -279,7 +279,7 </code>@ hammer_io_inval(hammer_volume_t volume, <br /> bundirty(bp);<br /> iou</del>>io.reclaim = 1;<br /> iou->io.waitdep = 1;<br />- KKASSERT(iou->io.lock.refs 0);<br /></ins> KKASSERT(iou->io.lock.refs 1);<br /> hammer_rel_buffer(&iou->buffer, 0);<br /> /*hammer_io_deallocate(bp);*/<br /> } else {</p> DragonFlyBSD - Bug #1126: panic: assertion: volume->io.lock.refs == 0 in hammer_unload_volumehttps://bugs.dragonflybsd.org/issues/1126?journal_id=53762008-09-10T06:55:00Zdillon
<ul></ul><p>:Thomas Nikolajsen <<a class="email" href="mailto:thomas.nikolajsen@mail.dk">thomas.nikolajsen@mail.dk</a>> added the comment:<br />:<br />:Have also seen this panic when using local file system for /usr/obj<br />:<br />:Crash dump on leaf in crash/hammer/ask/*.12.<br />:(using GENERIC kernel)</p>
<pre><code>Did you test that patch I emailed? I have included it again.</code></pre>
<pre><code>-Matt</code></pre>
<p>Index: hammer_io.c
===================================================================<br />RCS file: /cvs/src/sys/vfs/hammer/hammer_io.c,v<br />retrieving revision 1.54<br />diff <del>u -p -r1.54 hammer_io.c<br />--</del> hammer_io.c 29 Aug 2008 20:19:08 <del>0000 1.54<br />+<ins>+ hammer_io.c 8 Sep 2008 22:05:47 -0000<br /><code>@ -279,7 +279,7 </code>@ hammer_io_inval(hammer_volume_t volume, <br /> bundirty(bp);<br /> iou</del>>io.reclaim = 1;<br /> iou->io.waitdep = 1;<br />- KKASSERT(iou->io.lock.refs 0);<br /></ins> KKASSERT(iou->io.lock.refs 1);<br /> hammer_rel_buffer(&iou->buffer, 0);<br /> /*hammer_io_deallocate(bp);*/<br /> } else {</p> DragonFlyBSD - Bug #1126: panic: assertion: volume->io.lock.refs == 0 in hammer_unload_volumehttps://bugs.dragonflybsd.org/issues/1126?journal_id=54142008-09-15T03:32:08Zthomas.nikolajsen
<ul></ul><p>Works: haven't seen problem with patch.<br />(but extended patch in issue1139 works even better)</p>
<p>Btw, PFSs was used for nfs exports (as in issue1135 issue1138 issue1139),<br />but I donĀ“t know if this is relevant for this issue.</p>
<p>(also left another note a few days ago, but got mail that issue tracker barfed)</p> DragonFlyBSD - Bug #1126: panic: assertion: volume->io.lock.refs == 0 in hammer_unload_volumehttps://bugs.dragonflybsd.org/issues/1126?journal_id=58242009-01-20T09:04:37Zdillon
<ul></ul><p>:I've got this panic multiple times at shutdown;<br />:this is on nfs server using hammer for exports.<br />:<br />:Crash dump on leaf in crash/hammer/ask/*.4.<br />:<br />:Panic only seen after running buildworld on client w/ usr/src & usr/obj nfs=<br />: mounted;<br />:no problem when client uses local file system (e.g. hammer) for /usr/obj.<br />:<br />: <del>thomas<br />:</del></p>
<pre><code>I made a commit which may or may not fix this. Please report if it<br /> does not, there could also be an issue with shutting down NFS services<br /> on the server side.</code></pre>
<pre><code>-Matt</code></pre> DragonFlyBSD - Bug #1126: panic: assertion: volume->io.lock.refs == 0 in hammer_unload_volumehttps://bugs.dragonflybsd.org/issues/1126?journal_id=58492009-01-20T16:29:15Zcorecode
<ul></ul><p>commit d40bfeca35caa9f1c470a05381618447b19746c9</p>