Having problems with getting structure of GstMessage.

Chuck Crisler ccrisler at mutualink.net
Thu Mar 6 08:58:40 PST 2014


My guess is a serious memory corruption issue (which could simply be 1 byte
that is important). You can run your app in some way (I am not sure of the
details) so that it will crash on FATAL errors (I think that it is a
GStreamer DEBUG option). You might be able to modify that for a single
system to include CRITICAL. Then run under gdb to catch the crash and stop.
Then you can poke at memory to try to see what looks 'funny' and maybe
learn where the memory error is. It won't be easy. I don't know how python
will impact this. It could well be that the error is either in python or
your python code (more likely) or the python bindings (also possible).

You could also try making small changes to see if you can isolate the
problem. For example, take out the inserted timestamp and see if the
problem goes away. Or, leave the timstamp in but stop looking for it. Which
you choose depends on which system has trouble. If you can isolate what
action causes the problem then you can inspect the associated code really
closely to try to find anything wrong. Unfortunately, *ALL* software has
bugs. Even what we write. :-)


On Thu, Mar 6, 2014 at 9:15 AM, Marwin Schmitt <M.R.Schmitt at cwi.nl> wrote:

> Hello all.
>
> I'm using GStreamer for a multi-party video-conferencing tool, using
> python and gtk, and lately I'm having occasionally a very weird problem
> with GstMessage - and I was hoping somebody here has an idea where my
> problem lies.
> I am using the videoanalyze package to insert at the sender side a
> timestamp (element videomark) and reading it out at the receiving side
> (element videodetect).
> Now I have a setup with 6 machines which are all streaming to each other
> and for (often) hours this all works very well, but very infrequently I get
> errors when handling the message, which I am not able to trace why they are
> happening or how I can recover from it.
>
> When I have my message I call message.get_structure() and from the
> structure I then get the data the videodetect element has detected. But
> when the error occurs, when calling the get_structure() I get the following
> exception:
>
> ** CRITICAL **: g_function_info_get_symbol: assertion `GI_IS_FUNCTION_INFO
> (info)' failed
>
> GModule-CRITICAL **: g_module_symbol: assertion `symbol_name != NULL'
> failed
>
> After I get this error once, I get it in every message ...
>
> The pipeline than freezes, if I try to then e.g. stop the pipeline and
> start it again, GStreamer crashes...
>
> I couldn't detect anything interesting in the GStreamer output
> (GST_DEBUG=2,videoanalyse:9).
>
> I am using GStreamer 1.2.3 with the python-gi bindings.
> The videoanalyse element was ported by a colleague of mine from 0.10 to
> the 1.0 version (
> http://comments.gmane.org/gmane.comp.video.gstreamer.bugs/105437).
>
> I'm not sure how to investigate this further and how to detect/recover
> from it...
>
> Thank you
> Marwin
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140306/30625193/attachment.html>


More information about the gstreamer-devel mailing list