<p dir="ltr"></p>
<p dir="ltr">-Atin<br>
Sent from one plus one<br>
On 09-Apr-2016 9:32 am, &quot;Rajesh Joseph&quot; &lt;<a href="mailto:rjoseph@redhat.com">rjoseph@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Sat, Apr 9, 2016 at 2:05 AM, Jeff Darcy &lt;<a href="mailto:jdarcy@redhat.com">jdarcy@redhat.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Upon further investigation, I&#39;ve been able to determine that the problem<br>
&gt;&gt; lies in this line of our generic cleanup routine.<br>
&gt;&gt;<br>
&gt;&gt;         type cleanup_lvm &amp;&gt;/dev/null &amp;&amp; cleanup_lvm || true;<br>
&gt;&gt;<br>
&gt;&gt; This works great if snapshot.rc we&#39;re at the end of a test that included<br>
&gt;&gt; snapshot.rc (which defines cleanup_lvm), but we&#39;ve generally been moving<br>
&gt;&gt; away from that in favor of calling it only at the beginning.  Thus, when<br>
&gt;&gt; we go from a snapshot test to a non-snapshot test, the cleanup at the<br>
&gt;&gt; beginning of the latter does *not* clean up any LVM stuff that&#39;s left<br>
&gt;&gt; over.  What might have been a simple and correctly attributed failure in<br>
&gt;&gt; the snapshot test can instead show up later.  In this case, the sequence<br>
&gt;&gt; of events is as follows:<br>
&gt;&gt;<br>
&gt;&gt;  1) bug-1322772 (snapshot) test starts glusterd<br>
&gt;&gt;<br>
&gt;&gt;  2) bug-1322772 exits while the new glusterd is still initializing<br>
&gt;&gt;<br>
&gt;&gt;  3) run-tests.sh looks for new core files and finds none<br>
&gt;&gt;<br>
&gt;&gt;  4) run-tests.sh starts bug-1002207 (stripe) test<br>
&gt;&gt;<br>
&gt;&gt;  5) glusterd from bug-1322772 dumps core<br>
&gt;&gt;<br>
&gt;&gt;  6) bug-1002207 test completes<br>
&gt;&gt;<br>
&gt;&gt;  7) run-tests.sh sees new core and misattributes it to bug-1002207<br>
&gt;&gt;<br>
&gt;&gt; The question is what to do about this.  Unconditionally calling<br>
&gt;&gt; lvm_cleanup from generic cleanup is simple, but might make regression<br>
&gt;&gt; tests noticeably slower.  Another possibility would be to change all<br>
&gt;&gt; snapshot tests to call cleanup (or at least cleanup_lvm) at the end, or<br>
&gt;&gt; use bash&#39;s &quot;trap&quot; mechanism to ensure the same.  I&#39;m not wild about any<br>
&gt;&gt; of those, but lean toward the &quot;trap&quot; approach.  Anyone else have any<br>
&gt;&gt; opinions?<br>
&gt;<br>
&gt;<br>
&gt; I think each snapshot test script should call cleanup_lvm and trap is a <br>
&gt; great suggestion.<br>
&gt;<br>
&gt; atinm: Can you please look into the crash in the following test case?<br>
&gt; bugs/snapshot/bug-1322772-real-path-fix-for-snapshot.t</p>
<p dir="ltr">Do we have the link to the crash?<br>
&gt;<br>
&gt;  <br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Gluster-devel mailing list<br>
&gt;&gt; <a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
&gt;&gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-devel">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Gluster-devel mailing list<br>
&gt; <a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
&gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-devel">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br></p>
<p dir="ltr">-Atin<br>
Sent from one plus one</p>