<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Dbus fallback sink not updating and blocking further action"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99425#c5">Comment # 5</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Dbus fallback sink not updating and blocking further action"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99425">bug 99425</a>
from <span class="vcard"><a class="email" href="mailto:getzze@gmail.com" title="getzze <getzze@gmail.com>"> <span class="fn">getzze</span></a>
</span></b>
<pre>I compiled pulseaudio with the patch but it is not solving the problem. Now the
pulseaudio dbus disconnects when unplugging the headset. Changing Fallback sink
in pavucontrol brings back the bus.
Error I get from Laine:
<code>
Feb 13 18:06:46 server gnome-shell[1027]: JS ERROR: Gio.IOErrorEnum: The
connection is closed
Device<.setActiveDevice/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:512
Device<._asyncDBusGetProperty/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:490
Feb 13 18:06:46 server org.gnome.Shell.desktop[1027]: read(): Connection reset
by peer
Feb 13 18:06:46 server gnome-shell[1027]: JS ERROR: Gio.IOErrorEnum: The
connection is closed
Device<.setActiveDevice/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:520
Device<._asyncDBusGetProperty/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:490
Feb 13 18:06:46 server org.gnome.Shell.desktop[1027]: No PulseAudio daemon
running, or not running as session daemon.
Feb 13 18:06:46 server gnome-shell[1027]: JS ERROR: Gio.IOErrorEnum: The
connection is closed
Device<._init/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:442
Device<._asyncDBusGetProperty/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:490
Feb 13 18:06:46 server gnome-shell[1027]: JS ERROR: Gio.IOErrorEnum: The
connection is closed
Device<._init/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:455
Device<._asyncDBusGetProperty/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:490
Feb 13 18:06:46 server gnome-shell[1027]: JS ERROR: Gio.IOErrorEnum: The
connection is closed
PortMenu<._forceFallbackDevice/</<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:130
Feb 13 18:06:46 server gnome-shell[1027]: JS ERROR: Gio.IOErrorEnum: The
connection is closed
Device<.setActiveDevice/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:505
Device<._asyncDBusGetProperty/<@/usr/share/gnome-shell/extensions/<a href="mailto:laine@knasher.gmail.com">laine@knasher.gmail.com</a>/portMenu.js:490
</code>
The line from portMenu.js do not correspond to the vanilla Laine, I use a fork.
I also have a python script using the python-dbus module, that I wrote for
debugging. It continuously prints the answer to the signals `FallbackSink` and
`InterfaceRevision`. Typically:
<span class="quote">>>>pulse_properties.Get('org.PulseAudio.Core1', 'FallbackSink', reply_handler=handle_fallback_reply)
>>>pulse_properties.Get('org.PulseAudio.Core1', 'InterfaceRevision', reply_handler=handle_fallback_reply)</span >
When I disconnect the headset I get:
{'sender': None, 'destination': None, 'path':
dbus.ObjectPath('/org/pulseaudio/core1'), 'member': 'FallbackSinkUpdated',
'interface': 'org.PulseAudio.Core1'}
{'sender': None, 'destination': None, 'path':
dbus.ObjectPath('/org/freedesktop/DBus/Local'), 'member': 'Disconnected',
'interface': 'org.freedesktop.DBus.Local'}
Any further call to the bus do not work. And when I restart the python script
again, the bus does not exists. The error I get (only the useful traceback):
<code>
16 else:
17 bus = dbus.SessionBus()
---> 18 server_lookup = bus.get_object("org.PulseAudio1",
"/org/pulseaudio/server_lookup1")
19 address = server_lookup.Get("org.PulseAudio.ServerLookup1",
"Address", dbus_interface="org.freedesktop.DBus.Properties")
20 print('\nPulseaudio dbus address: ', address, '\n')
DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name
org.PulseAudio1 was not provided by any .service files
</code></pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>