Yes! I was catching up slowly on all my mail.. I will commit this fix. Thanks!<div><br></div><div>Avati<br><br><div class="gmail_quote">On Fri, Jul 8, 2011 at 8:36 PM, Emmanuel Dreyfus <span dir="ltr">&lt;<a href="mailto:manu@netbsd.org">manu@netbsd.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Anand Avati &lt;<a href="mailto:anand.avati@gmail.com">anand.avati@gmail.com</a>&gt; wrote:<br>
<br>
&gt; I&#39;m not sure how good/efficient the pthread implementation in NetBSD is.<br>
&gt; Also, do you know if there are any NetBSD specifics about using<br>
&gt; pthread_spinlock() APIs on it? Lot of the issues you have previously<br>
&gt; described can occur if there is a broken implementation of pthread<br>
&gt; spinlocks (which seems to get masked without io-threads)<br>
<br>
</div>Yes, all the crashes I reported were pthread related and were fixed by<br>
the patch I posted yesterday. I repost it below for your convenience.<br>
<br>
On the NetBSD specific issue, well, I would rather call that a<br>
Linux-specificity that your code managed to run :-)<br>
<br>
The only problem I have now is the &quot;files exist but readdir do not see<br>
them&quot; thing I have posted about this morning, but this is not a crash<br>
story.<br>
<br>
<br>
--- xlators/performance/io-threads/src/io-threads.c.orig<br>
+++ xlators/performance/io-threads/src/io-threads.c<br>
@@ -2181,8 +2181,20 @@<br>
                         &quot;out of memory&quot;);<br>
                 goto out;<br>
         }<br>
<br>
+       if ((ret = pthread_cond_init(&amp;conf-&gt;cond, NULL)) != 0) {<br>
+                gf_log (this-&gt;name, GF_LOG_ERROR,<br>
+                        &quot;pthread_cond_init failed (%d)&quot;, ret);<br>
+                goto out;<br>
+       }<br>
+<br>
+       if ((ret = pthread_mutex_init(&amp;conf-&gt;mutex, NULL)) != 0) {<br>
+                gf_log (this-&gt;name, GF_LOG_ERROR,<br>
+                        &quot;pthread_mutex_init failed (%d)&quot;, ret);<br>
+                goto out;<br>
+       }<br>
+<br>
         set_stack_size (conf);<br>
<br>
         thread_count = IOT_DEFAULT_THREADS;<br>
<font color="#888888"><br>
<br>
<br>
<br>
--<br>
Emmanuel Dreyfus<br>
<a href="http://hcpnet.free.fr/pubz" target="_blank">http://hcpnet.free.fr/pubz</a><br>
<a href="mailto:manu@netbsd.org">manu@netbsd.org</a><br>
</font></blockquote></div><br></div>