<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Mar 31, 2017 7:05 PM, &quot;Niels de Vos&quot; &lt;<a href="mailto:ndevos@redhat.com">ndevos@redhat.com</a>&gt; wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On Fri, Mar 31, 2017 at 01:24:41PM +0000, Atin Mukherjee wrote:<br>
&gt; On Fri, 31 Mar 2017 at 18:15, Niels de Vos &lt;<a href="mailto:ndevos@redhat.com">ndevos@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; On Fri, Mar 31, 2017 at 02:34:04PM +0530, Sanoj Unnikrishnan wrote:<br>
&gt; &gt; &gt; +Mohit<br>
&gt; &gt; &gt; Mohit had written a similar script to RCA an issue couple of months back.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; It would help if we placed the scripts, tapsets in the source tree itself<br>
&gt; &gt; &gt; (maybe in a directory under glusterfs/extras/).<br>
&gt; &gt; &gt; We could also have the tapset packaged into debuginfo packages and<br>
&gt; &gt; deployed<br>
&gt; &gt; &gt; under /usr/share/systemtap/ path upon installation.<br>
&gt; &gt;<br>
&gt; &gt; Yes, or we can place them in their own repository. I have a<br>
&gt; &gt; gluster-debug repository where I plan to put tools I use for debugging.<br>
&gt; &gt; This repository may well live at the Gluster organization on GitHub too.<br>
&gt; &gt;<br>
&gt; &gt; <a href="https://github.com/nixpanic/gluster-debug" rel="noreferrer" target="_blank">https://github.com/nixpanic/<wbr>gluster-debug</a><br>
&gt; &gt;<br>
&gt; &gt; Many of the tools we use for debugging should not be version specific,<br>
&gt; &gt; so having them in the glusterfs repository might be a little awkward?<br>
&gt; &gt;<br>
&gt; &gt; What are the opinions of others?<br>
&gt;<br>
&gt;<br>
&gt; My personal preference would be to host it under one central repo instead<br>
&gt; of individual github accounts. Versioning and such other issues can be<br>
&gt; tackled having good documentation around these tools.<br>
<br>
</div>Yes, of course. I intended to explain we put all the debug tools in<br>
<a href="https://github.com/gluster/gluster-debug" rel="noreferrer" target="_blank">https://github.com/gluster/<wbr>gluster-debug</a> (does not exist yet). Those<br>
tools can then also include debug utilities for related projects, not<br>
only for the core glusterfs repository.<br>
<font color="#888888"><br>
Niels<br>
</font><div class="elided-text"><br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; Thanks,<br>
&gt; &gt; Niels<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; Sanoj<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Fri, Mar 31, 2017 at 12:44 PM, Sonal Arora &lt;<a href="mailto:sarora@redhat.com">sarora@redhat.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I am working on finding ways to indentify ref leaks in glusterfs.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Description of Issue :<br>
&gt; &gt; <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1417539" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/<wbr>show_bug.cgi?id=1417539</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Goal : To make script which could detect all kind of ref leaks.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Script : <a href="https://github.com/SonaArora/Tracing-userspace-app/blob/" rel="noreferrer" target="_blank">https://github.com/SonaArora/<wbr>Tracing-userspace-app/blob/</a><br>
&gt; &gt; &gt; &gt; master/ref-leak/try8-modified<br>
&gt; &gt; &gt; &gt; The above script is a POC program to depict the idea of how to identify<br>
&gt; &gt; &gt; &gt; leaks. Script is probing dict_ref() and dict_unref() and keeping a<br>
&gt; &gt; track of<br>
&gt; &gt; &gt; &gt; the pointers, back traces which are referenced/dereferenced by above<br>
&gt; &gt; &gt; &gt; functions. If the count of refs is unequal to unrefs for each<br>
&gt; &gt; pointer,it<br>
&gt; &gt; &gt; &gt; will print all the traces corresponding to the leaked pointer.<br>
&gt; &gt; &gt; &gt; Output : <a href="https://github.com/SonaArora/Tracing-userspace-" rel="noreferrer" target="_blank">https://github.com/SonaArora/<wbr>Tracing-userspace-</a><br>
&gt; &gt; &gt; &gt; app/blob/master/ref-leak/<wbr>output-refleak<br>
&gt; &gt; &gt; &gt; I am working on post processing the output - to filter only the leaked<br>
&gt; &gt; &gt; &gt; traces and to write the output after every few hours into a file.<br>
&gt; &gt; &gt; &gt; The script can be extended to all objects being referenced (like<br>
&gt; &gt; &gt; &gt; inodes/fds).<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; End Goal : Future goal is to make it more versatile, dynamic and light<br>
&gt; &gt; &gt; &gt; weight so that it can be even utilized on production environments<br>
&gt; &gt; without<br>
&gt; &gt; &gt; &gt; utilizing much of the system resources.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Request your comments and suggestions.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Best<br>
&gt; &gt; &gt; &gt; -Sonal<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; ______________________________<wbr>_________________<br>
&gt; &gt; &gt; &gt; Gluster-devel mailing list<br>
&gt; &gt; &gt; &gt; <a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
&gt; &gt; &gt; &gt; <a href="http://lists.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-devel</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; ______________________________<wbr>_________________<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://lists.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-devel</a><br>
&gt;<br>
&gt; --<br>
&gt; - Atin (atinm)<br></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">That&#39;s a good idea to put all such kind of work in one place so that everyone can utilize this.</div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="elided-text">
</div></blockquote></div><br></div></div></div>