Compile with gcc -g to get the debug info ( this will give you line numbers in gdb)<br><br>and valgrind is another program, not a gdb command :)<br><br><br><br><div class="gmail_quote">On Wed, May 6, 2009 at 11:09 PM, Guilherme <span dir="ltr">&lt;<a href="mailto:grlongo.ireland@gmail.com">grlongo.ireland@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Antoine, I have the whole profile of the problem now.<br>
Plz, if you could give me a help with that.<br>
<div class="im"><br>
(gdb) run<br>
Starting program: /home/guilherme/EBA<br>
[Thread debugging using libthread_db enabled]<br>
</div>[New Thread 0xb7ad09b0 (LWP 3585)]<br>
<div class="im"><br>
Program received signal SIGSEGV, Segmentation fault.<br>
</div>[Switching to Thread 0xb7ad09b0 (LWP 3585)]<br>
0xb7e9e582 in g_type_check_instance_cast () from<br>
/usr/lib/libgobject-2.0.so.0<br>
(gdb) backtrace<br>
#0  0xb7e9e582 in g_type_check_instance_cast () from<br>
/usr/lib/libgobject-2.0.so.0<br>
#1  0x08048a5b in main ()<br>
(gdb) valgrind<br>
Undefined command: &quot;valgrind&quot;.  Try &quot;help&quot;.<br>
(gdb) bt<br>
#0  0xb7e9e582 in g_type_check_instance_cast () from<br>
/usr/lib/libgobject-2.0.so.0<br>
#1  0x08048a5b in main ()<br>
(gdb)<br>
<br>
<br>
And my code:<br>
<div class="im"><br>
#include&lt;gst/gst.h&gt;<br>
#include&lt;glib.h&gt;<br>
#include&lt;gst/fft/gstffts16.h&gt;<br>
<br>
static gboolean bus_call(GstBus *bus, GstMessage *msg, gpointer data);<br>
<br>
int main(int argc, char *argv[])<br>
{<br>
    GMainLoop *loop;<br>
<br>
    GstElement *pipeline, *source, *filesink;<br>
    GstBus *bus;<br>
</div>    GstFFTS16 *fft;<br>
<br>
      gint16 td;<br>
    gint16 *timedata = &amp;td;<br>
<br>
    gint16 bufferin;<br>
    gint16 *in = &amp;bufferin;<br>
<br>
    GstFFTS16Complex fq;<br>
    GstFFTS16Complex *freq = &amp;fq;<br>
<br>
<br>
    /*const gint16 *in;*/<br>
<div class="im">    /*GstFFTS16Complex *freq;*/<br>
<br>
<br>
    gst_init(&amp;argc, &amp;argv);<br>
<br>
    loop = g_main_loop_new (NULL, FALSE);<br>
<br>
    /*creating elements*/<br>
    pipeline      = gst_pipeline_new          (&quot;audio-player&quot;);<br>
    source        = gst_element_factory_make  (&quot;audiotestsrc&quot;,<br>
&quot;file-source&quot;);<br>
</div><div class="im">    fft           = gst_fft_s16_new           (128, FALSE);<br>
    filesink      = gst_element_factory_make  (&quot;alsasink&quot;,<br>
&quot;audio-output&quot;);<br>
<br>
<br>
<br>
</div>    if (!pipeline || !source || !fft || !filesink) {<br>
<div class="im">        g_printerr (&quot;One element could not be created. Exiting.\n&quot;);<br>
        return -1;<br>
    }<br>
<br>
    /*set-up the pipeline*/<br>
<br>
</div>    /*set up fft transform*/<br>
    /*gst_fft_s16_window(fft, timedata, GST_FFT_WINDOW_RECTANGULAR);*/<br>
<div class="im">    gst_fft_s16_fft (fft, in, freq);<br>
<br>
<br>
    /*message handler*/<br>
    bus =  gst_pipeline_get_bus (GST_PIPELINE (pipeline));<br>
    gst_bus_add_watch (bus, bus_call, loop);<br>
    gst_object_unref (bus);<br>
<br>
    /*colocar todos elementos na pipeline*/<br>
    gst_bin_add_many (GST_BIN (pipeline), source, filesink, NULL);<br>
<br>
    /*Linkar elementos*/<br>
    /*Cria o link entre os pads dos elementos*/<br>
    gst_element_link_many (source, filesink, NULL);<br>
<br>
<br>
    /* set pipeline playing status */<br>
    gst_element_set_state (pipeline, GST_STATE_PLAYING);<br>
    g_print (&quot;Running...\n&quot;);<br>
<br>
    /*iterate*/<br>
    g_main_loop_run (loop);<br>
    g_print (&quot;Recording\n&quot;);<br>
<br>
    /* Out of the main loop, clean up nicely */<br>
   g_print (&quot;Returned, stopping playback\n&quot;);<br>
   gst_element_set_state (pipeline, GST_STATE_NULL);<br>
<br>
   g_print (&quot;Deleting pipeline\n&quot;);<br>
   gst_object_unref (GST_OBJECT (pipeline));<br>
<br>
  return 0;<br>
}<br>
<br>
static gboolean bus_call(GstBus *bus, GstMessage *msg, gpointer data) {<br>
<br>
    return TRUE;<br>
}<br>
<br>
<br>
<br>
<br>
<br>
</div>Can&#39;t really figure out what is gong on!<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
Tks!<br>
<br>
-------------------<br>
<br>
Guilherme Longo<br>
Dept. Eng. da Computação<br>
Unaerp<br>
<br>
Linux User - #484927<br>
<br>
*Before Asking<br>
<a href="http://www.istf.com.br/?page=perguntas" target="_blank">http://www.istf.com.br/?page=perguntas</a><br>
<br>
!- I&#39;d rather die on my feet than live on my knees -!<br>
<div class="im"><br>
<br>
<br>
Antoine Tremblay wrote:<br>
&gt; Did you try a backtrace ?<br>
&gt;<br>
&gt; Type bt &lt;enter&gt; in gdb ..<br>
&gt;<br>
&gt; It will show you the backtrace of the sigsegv and thus the line that<br>
&gt; failed...<br>
&gt;<br>
&gt; If not you can always try valgrind ...<br>
&gt;<br>
&gt;<br>
&gt; On Wed, May 6, 2009 at 7:59 PM, Guilherme &lt;<a href="mailto:grlongo.ireland@gmail.com">grlongo.ireland@gmail.com</a><br>
</div><div><div></div><div class="h5">&gt; &lt;mailto:<a href="mailto:grlongo.ireland@gmail.com">grlongo.ireland@gmail.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Hi all.<br>
&gt;<br>
&gt;     I finished building my code and it&#39;s compiled without any error, but<br>
&gt;     when I run it I get the beautiful segmentation fault.<br>
&gt;<br>
&gt;     No good.<br>
&gt;<br>
&gt;     Running gdb I can&#39;t get the line of the problem, instead I have this:<br>
&gt;<br>
&gt;     (gdb) run<br>
&gt;     Starting program: /home/guilherme/EBA<br>
&gt;     [Thread debugging using libthread_db enabled]<br>
&gt;     [New Thread 0xb7a479b0 (LWP 5565)]<br>
&gt;<br>
&gt;     Program received signal SIGSEGV, Segmentation fault.<br>
&gt;     [Switching to Thread 0xb7a479b0 (LWP 5565)]<br>
&gt;     0xb7bf2234 in ?? () from /usr/lib/libgstfft-0.10.so.0<br>
&gt;<br>
&gt;     Is this a normal debug or I&#39;m doing smth wrong?<br>
&gt;     It seen a problem with my fft implementation. That is the code:<br>
&gt;<br>
&gt;<br>
&gt;              #include&lt;gst/gst.h&gt;<br>
&gt;<br>
&gt;<br>
&gt;              #include&lt;glib.h&gt;<br>
&gt;<br>
&gt;<br>
&gt;              #include&lt;gst/fft/gstffts16.h&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;              static gboolean bus_call(GstBus *bus, GstMessage *msg,<br>
&gt;              gpointer data);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;              int main(int argc, char *argv[])<br>
&gt;<br>
&gt;<br>
&gt;              {<br>
&gt;<br>
&gt;<br>
&gt;                  GMainLoop *loop;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  GstElement *pipeline, *source, *filesink;<br>
&gt;<br>
&gt;<br>
&gt;                  GstBus *bus;<br>
&gt;<br>
&gt;<br>
&gt;                  GstBuffer *buffer;<br>
&gt;<br>
&gt;<br>
&gt;                  GstFFTS16 *fft;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  const gint16 *in;<br>
&gt;<br>
&gt;<br>
&gt;                  GstFFTS16Complex *freq;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  gst_init(&amp;argc, &amp;argv);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  loop = g_main_loop_new (NULL, FALSE);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*creating elements*/<br>
&gt;<br>
&gt;<br>
&gt;                  pipeline      = gst_pipeline_new<br>
&gt;      (&quot;audio-player&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                  source        = gst_element_factory_make<br>
&gt;      (&quot;audiotestsrc&quot;,<br>
&gt;              &quot;file-source&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                  filesink      = gst_element_factory_make  (&quot;alsasink&quot;,<br>
&gt;              &quot;audio-output&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                  fft           = gst_fft_s16_new           (128, FALSE);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  if (!pipeline || !source || !filesink) {<br>
&gt;<br>
&gt;<br>
&gt;                      g_printerr (&quot;One element could not be created.<br>
&gt;              Exiting.\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                      return -1;<br>
&gt;<br>
&gt;<br>
&gt;                  }<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*set-up the pipeline*/<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*create and set up buffer*/<br>
&gt;<br>
&gt;<br>
&gt;                  g_print (&quot;\n\nCreating Buffer\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                  buffer = gst_buffer_new();<br>
&gt;<br>
&gt;<br>
&gt;                  if(!buffer)<br>
&gt;<br>
&gt;<br>
&gt;                      g_printerr (&quot;buffer could not be created\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                  else<br>
&gt;<br>
&gt;<br>
&gt;                      g_print (&quot;Buffer Created\n\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*set up fft transform*/<br>
&gt;<br>
&gt;<br>
&gt;                  gst_fft_s16_fft (fft, in, freq);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*message handler*/<br>
&gt;<br>
&gt;<br>
&gt;                  bus =  gst_pipeline_get_bus (GST_PIPELINE (pipeline));<br>
&gt;<br>
&gt;<br>
&gt;                  gst_bus_add_watch (bus, bus_call, loop);<br>
&gt;<br>
&gt;<br>
&gt;                  gst_object_unref (bus);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*colocar todos elementos na pipeline*/<br>
&gt;<br>
&gt;<br>
&gt;                  gst_bin_add_many (GST_BIN (pipeline), source,<br>
&gt;     filesink, NULL);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*Linkar elementos*/<br>
&gt;<br>
&gt;<br>
&gt;                  /*Cria o link entre os pads dos elementos*/<br>
&gt;<br>
&gt;<br>
&gt;                  gst_element_link_many (source, filesink, NULL);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /* set pipeline playing status */<br>
&gt;<br>
&gt;<br>
&gt;                  gst_element_set_state (pipeline, GST_STATE_PLAYING);<br>
&gt;<br>
&gt;<br>
&gt;                  g_print (&quot;Running...\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /*iterate*/<br>
&gt;<br>
&gt;<br>
&gt;                  g_main_loop_run (loop);<br>
&gt;<br>
&gt;<br>
&gt;                  g_print (&quot;Recording\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  /* Out of the main loop, clean up nicely */<br>
&gt;<br>
&gt;<br>
&gt;                 g_print (&quot;Returned, stopping playback\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                 gst_element_set_state (pipeline, GST_STATE_NULL);<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                 g_print (&quot;Deleting pipeline\n&quot;);<br>
&gt;<br>
&gt;<br>
&gt;                 gst_object_unref (GST_OBJECT (pipeline));<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                return 0;<br>
&gt;<br>
&gt;<br>
&gt;              }<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;              static gboolean bus_call(GstBus *bus, GstMessage *msg,<br>
&gt;              gpointer data) {<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;                  return TRUE;<br>
&gt;<br>
&gt;<br>
&gt;              }<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;     ------------------------------------------------------------------------------<br>
&gt;     The NEW KODAK i700 Series Scanners deliver under ANY<br>
&gt;     circumstances! Your<br>
&gt;     production scanning environment may not be a perfect world - but<br>
&gt;     thanks to<br>
&gt;     Kodak, there&#39;s a perfect scanner to get the job done! With the NEW<br>
&gt;     KODAK i700<br>
&gt;     Series Scanner you&#39;ll get full speed at 300 dpi even with all image<br>
&gt;     processing features enabled. <a href="http://p.sf.net/sfu/kodak-com" target="_blank">http://p.sf.net/sfu/kodak-com</a><br>
&gt;     _______________________________________________<br>
&gt;     gstreamer-devel mailing list<br>
&gt;     <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
</div></div>&gt;     &lt;mailto:<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>&gt;<br>
<div class="im">&gt;     <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt;<br>
&gt;<br>
</div>&gt; ------------------------------------------------------------------------<br>
<div><div></div><div class="h5">&gt;<br>
&gt; ------------------------------------------------------------------------------<br>
&gt; The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your<br>
&gt; production scanning environment may not be a perfect world - but thanks to<br>
&gt; Kodak, there&#39;s a perfect scanner to get the job done! With the NEW KODAK i700<br>
&gt; Series Scanner you&#39;ll get full speed at 300 dpi even with all image<br>
&gt; processing features enabled. <a href="http://p.sf.net/sfu/kodak-com" target="_blank">http://p.sf.net/sfu/kodak-com</a><br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; gstreamer-devel mailing list<br>
&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
&gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
&gt;<br>
<br>
------------------------------------------------------------------------------<br>
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your<br>
production scanning environment may not be a perfect world - but thanks to<br>
Kodak, there&#39;s a perfect scanner to get the job done! With the NEW KODAK i700<br>
Series Scanner you&#39;ll get full speed at 300 dpi even with all image<br>
processing features enabled. <a href="http://p.sf.net/sfu/kodak-com" target="_blank">http://p.sf.net/sfu/kodak-com</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br>