<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>