[gst-devel] library functions not returning

Thomas Vander Stichele thomas at apestaart.org
Wed Feb 18 10:23:13 CET 2004


On Wed, 2004-02-18 at 18:54, in7y118 at public.uni-hamburg.de wrote:
> Quoting Thomas Vander Stichele <thomas at apestaart.org>:
> 
> > The only other way I can think of to solve the actual issues caused by
> > this behaviour would be "as soon as we find such an error in any of the
> > libraries we use, we disable that plugin from the build."
> > 
> The behaviour other programs tend to use (including those using GStreamer) is 
> to fix the bug upstream and from then on require the fixed version.
> And if that's not possible either ship a broken plugin if it's a minor problem 
> or stop distributing the plugin.

Personally, I don't mind too much not shipping the gdk_pixbuf plugin,
but I'm sure others would like it.  Same goes for cdparanoia.

> 
> > I don't think it makes much sense to discuss theoretical cleanliness of
> > designs in this case.  It makes more sense to say "So it seems the gdk
> > pixbuf loaders can trigger an endless loop when we typefind a gzipped
> > file.  How do we make sure typefinding doesn't block all of GStreamer ?"
> > 
> > Especially if this is an issue any library can throw at us, it makes
> > sense to me to have mechanisms to guard against it.
> > 
> If you start going that route, be aware that everybody is allowed to add 
> plugins to GStreamer. And some of our own plugins wrap plugin systems where 
> everybody is allowed to install new plugins, too. (gdk-pixbuf, LADSPA, gnome-
> vfs, maybe xine or KIOSlaves in the future)
> Which means you need to essentially guard anything against this if you want to 
> be really sure nothing breaks.
Or, we could take a middle road, and just guard against things we have
encountered that have a good chance of breaking.

> On another unrelated note: Shouldn't we - when we already go this way - not 
> also properly guard against SEGV or SIGILL, too?
> Libraries have all sorts of problems, not jsut infinte loops...

Perhaps we should.  I consider them less critical, since these actually
tell you what's going on.  An infinite loop doesn't tell you anything,
which I consider far worse than a segfault.

Anyway, my current concern is more to guard against infinite loops where
they have turned up, and only there.  I'm not sure (yet) we should start
checking all signals everywhere all the time.  Maybe we should if we
understand them better.

Thomas

Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
"Don't worry, Joey, it's unisex."
"Maybe you need sex, I just had some a couple of days ago !"
"No, no, U-N-I-sex !"
"Well, I ain't gonna say no to that !"
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/






More information about the gstreamer-devel mailing list