unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / Atom feed
* bug#43420: icecat causes pulseaudio to crash
@ 2020-09-15 12:16 Nathan Dehnel
  2020-09-16  9:12 ` Mark H Weaver
  0 siblings, 1 reply; 6+ messages in thread
From: Nathan Dehnel @ 2020-09-15 12:16 UTC (permalink / raw)
  To: 43420

So...playing a youtube video in icecat causes pulse to crash. You can
play one video and it works, but it crashes if you open another tab or
page with a video in it. Also skipping around the seekbar causes it to
crash.

bash-5.0$ pulseaudio
W: [pulseaudio] pid.c: Stale PID file, overwriting.
E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed:
org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not
provided by any .service files
E: [pulseaudio] module-stream-restore.c: Assertion
'pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0' failed at
modules/module-stream-restore.c:1406, function subscribe_callback().
Aborting.

Chromium and mpv do not cause pulse to crash.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#43420: icecat causes pulseaudio to crash
  2020-09-15 12:16 bug#43420: icecat causes pulseaudio to crash Nathan Dehnel
@ 2020-09-16  9:12 ` Mark H Weaver
  2020-09-17  8:49   ` Nathan Dehnel
  0 siblings, 1 reply; 6+ messages in thread
From: Mark H Weaver @ 2020-09-16  9:12 UTC (permalink / raw)
  To: Nathan Dehnel, 43420

Nathan Dehnel <ncdehnel@gmail.com> writes:

> So...playing a youtube video in icecat causes pulse to crash. You can
> play one video and it works, but it crashes if you open another tab or
> page with a video in it. Also skipping around the seekbar causes it to
> crash.
>
> bash-5.0$ pulseaudio
> W: [pulseaudio] pid.c: Stale PID file, overwriting.
> E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed:
> org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not
> provided by any .service files
> E: [pulseaudio] module-stream-restore.c: Assertion
> 'pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0' failed at
> modules/module-stream-restore.c:1406, function subscribe_callback().
> Aborting.

Unfortunately, I was unable to reproduce this on my x86_64 Guix system.

Starting with a fresh profile in icecat-68.12.0-guix0-preview1, I tried
watching 'https://www.youtube.com/watch?v=x6U2Un5kEdI', first using the
bundled 'ViewTube' extension (as happens with the default IceCat
configuration), and later with LibreJS and ViewTube disabled to test
Youtube's Javascript player.  I tried opening another video in another
tab while playing the first video, seeking around the file, etc, but
pulseaudio did not crash for me.

Is anyone else able to reproduce this?

Nathan: Would you like to try running "icecat -no-remote -p" and
creating a fresh new profile for testing purposes, and seeing if you can
reproduce the pulseaudio crash while using the new profile?  If not,
maybe try adding back your usual extensions to the test profile and
seeing if that makes a difference?

      Mark




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#43420: icecat causes pulseaudio to crash
  2020-09-16  9:12 ` Mark H Weaver
@ 2020-09-17  8:49   ` Nathan Dehnel
  2020-09-18  5:20     ` Mark H Weaver
  0 siblings, 1 reply; 6+ messages in thread
From: Nathan Dehnel @ 2020-09-17  8:49 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 43420

[-- Attachment #1: Type: text/plain, Size: 2010 bytes --]

Actually, it crashes even if I unload module-jack-source and
module-jack-sink.

Pulseaudio is set to autospawn by default, which is maybe why it seems like
nothing is happening on your computer. Maybe try disabling autospawn and
try running pulse in a shell.

On Wed, Sep 16, 2020 at 4:13 AM Mark H Weaver <mhw@netris.org> wrote:

> Nathan Dehnel <ncdehnel@gmail.com> writes:
>
> > So...playing a youtube video in icecat causes pulse to crash. You can
> > play one video and it works, but it crashes if you open another tab or
> > page with a video in it. Also skipping around the seekbar causes it to
> > crash.
> >
> > bash-5.0$ pulseaudio
> > W: [pulseaudio] pid.c: Stale PID file, overwriting.
> > E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed:
> > org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not
> > provided by any .service files
> > E: [pulseaudio] module-stream-restore.c: Assertion
> > 'pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0' failed at
> > modules/module-stream-restore.c:1406, function subscribe_callback().
> > Aborting.
>
> Unfortunately, I was unable to reproduce this on my x86_64 Guix system.
>
> Starting with a fresh profile in icecat-68.12.0-guix0-preview1, I tried
> watching 'https://www.youtube.com/watch?v=x6U2Un5kEdI', first using the
> bundled 'ViewTube' extension (as happens with the default IceCat
> configuration), and later with LibreJS and ViewTube disabled to test
> Youtube's Javascript player.  I tried opening another video in another
> tab while playing the first video, seeking around the file, etc, but
> pulseaudio did not crash for me.
>
> Is anyone else able to reproduce this?
>
> Nathan: Would you like to try running "icecat -no-remote -p" and
> creating a fresh new profile for testing purposes, and seeing if you can
> reproduce the pulseaudio crash while using the new profile?  If not,
> maybe try adding back your usual extensions to the test profile and
> seeing if that makes a difference?
>
>       Mark
>

[-- Attachment #2: Type: text/html, Size: 2679 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#43420: icecat causes pulseaudio to crash
  2020-09-17  8:49   ` Nathan Dehnel
@ 2020-09-18  5:20     ` Mark H Weaver
  2020-09-18  5:55       ` Nathan Dehnel
  0 siblings, 1 reply; 6+ messages in thread
From: Mark H Weaver @ 2020-09-18  5:20 UTC (permalink / raw)
  To: Nathan Dehnel; +Cc: 43420

Hi Nathan,

Nathan Dehnel <ncdehnel@gmail.com> writes:
> Pulseaudio is set to autospawn by default, which is maybe why it seems like
> nothing is happening on your computer. Maybe try disabling autospawn and
> try running pulse in a shell.

In my previous tests, I ran pulseaudio from a shell, but I did not
disable autospawn.  I've now done a second round of more careful tests.

First, I disabled autospawn, ran pulseaudio from a shell capturing its
output, and made sure it was the only pulseaudio server running.  I then
performed the same tests that I described in my last email, using
icecat-68.12.0-guix0-preview1 with a fresh profile.  I made sure that
only one pulseaudio server was running, and that icecat was really
talking to it.  These tests were done on a Guix system based on commit
098593e61d0e3ddd8b3dc2225301d6020bf9446b (Sep 7) of Guix's master
branch.  I had two videos playing simultaneously, seeked around in the
videos, switched tabs, etc, and my pulseaudio server did not crash.  Its
output was only one line, printed during startup:

--8<---------------cut here---------------start------------->8---
E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not provided by any .service files
--8<---------------cut here---------------end--------------->8---

I'm not hitting the assertion failure that you are:

--8<---------------cut here---------------start------------->8---
E: [pulseaudio] module-stream-restore.c: Assertion 'pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0' failed at modules/module-stream-restore.c:1406, function subscribe_callback().
Aborting.
--8<---------------cut here---------------end--------------->8---

Here's the failing assertion in its context:

  https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/blob/v13.0/src/modules/module-stream-restore.c#L1406

I looked for reports of this assertion failing, and found this:

  https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1267234

In the third comment, someone reported experiencing crashes with the
same assertion failure, and that removing their ~/.pulse fixed the
problem:

  https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1267234/comments/3

That was in 2014.  Since then, it looks like ~/.pulse has been moved,
possibly to ~/.config/pulse.

I also found an earlier report from 2012 of this assertion failing,

  https://bugs.freedesktop.org/show_bug.cgi?id=44522

and the brief summary is that fixing it involved making the code in
module-stream-restore more robust in its handling of upgrades from an
older version of a database.  I'm guessing that this refers to the
database files in ~/.config/pulse, with the older location, still
honored, being ~/.pulse.

So, my next suggestion is to kill pulseaudio, delete (or moving out of
the way) both ~/.pulse and ~/.config/pulse, restart it, and then see if
you can still reproduce the problem.

If you *can* still reproduce it, then it's time to provide much more
detailed information about your system, any relevant customizations or
oddities to your setup, whether you're running Guix on top of another
system and if so which system, 'guix describe' output, the precise
versions (and hashes) of pulseaudio and icecat, and precise instructions
on how to reproduce the problem from a fresh icecat profile.

     Thanks,
       Mark




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#43420: icecat causes pulseaudio to crash
  2020-09-18  5:20     ` Mark H Weaver
@ 2020-09-18  5:55       ` Nathan Dehnel
  2020-09-18 18:09         ` Mark H Weaver
  0 siblings, 1 reply; 6+ messages in thread
From: Nathan Dehnel @ 2020-09-18  5:55 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 43420

[-- Attachment #1: Type: text/plain, Size: 3848 bytes --]

Removing ~/.config/pulse fixed it, I think because it removed a config file
that was loading a couple of modules.

Try this:

1. start JACK1
2. pulseaudio -L module-jack-source -L module-jack-sink
3. open icecat and mess around with the seekbar

On Fri, Sep 18, 2020 at 12:21 AM Mark H Weaver <mhw@netris.org> wrote:

> Hi Nathan,
>
> Nathan Dehnel <ncdehnel@gmail.com> writes:
> > Pulseaudio is set to autospawn by default, which is maybe why it seems
> like
> > nothing is happening on your computer. Maybe try disabling autospawn and
> > try running pulse in a shell.
>
> In my previous tests, I ran pulseaudio from a shell, but I did not
> disable autospawn.  I've now done a second round of more careful tests.
>
> First, I disabled autospawn, ran pulseaudio from a shell capturing its
> output, and made sure it was the only pulseaudio server running.  I then
> performed the same tests that I described in my last email, using
> icecat-68.12.0-guix0-preview1 with a fresh profile.  I made sure that
> only one pulseaudio server was running, and that icecat was really
> talking to it.  These tests were done on a Guix system based on commit
> 098593e61d0e3ddd8b3dc2225301d6020bf9446b (Sep 7) of Guix's master
> branch.  I had two videos playing simultaneously, seeked around in the
> videos, switched tabs, etc, and my pulseaudio server did not crash.  Its
> output was only one line, printed during startup:
>
> --8<---------------cut here---------------start------------->8---
> E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed:
> org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not
> provided by any .service files
> --8<---------------cut here---------------end--------------->8---
>
> I'm not hitting the assertion failure that you are:
>
> --8<---------------cut here---------------start------------->8---
> E: [pulseaudio] module-stream-restore.c: Assertion
> 'pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0' failed at
> modules/module-stream-restore.c:1406, function subscribe_callback().
> Aborting.
> --8<---------------cut here---------------end--------------->8---
>
> Here's the failing assertion in its context:
>
>
> https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/blob/v13.0/src/modules/module-stream-restore.c#L1406
>
> I looked for reports of this assertion failing, and found this:
>
>   https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1267234
>
> In the third comment, someone reported experiencing crashes with the
> same assertion failure, and that removing their ~/.pulse fixed the
> problem:
>
>
> https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1267234/comments/3
>
> That was in 2014.  Since then, it looks like ~/.pulse has been moved,
> possibly to ~/.config/pulse.
>
> I also found an earlier report from 2012 of this assertion failing,
>
>   https://bugs.freedesktop.org/show_bug.cgi?id=44522
>
> and the brief summary is that fixing it involved making the code in
> module-stream-restore more robust in its handling of upgrades from an
> older version of a database.  I'm guessing that this refers to the
> database files in ~/.config/pulse, with the older location, still
> honored, being ~/.pulse.
>
> So, my next suggestion is to kill pulseaudio, delete (or moving out of
> the way) both ~/.pulse and ~/.config/pulse, restart it, and then see if
> you can still reproduce the problem.
>
> If you *can* still reproduce it, then it's time to provide much more
> detailed information about your system, any relevant customizations or
> oddities to your setup, whether you're running Guix on top of another
> system and if so which system, 'guix describe' output, the precise
> versions (and hashes) of pulseaudio and icecat, and precise instructions
> on how to reproduce the problem from a fresh icecat profile.
>
>      Thanks,
>        Mark
>

[-- Attachment #2: Type: text/html, Size: 5086 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#43420: icecat causes pulseaudio to crash
  2020-09-18  5:55       ` Nathan Dehnel
@ 2020-09-18 18:09         ` Mark H Weaver
  0 siblings, 0 replies; 6+ messages in thread
From: Mark H Weaver @ 2020-09-18 18:09 UTC (permalink / raw)
  To: Nathan Dehnel; +Cc: 43420

Hi Nathan,

Nathan Dehnel <ncdehnel@gmail.com> writes:
> Removing ~/.config/pulse fixed it,

That's good!

> I think because it removed a config file that was loading a couple of
> modules.

Can you verify that hypothesis by adding back the config file(s),
without any database files, restarting pulseaudio and trying again?  If
it crashes, please show us the exact contents of the config file(s) and
the pulseaudio output.

My hypothesis is that it was the database files in ~/.config/pulse/ that
caused the crash, in which case adding config files should not matter.

> Try this:
>
> 1. start JACK1
> 2. pulseaudio -L module-jack-source -L module-jack-sink
> 3. open icecat and mess around with the seekbar

How about you try it first?  Until my hypothesis is disproven, I would
prefer not to spend more time on this.

     Thanks,
       Mark




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-09-18 18:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-15 12:16 bug#43420: icecat causes pulseaudio to crash Nathan Dehnel
2020-09-16  9:12 ` Mark H Weaver
2020-09-17  8:49   ` Nathan Dehnel
2020-09-18  5:20     ` Mark H Weaver
2020-09-18  5:55       ` Nathan Dehnel
2020-09-18 18:09         ` Mark H Weaver

unofficial mirror of bug-guix@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-bugs/0 guix-bugs/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-bugs guix-bugs/ https://yhetil.org/guix-bugs \
		bug-guix@gnu.org
	public-inbox-index guix-bugs

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.bugs
	nntp://news.gmane.io/gmane.comp.gnu.guix.bugs


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git