fossfreedom / coverart-browser

Browse your cover-art albums in Rhythmbox v2.96 - 3.0+
http://xpressubuntu.wordpress.com/
GNU General Public License v3.0
74 stars 19 forks source link

crash at ubuntu 16.04,rhythmbox 3.3 #382

Closed DragoonZ closed 8 years ago

DragoonZ commented 8 years ago

installed from ppa:fossfreedom/rhythmbox-plugins output of "rhythmbox -D coverart"

`(03:35:21) [0xef2c70] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:174: CoverArtBrowser DEBUG - do_activate (03:35:21) [0xef2c70] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:195: CoverArtBrowser DEBUG - end do_activate sys:1: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded. sys:1: PyGIWarning: PangoCairo was imported without specifying a version first. Use gi.require_version('PangoCairo', '1.0') before import to ensure that the right version gets loaded. sys:1: PyGIWarning: WebKit was imported without specifying a version first. Use gi.require_version('WebKit', '3.0') before import to ensure that the right version gets loaded. (03:35:21) [0xef2c70] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:135: CoverArtBrowser DEBUG - do_activate (03:35:21) [0xef2c70] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:180: CoverArtBrowser DEBUG - _connect_properties (03:35:21) [0xef2c70] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:189: CoverArtBrowser DEBUG - end _connect_properties (03:35:21) [0xef2c70] [_impl.init] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:2468: OrderedDict([('coverview', ['拼贴', GLib.Variant('s', 'coverart-browser-tile')]), ('coverflowview', ['专辑流', GLib.Variant('s', 'coverart-browser-coverflow')]), ('artistview', ['艺术家', GLib.Variant('s', 'coverart-browser-artist')]), ('listview', ['音乐', GLib.Variant('s', 'coverart-browser-list')]), ('queueview', ['播放队列', GLib.Variant('s', 'coverart-browser-queue')])]) (03:35:21) [0xef2c70] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:174: CoverArtBrowser DEBUG - end do_activate

(rhythmbox:15117): Gtk-CRITICAL **: gtk_box_pack: assertion '_gtk_widget_get_parent (child) == NULL' failed

(rhythmbox:15117): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:15117): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:15117): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:15117): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:15117): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:15117): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:15117): Gtk-CRITICAL **: gtk_size_group_remove_widget: assertion 'g_slist_find (priv->widgets, widget)' failed

(rhythmbox:15117): Gtk-CRITICAL **: gtk_size_group_remove_widget: assertion 'g_slist_find (priv->widgets, widget)' failed

(rhythmbox:15117): Gtk-CRITICAL **: gtk_size_group_remove_widget: assertion 'g_slist_find (priv->widgets, widget)' failed

(rhythmbox:15117): Gtk-CRITICAL **: gtk_size_group_remove_widget: assertion 'g_slist_find (priv->widgets, widget)' failed

(rhythmbox:15117): Gtk-WARNING **: /build/gtk+3.0-a73mKw/gtk+3.0-3.18.9/./gtk/gtkwidget.c:6545: no accelerator (98,4) installed in accel group (0x11c6220) for GtkToggleButton (0x25b66d0)

(rhythmbox:15117): Gtk-WARNING **: /build/gtk+3.0-a73mKw/gtk+3.0-3.18.9/./gtk/gtkwidget.c:6545: no accelerator (101,8) installed in accel group (0x11c6220) for GtkMenuButton (0x23cc680) (03:35:24) [0xef2c70] [CoverArtBrowserSource.do_selected] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:277: CoverArtBrowser DEBUG - do_selected (03:35:24) [0xef2c70] [CoverArtBrowserSource.do_impl_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:310: CoverArtBrowser DEBUG - do_impl_activate

(rhythmbox:15117): Gtk-CRITICAL **: gtk_tree_model_filter_iter_parent: assertion 'GTK_TREE_MODEL_FILTER (model)->priv->stamp == child->stamp' failed (03:35:24) [0xef2c70] [CoverArtBrowserSource._create_ui] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:387: CoverArtBrowser DEBUG - _create_ui

(rhythmbox:15117): Gtk-CRITICAL **: gtk_box_reorder_child: assertion 'old_link != NULL' failed [1] 15117 segmentation fault (core dumped) rhythmbox -D coverart `

fossfreedom commented 8 years ago

Hi, thanks for raising the issue.

Please can you disable all plugins and just re-enable coverart-browser?

What version of coverart-browser are you using - from the master branch or v2.1.2?

EDIT - ok - see you've installed from PPA -- so v2.1.2.

if you've installed coverart_browser manually in the past please make sure you dont have a folder like ~/.local/share/rhythmbox/plugins/coverart_browser

Please disable all plugins as requested and let me know what you find out.

DragoonZ commented 8 years ago

I donot have ~/.local/share/rhythmbox/plugins/coverart_browser after disable all plugins except coverart brower and coverart brower search providers, still crash when I click on the "coverart" in the side pane, got the output:

(21:36:58) [0x232dd90] [CoverArtBrowserSource.do_selected] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:277: CoverArtBrowser DEBUG - do_selected (21:36:58) [0x232dd90] [CoverArtBrowserSource.do_impl_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:310: CoverArtBrowser DEBUG - do_impl_activate (21:36:58) [0x232dd90] [CoverArtBrowserSource._create_ui] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:387: CoverArtBrowser DEBUG - _create_ui

(rhythmbox:21551): Gtk-CRITICAL **: gtk_box_reorder_child: assertion 'old_link != NULL' failed

fossfreedom commented 8 years ago

Ok thanks

Please run rhythmbox with the following and let me know what you see in the terminal

rhythmbox -D coverart
DragoonZ commented 8 years ago

` ~  rhythmbox -D coverart (03:51:15) [0x1585040] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:174: CoverArtBrowser DEBUG - do_activate (03:51:15) [0x1585040] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:195: CoverArtBrowser DEBUG - end do_activate sys:1: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded. sys:1: PyGIWarning: PangoCairo was imported without specifying a version first. Use gi.require_version('PangoCairo', '1.0') before import to ensure that the right version gets loaded. sys:1: PyGIWarning: WebKit was imported without specifying a version first. Use gi.require_version('WebKit', '3.0') before import to ensure that the right version gets loaded. (03:51:15) [0x1585040] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:135: CoverArtBrowser DEBUG - do_activate (03:51:15) [0x1585040] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:180: CoverArtBrowser DEBUG - _connect_properties (03:51:15) [0x1585040] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:189: CoverArtBrowser DEBUG - end _connect_properties (03:51:15) [0x1585040] [_impl.init] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:2468: OrderedDict([('coverview', ['拼贴', GLib.Variant('s', 'coverart-browser-tile')]), ('coverflowview', ['专辑流', GLib.Variant('s', 'coverart-browser-coverflow')]), ('artistview', ['艺术家', GLib.Variant('s', 'coverart-browser-artist')]), ('listview', ['音乐', GLib.Variant('s', 'coverart-browser-list')]), ('queueview', ['播放队列', GLib.Variant('s', 'coverart-browser-queue')])]) (03:51:15) [0x1585040] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:174: CoverArtBrowser DEBUG - end do_activate

(rhythmbox:17912): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:17912): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:17912): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:17912): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:17912): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(rhythmbox:17912): Gtk-WARNING **: Duplicate child name in GtkStack: 添加到播放列表

(03:51:18) [0x1585040] [CoverArtBrowserSource.do_selected] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:277: CoverArtBrowser DEBUG - do_selected (03:51:18) [0x1585040] [CoverArtBrowserSource.do_impl_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:310: CoverArtBrowser DEBUG - do_impl_activate (03:51:18) [0x1585040] [CoverArtBrowserSource._create_ui] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:387: CoverArtBrowser DEBUG - _create_ui

(rhythmbox:17912): Gtk-CRITICAL **: gtk_box_reorder_child: assertion 'old_link != NULL' failed [1] 17912 segmentation fault (core dumped) rhythmbox -D coverart`

fossfreedom commented 8 years ago

hmm,

please run

rhythmbox -d

just give me the last 20 lines you see before the crash

fossfreedom commented 8 years ago

ok - looks like an issue with line 233 here - https://github.com/fossfreedom/coverart-browser/blob/release-2.1/coverart_browser_source.py

Its odd - this works for a versions of GTK before 3.18.

I've been running coverart on my 16.04 - it didn't crash ... but I havent run it on my test VM for a few weeks - so this may be a new issue with a recent update ... that may be fixed in a subsequent update.

fossfreedom commented 8 years ago

Ok - going to close this in favour of the above issue - the problem is webkit. The plugin needs to be reworked to remove all bits that rely on webkit.

remcohaszing commented 8 years ago

The problem for this issue is not the webkit dependency, which #383 is about. The webkit dependency can simply be installed using:

$ sudo apt-get install gir1.2-webkit-3.0

The plugin crashes after navigating to the CoverArt library. After going there, Rhythmbox will crash when started. I get the following output from running rhythmbox -D coverart (With some # prefixed comments):

Starting Rhythmbox

Pointless info I suppose, but I decided to include everything

(rhythmbox:11336): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
sys:1: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.

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

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

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

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

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

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

(rhythmbox:11336): Rhythmbox-WARNING **: Unable to grab media player keys: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SettingsDaemon was not provided by any .service files

When enabling CoverArt plugin:

(13:29:31) [0x20502c0] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:174: CoverArtBrowser DEBUG - do_activate
(13:29:31) [0x20502c0] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:195: CoverArtBrowser DEBUG - end do_activate
sys:1: PyGIWarning: PangoCairo was imported without specifying a version first. Use gi.require_version('PangoCairo', '1.0') before import to ensure that the right version gets loaded.
sys:1: PyGIWarning: WebKit was imported without specifying a version first. Use gi.require_version('WebKit', '3.0') before import to ensure that the right version gets loaded.
(13:29:32) [0x20502c0] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:135: CoverArtBrowser DEBUG - do_activate
(13:29:32) [0x20502c0] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:180: CoverArtBrowser DEBUG - _connect_properties
(13:29:32) [0x20502c0] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:189: CoverArtBrowser DEBUG - end _connect_properties
(13:29:32) [0x20502c0] [_impl.__init__] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:2468: OrderedDict([('coverview', ['Tiles', GLib.Variant('s', 'coverart-browser-tile')]), ('coverflowview', ['Flow', GLib.Variant('s', 'coverart-browser-coverflow')]), ('artistview', ['Artist', GLib.Variant('s', 'coverart-browser-artist')]), ('listview', ['Music', GLib.Variant('s', 'coverart-browser-list')]), ('queueview', ['Play Queue (128)', GLib.Variant('s', 'coverart-browser-queue')])])
(13:29:32) [0x20502c0] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:174: CoverArtBrowser DEBUG - end do_activate

Clicked CoverArt under Library

(rhythmbox:11336): Gtk-WARNING **: /build/gtk+3.0-fKtgft/gtk+3.0-3.18.9/./gtk/gtkwidget.c:6545: no accelerator (98,4) installed in accel group (0x2237b20) for GtkToggleButton (0x34e5520)

(rhythmbox:11336): Gtk-WARNING **: /build/gtk+3.0-fKtgft/gtk+3.0-3.18.9/./gtk/gtkwidget.c:6545: no accelerator (101,8) installed in accel group (0x2237b20) for GtkMenuButton (0x21a2a20)
(13:34:23) [0x20502c0] [CoverArtBrowserSource.do_selected] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:277: CoverArtBrowser DEBUG - do_selected
(13:34:23) [0x20502c0] [CoverArtBrowserSource.do_impl_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:310: CoverArtBrowser DEBUG - do_impl_activate
(13:34:23) [0x20502c0] [CoverArtBrowserSource._create_ui] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:387: CoverArtBrowser DEBUG - _create_ui

(rhythmbox:11336): Gtk-CRITICAL **: gtk_box_reorder_child: assertion 'old_link != NULL' failed
Segmentation fault (core dumped)

Restarting Rhythmbox

When Autostart is selected in the plugin configuration and Rhythmbox is restarted:

(rhythmbox:11607): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
(13:37:43) [0xca62c0] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:174: CoverArtBrowser DEBUG - do_activate
(13:37:43) [0xca62c0] [CoverArtAlbumSearchPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_search_providers/coverart_search_providers.py:195: CoverArtBrowser DEBUG - end do_activate
sys:1: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
sys:1: PyGIWarning: PangoCairo was imported without specifying a version first. Use gi.require_version('PangoCairo', '1.0') before import to ensure that the right version gets loaded.
sys:1: PyGIWarning: WebKit was imported without specifying a version first. Use gi.require_version('WebKit', '3.0') before import to ensure that the right version gets loaded.
(13:37:43) [0xca62c0] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:135: CoverArtBrowser DEBUG - do_activate
(13:37:43) [0xca62c0] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:180: CoverArtBrowser DEBUG - _connect_properties
(13:37:43) [0xca62c0] [CoverArtBrowserSource._connect_properties] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:189: CoverArtBrowser DEBUG - end _connect_properties
(13:37:43) [0xca62c0] [_impl.__init__] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:2468: OrderedDict([('coverview', ['Tiles', GLib.Variant('s', 'coverart-browser-tile')]), ('coverflowview', ['Flow', GLib.Variant('s', 'coverart-browser-coverflow')]), ('artistview', ['Artist', GLib.Variant('s', 'coverart-browser-artist')]), ('listview', ['Music', GLib.Variant('s', 'coverart-browser-list')]), ('queueview', ['Play Queue', GLib.Variant('s', 'coverart-browser-queue')])])
(13:37:43) [0xca62c0] [CoverArtBrowserPlugin.do_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser.py:174: CoverArtBrowser DEBUG - end do_activate

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

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

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

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

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

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

(rhythmbox:11607): Rhythmbox-WARNING **: Unable to grab media player keys: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SettingsDaemon was not provided by any .service files
(13:37:44) [0xca62c0] [CoverArtBrowserSource.do_selected] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:277: CoverArtBrowser DEBUG - do_selected
(13:37:44) [0xca62c0] [CoverArtBrowserSource.do_impl_activate] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:310: CoverArtBrowser DEBUG - do_impl_activate
(13:37:44) [0xca62c0] [CoverArtBrowserSource._create_ui] /usr/lib/rhythmbox/plugins/coverart_browser/coverart_browser_source.py:387: CoverArtBrowser DEBUG - _create_ui

(rhythmbox:11607): Gtk-CRITICAL **: gtk_box_reorder_child: assertion 'old_link != NULL' failed
Segmentation fault (core dumped)

To be able to start Rhythmbox again, the plugin must be disabled manually. E.g. using dconf-editor.

fossfreedom commented 8 years ago

@remcohaszing - the problem actually is all about webkit - webkit on 16.04 is fundamentally broken and the bits of code that relies on webkit needs to be initially commented out ... and then later the webkit functionality needs to be reworked.

I'm not sure why ubuntu have still got the broken webkit in the repos - they should have deleted it.