[gst-devel] Possible gstreamer errors: volume, dispose, loop detected - oh my!

Stefan Kost ensonic at hora-obscura.de
Sat Sep 13 21:49:04 CEST 2008


hi,

Ryan Kelln schrieb:
> Hi Gstreamer devs,
> (sorry to mods, I tried posting this without subscribing first, you can
> delete/disapprove the post waiting for approval)
> 
> I'm using gstreamer through gstreamer-java inside of processing. I'm
> getting some odd errors and warnings and eventually a crash (perhaps a
> null pointer). I'm hoping you might have a bit of insight or guidance
> for how to avoid these problems or what I could do to fix them. Thanks.
> 
> Environment:
> Ubuntu 8.04
> gstreamer-team ppa  (https://edge.launchpad.net/~gstreamer-team/+archive)
> Sun Java 1.06_07
> Processing 148
> gstreamer-java 0.8
> 
> The errors happen in a variety of orders, here is an example of each:
> 
> ** (GSVideo:9501): CRITICAL **: volume_transform_ip: assertion
> `this->process != NULL' failed

This means that the volume element is not configured. I use volume a lot and 
have never seen it. Could it be that the java bindungs handling something 
different here.

> 
> (GSVideo:9501): GStreamer-CRITICAL **:
> Trying to dispose element test, but it is not in the NULL state.
> You need to explicitly set elements to the NULL state before
> dropping the final reference, to allow them to clean up.
 >
Do you set your pipeline to NULL state before releasing it. Dunnon how much this 
is abstracted by java-bindings again.

> 
> (GSVideo:9501): GStreamer-WARNING **: loop detected in the graph of bin
> GStreamer Audio Data Extractor: mysoundfile.wav!!

No idea where this comes from.

> 
> Then eventually Java will crash with a SIGSEGV fault in a native thread
> which I'm assuming is gstreamer. Looks like it is accessing a null pointer.
> 
> 
> Description of what I'm doing:
> Custom software that is playing back multiple audio files at once. It
> loads approx. 11 sound files (all wavs or aif errors and crash remain
> the same) and starts and stops the files quite often. It also checks the
> current volume and changes the volume each update (i.e. constantly
> adjusting the volume). In addition I'm using the audiopanorama plug-in
> to do constant panning.
> 
> Occasionally I will get the "loop detected" warning on one or two of the
> sound files, but which sound file it is seems to change and it doesn't
> happen every run. The error appears to occur when the sound is first
> played, not when the object is created. The program continues to
> function after receiving this warning although the sound file doesn't play.
> 
> I get the "volume_transform_ip" error quite often (every 5 minutes?) but
> the program doesn't immediately crash.
> 
> I get the "dispose element test" error only on a multi-core processor
> (AMD Phenom) but not on an equivalent machine with just a single core.
> Again, this doesn't cause an immediate crash. As far as I know I'm not
> make any elements named "test", and I'm not disposing of anything until
> the program ends but I am starting and stopping the audio streams.
> 
> Things I've tried:
> I've grepped the source for these and found the loop detected error in
> gstbin.c (gst_bin_sort_iterator_next() )and the "dispose element not
> NULL" in gstelement.c (gst_element_dispose() ) but I can't locate the
> "volume_transform_ip" error.
> 
> I've tired running the program with sounds disabled and it runs without
> errors or crashes (for hours). If I only update the volumes of the
> sounds every other update (or every 5, etc) it seems to help, although
> its hard to tell if the errors occur that much slower or even more
> infrequently. If I don't adjust the volume at all it seems to run fine
> (survived 10+ mins without errors, still running tests).
> 
> Some possible problem areas:
> When is it safe to set and check the volume (especially in regards to
> starting and stopping sounds)? Is it safe to set and check the volume in
> the same update... multiple times?
 >
I don't think the volume element causes these issues. Its safe to set this 
property at any time. Can you explain how you check for the volume? Are you 
checking the actual data or are you using the level element.

> 
> I'm not sure if the errors are in gstreamer or just my use of it? I've
> got to deliver this project really soon so workarounds might be the best
> option if the error is gstreamers. If you're sure that gstreamer is at
> fault I'd love some tips on how to provide more info (I'm not sure how
> I'd debug gstreamer through all these other layers) and write up a bug
> report.

Try to get hold of the java binding maintainers. I suspect the issues there.

Stefan

> 
> Thanks very much,
> Ryan
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel





More information about the gstreamer-devel mailing list