! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Notification icon plugin not working
Status:
RESOLVED: FIXED

Comments

Description wkrekik 2013-03-10 10:40:00 CET
Notification icon plugin doesn't work. I tried both systray panel plugin and notifier panel plugin and neither worked.
Xfce 4.12 installed via ppa in Xubuntu 12.04 32bit
Comment 1 Sean Davis editbugs 2013-03-13 23:48:21 CET
Looks like a packaging issue, I've reported this to our package maintainer.
Comment 2 Lionel Le Folgoc 2013-03-14 08:54:07 CET
Anything in ~/.xsession-error?

Mine (12.04 i386 too) is full of errors when I use the plugin dialog:
<<<
(parole:11148): GLib-GObject-WARNING **: cannot register existing type `ParoleProviderPlugin'

(parole:11148): GLib-GObject-CRITICAL **: g_type_add_interface_dynamic: assertion `g_type_parent (interface_type) == G_TYPE_INTERFACE' failed

(parole:11148): GLib-GObject-WARNING **: invalid cast from `TrayProvider' to `ParoleProviderPlugin'

** (parole:11148): CRITICAL **: parole_provider_plugin_set_player: assertion `PAROLE_IS_PROVIDER_PLUGIN (provider)' failed

** (parole:11148): CRITICAL **: parole_provider_plugin_get_is_configurable: assertion `PAROLE_IS_PROVIDER_PLUGIN (provider)' failed

(parole:11148): GLib-GObject-WARNING **: cannot register existing type `ParoleProviderPlugin'

(parole:11148): GLib-GObject-CRITICAL **: g_type_add_interface_dynamic: assertion `g_type_parent (interface_type) == G_TYPE_INTERFACE' failed

(parole:11148): GLib-GObject-WARNING **: invalid cast from `NotifyProvider' to `ParoleProviderPlugin'

** (parole:11148): CRITICAL **: parole_provider_plugin_set_player: assertion `PAROLE_IS_PROVIDER_PLUGIN (provider)' failed

** (parole:11148): CRITICAL **: parole_provider_plugin_get_is_configurable: assertion `PAROLE_IS_PROVIDER_PLUGIN (provider)' failed

(parole:11148): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
>>>

@Sean: the package is simply a no-change rebuild of the raring package. I don't think this is a packaging issue though. :P
Comment 3 Sean Davis editbugs 2013-03-14 15:00:08 CET
Hey Lionel.

The problem is also in the Raring package.  

The quantal 0.3.x packages the plugins in /usr/lib/parole-0
The new packages have the plugins in /usr/lib/x86_64-linux-gnu/parole-0

I think this is the source of the problem.  The plugins try to load the files from the normal lib directory, but they fail
Comment 4 Lionel Le Folgoc 2013-03-14 17:47:35 CET
No, this is a multiarch directory, fully known to the linker, so this should be fine, and strace seems to confirm:
access("/usr/lib/i386-linux-gnu/parole-0/tray-icon.so", F_OK) = 0
...
access("/usr/lib/i386-linux-gnu/parole-0/parole-notify.so", F_OK) = 0

I haven't tried too hard to debug for the moment (the 12.04 system is my pc at work :P), but I've noticed that parole doesn't check the return value of g_type_module_use (). If it returns FALSE, the loading failed.
Comment 5 Sean Davis editbugs 2013-05-02 02:47:43 CEST
Created attachment 5018 
File listing for query "locate parole"

Hi Lionel,

If I run:
./autogen.sh --prefix=/usr
make
make install

Parole works correctly with its plugins.  Attached is the output for `locate parole`.  Since there is probably nothing wrong with multiarch, is there something in Parole's code that needs to be updated for better support?
Comment 6 carlosjosepita 2013-11-25 00:52:46 CET
This is happening in xubuntu 13.10 also.
Comment 7 Sean Davis editbugs 2014-02-28 13:13:57 CET
The same exact packaging is used in Debian as Ubuntu.  The package works in Debian, but does not work in Ubuntu.
Comment 8 Sean Davis editbugs 2014-02-28 13:19:17 CET
Also, installing the package made for/in Debian in Ubuntu works.
Comment 9 Sean Davis editbugs 2014-04-09 03:55:55 CEST
Created attachment 5425 
debian rules which fixes this issue in ubuntu

This debian/rules was created to solve an issue with the Ubuntu packaging. It forces the same rules that are applied to debian.  Including this upstream would be ideal.
Comment 10 Yves-Alexis Perez editbugs 2014-04-09 07:29:46 CEST
(In reply to Sean Davis from comment #9)
> Created attachment 5425 
> debian rules which fixes this issue in ubuntu
> 
> This debian/rules was created to solve an issue with the Ubuntu packaging.
> It forces the same rules that are applied to debian.  Including this
> upstream would be ideal.

@@ -3,6 +3,7 @@
 
 export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed -Wl,-O1
 export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+export LDFLAGS=-Wl,-z,relro
 
 %:
 	dh $@ --parallel

That doesn't look right. Why not ading that to DEB_LDFLAGS_MAINT_APPEND which is the main point of that?

By the way, on Debian it's already exported by dpkg-buildflags, you might want to check it's the case also on Ubuntu.
Comment 11 Sean Davis editbugs 2014-04-09 12:28:06 CEST
Created attachment 5426 
debian rules v2

Here's a new, more concise version.
Comment 12 Sean Davis editbugs 2014-04-09 12:40:50 CEST
(In reply to Sean Davis from comment #11)
> Created attachment 5426 
> debian rules v2
> 
> Here's a new, more concise version.

So, with the above rules, -Bsymbolic-functions flag is removed as it breaks parole.

Referring to this write-up, https://lists.ubuntu.com/archives/ubuntu-devel/2008-May/025367.html

Rewriting Parole's plugin architecture would be a huge undertaking.  Parole relies on weak symbols to initialize a plugin.  Here, a base plugin's interface is overridden by the actual plugin's functionality. the -Bsymbolic-functions flag completely breaks that. Adding this protection to the packaging ensures that plugins will continue to build correctly even when default build flags are altered (as they are in Ubuntu).
Comment 13 Simon Steinbeiss editbugs 2014-04-17 00:03:02 CEST
This bug has been fixed in Xubuntu 14.04 (finally).

Bug #9904

Reported by:
wkrekik
Reported on: 2013-03-10
Last modified on: 2014-04-17

People

Assignee:
Lionel Le Folgoc
CC List:
4 users

Version

Attachments

File listing for query "locate parole" (2.92 KB, text/plain)
2013-05-02 02:47 CEST , Sean Davis
no flags
debian rules which fixes this issue in ubuntu (463 bytes, application/octet-stream)
2014-04-09 03:55 CEST , Sean Davis
no flags
debian rules v2 (493 bytes, application/octet-stream)
2014-04-09 12:28 CEST , Sean Davis
no flags

Additional information