Bug 1259708 - DACP browsing not started
DACP browsing not started
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: rhythmbox (Show other bugs)
7.2
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Bastien Nocera
Desktop QE
:
Depends On:
Blocks: 1297830 1313485
  Show dependency treegraph
 
Reported: 2015-09-03 08:09 EDT by Tomas Pelka
Modified: 2017-08-01 06:03 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1465037 (view as bug list)
Environment:
DISTRO=RHEL-7.3-20160621.n.0
Last Closed: 2017-08-01 06:03:48 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
rhythmbox (36.78 KB, text/plain)
2016-06-28 05:54 EDT, Tomas Pelka
no flags Details
rhythmbox bt (907.16 KB, text/plain)
2016-06-30 09:58 EDT, Tomas Pelka
no flags Details
rhythmbox bt (1.02 MB, text/plain)
2016-07-01 02:49 EDT, Tomas Pelka
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Desktop 767466 None None None 2016-06-09 13:13 EDT

  None (edit)
Description Tomas Pelka 2015-09-03 08:09:47 EDT
Description of problem:
Can't start DACP browsing

Version-Release number of selected component (if applicable):
libdmapsharing-2.9.30-1.el7
rhythmbox-2.99.1-4.el7

How reproducible:
100%

Steps to Reproduce:
1. run rhythmbox
2. try to enable DAAP Music Sharing 
3.

Actual results:
(rhythmbox:6895): libsoup-CRITICAL **: soup_server_quit: assertion 'priv->listeners != NULL' failed
sys:1: Warning: object SoupServer 0x1a0d120 finalized while still in-construction

(rhythmbox:6895): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:6895): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:6895): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:6895): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:6895): libdmapsharing-WARNING **: DACP browsing not started

(rhythmbox:6895): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:6895): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:6895): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:6895): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:6895): libdmapsharing-WARNING **: DACP browsing not started


Expected results:
no asserts

Additional info:
Comment 1 Bastien Nocera 2015-09-03 12:12:12 EDT
(In reply to Tomas Pelka from comment #0)
<snip>
> Expected results:
> no asserts

There aren't any assertions in the logs you attached, and as rhythmbox didn't get updated for RHEL 7.2, this will be 7.3 material.
Comment 3 Bastien Nocera 2016-04-12 11:43:10 EDT
Rhythmbox was rebased in bug 1298233. Can you please retest with the new build to see whether this fixes your problem?
Comment 5 Jiri Prajzner 2016-04-13 07:38:44 EDT
It looks like there's another error instead of the original one:
(rhythmbox:20860): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_toggle_button_get_active: assertion 'GTK_IS_TOGGLE_BUTTON (toggle_button)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:20860): libsoup-CRITICAL **: soup_server_quit: assertion 'priv->listeners != NULL' failed

(rhythmbox:20860): GLib-GObject-CRITICAL **: object SoupServer 0x339c140 finalized while still in-construction

(rhythmbox:20860): GLib-GObject-CRITICAL **: Custom constructor for class SoupServer returned NULL (which is invalid). Please use GInitable instead.

(rhythmbox:20860): libsoup-CRITICAL **: soup_server_quit: assertion 'priv->listeners != NULL' failed

(rhythmbox:20860): GLib-GObject-CRITICAL **: object SoupServer 0x339c280 finalized while still in-construction

(rhythmbox:20860): GLib-GObject-CRITICAL **: Custom constructor for class SoupServer returned NULL (which is invalid). Please use GInitable instead.

Steps to Reproduce:
1. run rhythmbox
2. enable DAAP Music Sharing plugin if not enabled 
3. Plugins > DAAP Music Sharing > Preferences > Share my music
Comment 6 Jiri Prajzner 2016-04-13 07:49:35 EDT
The original critical message appeared too:
(rhythmbox:20860): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_toggle_button_get_active: assertion 'GTK_IS_TOGGLE_BUTTON (toggle_button)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:20860): Gtk-CRITICAL **: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed

(rhythmbox:20860): libdmapsharing-WARNING **: DACP browsing not started

(rhythmbox:20860): Gtk-CRITICAL **: gtk_builder_get_object: assertion 'GTK_IS_BUILDER (builder)' failed
Comment 7 Bastien Nocera 2016-06-09 13:13:11 EDT
A number of those warnings should be fixed in libdmapsharing-2.9.30-1.el7 (see bug 1221283).

The other would be:
https://bugzilla.gnome.org/show_bug.cgi?id=767466
Comment 8 Bastien Nocera 2016-06-10 04:18:45 EDT
Built in rhythmbox-3.3.1-4.el7
Comment 10 Bastien Nocera 2016-06-13 09:13:18 EDT
Correcting the component, should be rhythmbox not libdmapsharing.
Comment 12 Jiri Prajzner 2016-06-27 06:38:59 EDT
The bug is still present:
[test@qe-dell-ovs5-vm-32 ~]$ rhythmbox

(rhythmbox:22509): libsoup-CRITICAL **: soup_server_quit: assertion 'priv->listeners != NULL' failed

(rhythmbox:22509): GLib-GObject-CRITICAL **: object SoupServer 0x2239320 finalized while still in-construction

(rhythmbox:22509): GLib-GObject-CRITICAL **: Custom constructor for class SoupServer returned NULL (which is invalid). Please use GInitable instead.

(rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to Playlist


(rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to Playlist


(rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to Playlist


(rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to Playlist


(rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to Playlist


(rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to Playlist


(rhythmbox:22509): libdmapsharing-WARNING **: DACP browsing not started

(rhythmbox:22509): libdmapsharing-WARNING **: DACP browsing not started

(rhythmbox:22509): libdmapsharing-WARNING **: DACP browsing not started

(rhythmbox:22509): libdmapsharing-WARNING **: DACP browsing not started
=======================================================================
[test@qe-dell-ovs5-vm-32 ~]$ yum info rhythmbox
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
Installed Packages
Name        : rhythmbox
Arch        : x86_64
Version     : 3.3.1
Release     : 4.el7
Size        : 14 M
Repo        : installed
Summary     : Music Management Application
URL         : http://projects.gnome.org/rhythmbox/
License     : GPLv2+ with exceptions and GFDL
Description : Rhythmbox is an integrated music management application based on the powerful
            : GStreamer media framework. It has a number of features, including an easy to
            : use music browser, searching and sorting, comprehensive audio format support
            : through GStreamer, Internet Radio support, playlists and more.
            : 
            : Rhythmbox is extensible through a plugin system.
==============================================================
[test@qe-dell-ovs5-vm-32 ~]$ yum info libdmapsharing
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
beaker-harness                                                                                          193/193
beaker-tasks                                                                                        21502/21502
Installed Packages
Name        : libdmapsharing
Arch        : x86_64
Version     : 2.9.30
Release     : 1.el7
Size        : 329 k
Repo        : installed
From repo   : beaker-Workstation
Summary     : A DMAP client and server library
URL         : http://www.flyn.org/projects/libdmapsharing/
License     : LGPLv2+
Description : libdmapsharing implements the DMAP protocols. This includes support for
            : DAAP and DPAP.
============================
Comment 13 Bastien Nocera 2016-06-28 04:15:14 EDT
(In reply to Jiri Prajzner from comment #12)
> The bug is still present:
> [test@qe-dell-ovs5-vm-32 ~]$ rhythmbox
> 
> (rhythmbox:22509): libsoup-CRITICAL **: soup_server_quit: assertion
> 'priv->listeners != NULL' failed
> 
> (rhythmbox:22509): GLib-GObject-CRITICAL **: object SoupServer 0x2239320
> finalized while still in-construction
> 
> (rhythmbox:22509): GLib-GObject-CRITICAL **: Custom constructor for class
> SoupServer returned NULL (which is invalid). Please use GInitable instead.

I need backtraces of those warnings.

> (rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to
> Playlist
<snip>

This is a GTK+ bug not a rhythmbox one.

> (rhythmbox:22509): libdmapsharing-WARNING **: DACP browsing not started

Need a backtrace as well.
Comment 14 Tomas Pelka 2016-06-28 05:54 EDT
Created attachment 1173359 [details]
rhythmbox

All I can get, otherwise advice how to get better one.
Comment 15 Matthias Clasen 2016-06-29 14:11:36 EDT
(In reply to Bastien Nocera from comment #13)
> (In reply to Jiri Prajzner from comment #12)
> > The bug is still present:
> > [test@qe-dell-ovs5-vm-32 ~]$ rhythmbox
> > 
> > (rhythmbox:22509): libsoup-CRITICAL **: soup_server_quit: assertion
> > 'priv->listeners != NULL' failed
> > 
> > (rhythmbox:22509): GLib-GObject-CRITICAL **: object SoupServer 0x2239320
> > finalized while still in-construction
> > 
> > (rhythmbox:22509): GLib-GObject-CRITICAL **: Custom constructor for class
> > SoupServer returned NULL (which is invalid). Please use GInitable instead.
> 
> I need backtraces of those warnings.
> 
> > (rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to
> > Playlist
>

No it isn't: it is somebody stuffing invalid arguments into GTK+ calls. GTK+ complains about it, that doesn't mean it is at fault or can do anything about it.
Comment 16 Bastien Nocera 2016-06-30 09:18:23 EDT
(In reply to Matthias Clasen from comment #15)
> (In reply to Bastien Nocera from comment #13)
> > > (rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to
> > > Playlist
> >
> 
> No it isn't: it is somebody stuffing invalid arguments into GTK+ calls. GTK+
> complains about it, that doesn't mean it is at fault or can do anything
> about it.

It is a bug that's fixed in the upstream GTK+:
https://bugzilla.gnome.org/show_bug.cgi?id=749405

As the call happens within GtkMenuSectionBox, there's nothing rhythmbox can do.
Comment 17 Bastien Nocera 2016-06-30 09:19:58 EDT
(In reply to Bastien Nocera from comment #16)
> (In reply to Matthias Clasen from comment #15)
> > (In reply to Bastien Nocera from comment #13)
> > > > (rhythmbox:22509): Gtk-WARNING **: Duplicate child name in GtkStack: Add to
> > > > Playlist
> > >
> > 
> > No it isn't: it is somebody stuffing invalid arguments into GTK+ calls. GTK+
> > complains about it, that doesn't mean it is at fault or can do anything
> > about it.
> 
> It is a bug that's fixed in the upstream GTK+:
> https://bugzilla.gnome.org/show_bug.cgi?id=749405
> 
> As the call happens within GtkMenuSectionBox, there's nothing rhythmbox can
> do.

Filed as https://bugzilla.redhat.com/show_bug.cgi?id=1351643
Comment 18 Bastien Nocera 2016-06-30 09:24:21 EDT
(In reply to Bastien Nocera from comment #13)
> (In reply to Jiri Prajzner from comment #12)
> > The bug is still present:
> > [test@qe-dell-ovs5-vm-32 ~]$ rhythmbox
> > 
> > (rhythmbox:22509): libsoup-CRITICAL **: soup_server_quit: assertion
> > 'priv->listeners != NULL' failed
> > 
> > (rhythmbox:22509): GLib-GObject-CRITICAL **: object SoupServer 0x2239320
> > finalized while still in-construction
> > 
> > (rhythmbox:22509): GLib-GObject-CRITICAL **: Custom constructor for class
> > SoupServer returned NULL (which is invalid). Please use GInitable instead.
> 
> I need backtraces of those warnings.
<snip>
> > (rhythmbox:22509): libdmapsharing-WARNING **: DACP browsing not started
> 
> Need a backtrace as well.

The backtraces you provided aren't useful. You only added backtraces to the SIGINT signal, which means that you're giving me backtrace from when you Ctrl+C the execution. Not very useful.

Make sure to install the debuginfo packages for rhythmbox and its dependencies, and add:
set environment G_DEBUG fatal_warnings
in your ~/.gdbinit

When you get one of the warnings above, then get the backtrace with "bt" (we just need to know the backtrace in the thread that created the warning) and then type "continue" to carry on the execution.
Comment 19 Tomas Pelka 2016-06-30 09:58 EDT
Created attachment 1174615 [details]
rhythmbox bt

All right G_DEBUG fatal_warnings does the trick, thanks.
Comment 20 Bastien Nocera 2016-06-30 15:03:30 EDT
I don't see anything related to the warnings we care about.

Here, you seem to have pressed "continue" without getting the backtraces.

Program received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x7ffff61c55b8 "Gtk", log_level=G_LOG_LEVEL_WARNING, 
    format=<optimized out>, args=args@entry=0x7fffffffc060) at gmessages.c:1086
1086		  g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
Continuing.

Program received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x7ffff61c55b8 "Gtk", log_level=G_LOG_LEVEL_WARNING, 
    format=<optimized out>, args=args@entry=0x7fffffffc060) at gmessages.c:1086
1086		  g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));


You also seem to have typed "thread apply all bt" instead of "bt" leading to loads of information from other threads which we don't care about.

And there's a rhythmbox already running:
        msg = 0x95cb40 "Failed to register client: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Unable to register client"
        msg_alloc = 0x95cb40 "Failed to register client: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Unable to register client"
Comment 21 Tomas Pelka 2016-07-01 02:49 EDT
Created attachment 1174817 [details]
rhythmbox bt

Updated gtk3  to remove startup glib critical stuff.
Comment 22 Bastien Nocera 2016-07-20 11:39:04 EDT
The warnings don't seem to have any ill effects apart from the warnings themselves, so punting this to 7.4.
Comment 24 Bastien Nocera 2017-03-02 09:45:18 EST
Built in rhythmbox-3.4.1-1.el7
Comment 26 Jiri Prajzner 2017-04-24 09:30:51 EDT
rhythmbox is funny:
(rhythmbox:24164): libdmapsharing-WARNING **: DACP browsing not started

(rhythmbox:24164): libdmapsharing-WARNING **: Unable to start music sharing server on port 3689: Could not listen on address 0.0.0.0, port 3689: Error binding to address: Address already in use. Trying any open IPv6 port

while:
lsof -i tcp:3689 
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rhythmbox 24427 test   18u  IPv4 242251      0t0  TCP *:daap (LISTEN)
rhythmbox 24427 test   19u  IPv6 242252      0t0  TCP *:daap (LISTEN)

so, it works, but the check doesn't seem to work right.
Comment 31 errata-xmlrpc 2017-08-01 06:03:48 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2315

Note You need to log in before you can comment on or make changes to this bug.