<div dir="ltr"><div>I have pushed two changes to the clock activity repo</div><div>and send a pr to sugar-toolkit-gtk3 [1]</div><div class="gmail_extra"><br></div><div class="gmail_extra">The pr avoid checking if the espeak plugin is installed every time</div><div class="gmail_extra">the enabled() function is called. I suppose that could remove the scanning.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I couldn't reproduce the crash here, testing in sugar-build on F21,</div><div class="gmail_extra">in a xo-1 with 13.2.4 and in a vm with ubuntu.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Gonzalo</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">[1] <a href="https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/215">https://github.com/sugarlabs/sugar-toolkit-gtk3/pull/215</a></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 12, 2015 at 7:21 PM, James Cameron <span dir="ltr"><<a href="mailto:quozl@laptop.org" target="_blank">quozl@laptop.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>On Tue, May 12, 2015 at 06:22:42PM -0300, Gonzalo Odiard wrote:<br>
> I think I found the problem. <br>
> Could you confirm replacing the attached file in the activity dir?<br>
<br>
</span>Thanks, that's much better.  The warning about rate and the delay<br>
before speaking have been fixed.<br>
<br>
Rarely, about one in 10 times, it doesn't speak, and reports in log<br>
<br>
(sugar-activity:2492): GStreamer-CRITICAL **: gst_memory_new_wrapped: assertion `offset + size <= maxsize' failed<br>
<br>
(sugar-activity:2492): GStreamer-CRITICAL **: gst_buffer_insert_memory: assertion `mem != NULL' failed<br>
<br>
Rarely, about one in 5 times, it does segmentation fault.  I've<br>
captured two core dumps by adding "ulimit -c unlimited" to<br>
~/.sugar/debug.  Both showed similar stack traces; a thread busy doing<br>
an fts_open and fts_sort at the same time as the main thread doing<br>
something else.<br>
<br>
<a href="http://dev.laptop.org/~quozl/z/1YsIKF.txt" target="_blank">http://dev.laptop.org/~quozl/z/1YsIKF.txt</a><br>
<br>
Speculation: the Gst.init() in src/sugar3/speech.py creates a thread<br>
which is racing with something in the main thread.  fts_open and<br>
fts_sort are necessary calls for scanning plugins.<br>
<br>
Sometimes the race condition corrupts pointers and we get the silence<br>
with GStreamer-CRITICAL messages.  Sometimes the corruption causes a<br>
segmentation fault.<br>
<br>
Perhaps _GstSpeechPlayer should wait for good Gst.State before the<br>
next call into Gst?<br>
<br>
I remember recent work on GStreamer plugin scan initialisation in<br>
Sugar, but I can't find it yet.<br>
<div><div><br>
--<br>
James Cameron<br>
<a href="http://quozl.linux.org.au/" target="_blank">http://quozl.linux.org.au/</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Gonzalo Odiard<br><br><div>SugarLabs - Software for children learning <br></div></div></div>
</div></div>