Comment # 12 on bug 1221150 from Nik Kai
(In reply to Antonio Larrosa from comment #10)
> (In reply to Nik Kai from comment #5)
> > Hey Antonio, thanks for the speedy responses (and Takashi for pinging)!
> > About the two commands, I will absolutely run them for you when I get home,
> > but until then (couple hours), could you please tell me what I'm actually
> > doing by running them? I'm always bit hesitant to copy/paste commands that I
> > don't know from somewhere :) Doesn't mean that I don't trust you, I just
> > would like to know what I'm doing. I googled the "registry.x86_64.bin" file,
> > I assume it .. registers .. things? In this case the plugin? And gst-inspect
> > checks its status?
> > 
> 
> Hi, you're right I should have explained it a bit better, sorry about that.
> From what I debugged last Friday it seems the problem is caused by two
> different issues. First, the scanning of available plugins is failing with a
> segmentation fault while loading the libgstva.so plugin. And second,
> gstreamer is failing to find the gst-plugin-scanner-x86_64 helper binary.
> 
> When pulseaudio starts, it tries to find the helper binary to do the plugin
> scan, and since it can't find it, it does the scanning in the own pulseaudio
> process. So when it tries to load the libgstva plugin the segfaults makes
> pulseaudio crash leaving the desktop without audio.
> 
> I've just submitted https://build.opensuse.org/request/show/1156870 which
> fixes the second issue. By making it find the helper binary, pulseaudio (and
> any other app using gstreamer) doesn't do the plugin scanning itself, but
> leaves that task to the gst-plugin-scanner-x86_64 helper binary, and when it
> crashes, it doesn't make pulseaudio crash, keeping it running and providing
> audio for the desktop.
> 
> Once the cache file in ~/.cache/gstreamer-1.0/registry.x86_64.bin is
> regenerated, plugins aren't rescanned again (at least, for a time). It seems
> when pulseaudio crashed doing it, the cache file wasn't written but when
> gst-plugin-scanner-x86_64 crashes, it does write it anyway. So after
> removing it, if you run pulseaudio manually, you'll still see a crash on
> your terminal (from gst-plugin-scanner-x86_64) but pulseaudio will keep
> running and if you stop and run it again, you won't see the segfault anymore
> (until the cache needs to be regenerated).
> 
> The commands I asked you to run (rm
> ~/.cache/gstreamer-1.0/registry.x86_64.bin ; gst-inspect-1.0 foo) was trying
> to do this "manually" by first removing the cache file and then running
> "gst-inspect-1.0 foo" which fails (there's no foo plugin) but regenerates
> the cache file manually, so the next time you run pulseaudio, it should run
> fine. At least in my tests, but I see that it didn't work for you.
> 
> In any case, https://build.opensuse.org/request/show/1156870 is a first step
> to fix this by at least reducing the most severe effects of the gstva
> segfault but the segfault itself still needs to be addressed.

Thanks so much for your detailed explanation and effort!
As said, I will just leave the package uninstalled for now and check back on
its status later.


You are receiving this mail because: