! 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 !
Port to GDbus
Status:
RESOLVED: FIXED
Product:
Xfce4-panel
Component:
General

Comments

Description Simon Steinbeiss editbugs 2017-06-12 23:05:57 CEST
The panel should be ported from dbus-glib to GDbus as part of the transitions for 4.14.
Comment 1 Ali Abdallah editbugs 2017-06-25 13:59:25 CEST
Port is ready to be tested:
https://git.xfce.org/users/ali/xfce4-panel

Please also have a look at this commit. 
https://git.xfce.org/users/ali/xfce4-panel/commit/?h=gdbus-port&id=ffa50bd0bb2c4f40bb2e8adeaf7fe67c4665e896
It look me a while to figure it out,  I hope that the commit message is clear. I'm really not sure how this has worked with xfconf < 4.13.0, if you have a better explanation, please let me know.
Comment 2 ToZ editbugs 2017-06-25 16:16:06 CEST
I'd like to test this out but I'm running into the following issue configuring the gdbus-port branch of users/ali/xfce4-panel:

checking for libxfce4ui-2 >= 4.13.2... found, but 4.13.1git-e27efec
*** The required package libxfce4ui-2 was found on your system,
*** but the installed version (4.13.1git-e27efec) is too old.

I'm building all components directly from the git tree including libxfce4ui, but its not reporting version 4.13.2. Is there another branch/repo of libxfce4ui that I should be using?
Comment 3 Simon Steinbeiss editbugs 2017-06-25 16:39:45 CEST
In my opinion that's a mistake, it should be xfconf 4.13.2.
Comment 4 Simon Steinbeiss editbugs 2017-06-26 00:40:52 CEST
For convenience I have rebased Ali's branch on top of master (and fixed the depend on xfconf)
https://git.xfce.org/users/ochosi/xfce4-panel/log/?h=gdbus-rebased
Comment 5 ToZ editbugs 2017-06-26 00:55:09 CEST
Thanks. Built successfully and am testing now. First issue3 encountered (--plugin-event and --add sigfault):

xfce4-panel --plugin-event=genmon-3:refresh:bool:true

(xfce4-panel:20424): GLib-ERROR **: g_variant_new: expected GVariant of type 'v' but received value has type 'b'
Trace/breakpoint trap (core dumped)



xfce4-panel --add xfce4-whiskermenu-plugin

(xfce4-panel:23874): GLib-CRITICAL **: g_variant_new_strv: assertion 'length == 0 || strv != NULL' failed
Segmentation fault (core dumped)


And -p generates a Critical message but does start up:

xfce4-panel -p

(xfce4-panel:24882): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed
Comment 6 ToZ editbugs 2017-06-27 15:21:46 CEST
Created attachment 7200 
image

Another issue: for panel plugins that are not part of the xfce4-panel code base (e.g. genmon, datetime, pulseaudio, power-manager), they stop displaying their plugin menu options and only show the panel menu. Please see attached image or:

[url=http://en.zimagez.com/zimage/dt18.php][img]http://en.zimagez.com/miniature/dt18.png[/img][/url]

Here is log with panel starting in debug mode:

xfce4-panel(main): version 4.13.0git-07544ebe on gtk+ 3.22.16 (3.22.16), glib 2.52.2 (2.52.2)
xfce4-panel(module-factory): reading /usr/share/xfce4/panel/plugins
xfce4-panel(module-factory): reading /usr/share/xfce4/panel-plugins
xfce4-panel(application): found window manager after 1 tries
xfce4-panel(base-window): 0xffa770: rgba visual=0xf7a4f0, compositing=true
xfce4-panel(base-window): 0xffa770: rgba visual=0xf7a4f0, compositing=true
xfce4-panel(display-layout): 0xffa770: display=:0.0{comp=true}, screen-0[0xf74020]=[2966,900] (LVDS-1=[0,0;1366,768], DP-2=[1366,0;1600,900])
xfce4-panel(positioning): 0xffa770: screen=0xf74020, monitors=2, output-name=(null), span-monitors=false, base=683,13
xfce4-panel(positioning): 0xffa770: working-area: screen=0xf74020, x=0, y=0, w=1366, h=768
xfce4-panel(struts): 0xffa770: top=25, start_x=0, end_x=1365
xfce4-panel(module): new item (type=object-type, name=launcher, id=15)
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/17
xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=17)
xfce4-panel(external): genmon-17: child spawned; pid=2189, argc=8
xfce4-panel(module): new item (type=object-type, name=separator, id=16)
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/11
xfce4-panel(module): new item (type=external-wrapper, name=datetime, id=11)
xfce4-panel(external): datetime-11: child spawned; pid=2190, argc=8
xfce4-panel(module): new item (type=object-type, name=separator, id=13)
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/3
xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=3)
xfce4-panel(external): genmon-3: child spawned; pid=2191, argc=8
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/2
xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=2)
xfce4-panel(external): genmon-2: child spawned; pid=2192, argc=8
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/6
xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=6)
xfce4-panel(external): genmon-6: child spawned; pid=2193, argc=8
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/4
xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=4)
xfce4-panel(external): genmon-4: child spawned; pid=2194, argc=8
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/7
xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=7)
xfce4-panel(external): genmon-7: child spawned; pid=2198, argc=8
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/5
xfce4-panel(module): new item (type=external-wrapper, name=pulseaudio, id=5)
xfce4-panel(external): pulseaudio-5: child spawned; pid=2206, argc=8
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/1
xfce4-panel(module): new item (type=external-wrapper, name=power-manager-plugin, id=1)
xfce4-panel(external): power-manager-plugin-1: child spawned; pid=2207, argc=8
xfce4-panel(base-window): 0x106ce80: rgba visual=0xf7a4f0, compositing=true
xfce4-panel(base-window): 0x106ce80: rgba visual=0xf7a4f0, compositing=true
xfce4-panel(base-window): 0x123c450: rgba visual=0xf7a4f0, compositing=true
xfce4-panel(display-layout): 0x106ce80: display=:0.0{comp=true}, screen-0[0xf74020]=[2966,900] (LVDS-1=[0,0;1366,768], DP-2=[1366,0;1600,900])
xfce4-panel(positioning): 0x106ce80: screen=0xf74020, monitors=2, output-name=Primary, span-monitors=false, base=25,375
xfce4-panel(positioning): 0x106ce80: unset struts edge; between monitors
xfce4-panel(positioning): 0x106ce80: working-area: screen=0xf74020, x=0, y=0, w=1366, h=768
xfce4-panel(module): new item (type=object-type, name=tasklist, id=9)
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/10
xfce4-panel(module): new item (type=external-wrapper, name=genmon, id=10)
xfce4-panel(external): genmon-10: child spawned; pid=2218, argc=8

(xfce4-panel:2185): Gtk-WARNING **: Allocating size to panel-tasklist-arrow 0x1235b50 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
xfce4-panel(external): genmon-17: child is embedded; 5 properties in queue

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(xfce4-panel:2185): Wnck-CRITICAL **: wnck_workspace_get_number: assertion 'WNCK_IS_WORKSPACE (space)' failed

(wrapper-2.0:2191): Gtk-WARNING **: Theme parsing error: <data>:1:21: Expected a string.
xfce4-panel(external): genmon-3: child is embedded; 5 properties in queue
xfce4-panel(external): datetime-11: child is embedded; 5 properties in queue
xfce4-panel(external): genmon-6: child is embedded; 5 properties in queue
xfce4-panel(external): genmon-2: child is embedded; 5 properties in queue
xfce4-panel(external): pulseaudio-5: child is embedded; 5 properties in queue
xfce4-panel(external): genmon-4: child is embedded; 5 properties in queue
xfce4-panel(external): genmon-10: child is embedded; 5 properties in queue

** (wrapper-2.0:2206): WARNING **: Binding 'XF86AudioLowerVolume' failed!

(wrapper-2.0:2206): pulseaudio-plugin-WARNING **: Could not have grabbed volume control keys. Is another volume control application (xfce4-volumed) running?

(wrapper-2.0:2190): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner GtkToggleButton)
xfce4-panel(external): genmon-7: child is embedded; 5 properties in queue
xfce4-panel(external): power-manager-plugin-1: child is embedded; 5 properties in queue

** (wrapper-2.0:2207): WARNING **: No outputs have backlight property

(wrapper-2.0:2206): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner PulseaudioButton)

(wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:55: The style property GtkWidget:focus-padding is deprecated and shouldn't be used anymore. It will be removed in a future version

(wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:86: The style property GtkWidget:focus-line-width is deprecated and shouldn't be used anymore. It will be removed in a future version

(wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:115: The style property GtkButton:default-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(wrapper-2.0:2207): Gtk-WARNING **: Theme parsing error: <data>:1:142: The style property GtkButton:inner-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(wrapper-2.0:2207): Gtk-WARNING **: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner PowerManagerButton)

(wrapper-2.0:2193): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node box, owner GtkBox)

(wrapper-2.0:2218): Gtk-WARNING **: Negative content height -1 (allocation 1, extents 1x1) while allocating gadget (node button, owner GtkButton)

(wrapper-2.0:2198): Gtk-WARNING **: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node box, owner GtkBox)
Comment 7 Ali Akcaagac 2017-06-27 16:53:44 CEST
Regarding my previous bugreport:

https://bugzilla.xfce.org/show_bug.cgi?id=13626

I confirm, that the gdbus rebased branch works on my machine. Though playing with the panel settings (using the sliders to enlarge or shrink the panel) causes the panel to crash. A coredump can be found in the bugreport mentioned in this comment.

Thanks for all the work... Things shaping up :)
Comment 8 Ali Abdallah editbugs 2017-06-27 20:14:16 CEST
(In reply to Ali Akcaagac from comment #7)
> Regarding my previous bugreport:
> 
> https://bugzilla.xfce.org/show_bug.cgi?id=13626
> 
> I confirm, that the gdbus rebased branch works on my machine. Though playing
> with the panel settings (using the sliders to enlarge or shrink the panel)
> causes the panel to crash. A coredump can be found in the bugreport
> mentioned in this comment.
> 

Can you please be more specific on how to reproduce the crash? I'm failing here to  to make it crash using the sliders.
Comment 9 Ali Akcaagac 2017-06-27 21:02:03 CEST
(In reply to Ali from comment #8)
> Can you please be more specific on how to reproduce the crash? I'm failing
> here to  to make it crash using the sliders.

This is quite easy to reproduce.

1) Right click on the panel and go to "Panel Preferences..."
2) Slide around with either "Row Size" "Number of rows" or "Length"

In my case I just retried this and had a crash again when sliding Length from 100 back to (e.g. 37). But this works the other way around as well.

I was able to capture a coredump with a full bt (though it didn't include the code parts) but it was refering to xfconf at the position #3 or #4 within the dump.
Comment 10 Ali Akcaagac 2017-06-27 21:02:25 CEST
Created attachment 7202 
coredump
Comment 11 Ali Akcaagac 2017-06-27 21:09:22 CEST
Created attachment 7203 
coredump-new.txt

Now with debuginfo ...
Comment 12 Ali Abdallah editbugs 2017-06-27 21:28:38 CEST
(In reply to ToZ from comment #5)
> Thanks. Built successfully and am testing now. First issue3 encountered
> (--plugin-event and --add sigfault):
> 
> xfce4-panel --plugin-event=genmon-3:refresh:bool:true
> 
> (xfce4-panel:20424): GLib-ERROR **: g_variant_new: expected GVariant of type
> 'v' but received value has type 'b'
> Trace/breakpoint trap (core dumped)
> 
>  
> xfce4-panel --add xfce4-whiskermenu-plugin
> 
> (xfce4-panel:23874): GLib-CRITICAL **: g_variant_new_strv: assertion 'length
> == 0 || strv != NULL' failed
> Segmentation fault (core dumped)
> 
> 
> And -p generates a Critical message but does start up:
> 
> xfce4-panel -p
> 
> (xfce4-panel:24882): GLib-CRITICAL **: g_variant_new_string: assertion
> 'string != NULL' failed


Thanks for the report. These issues has been address in the last commits, please test again and report back.
Comment 13 ToZ editbugs 2017-06-27 21:42:46 CEST
(In reply to Ali from comment #12)
> Thanks for the report. These issues has been address in the last commits,
> please test again and report back.

I've rebuilt xfce4-panel from your repo instead of ochosi's rebase and yes, these issues are resolved.

Please note that your repo has a build issue where the libxfce4ui version is incorrect. I had to use the following patch to correct it (similar to what ochosi had):

diff --git a/configure.ac.in b/configure.ac.in
index af7a2f81..9ad0a630 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -143,7 +143,7 @@ dnl ***********************************
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.9.0])
 XDT_CHECK_PACKAGE([GARCON], [garcon-1], [0.5.0])
 XDT_CHECK_PACKAGE([GARCON_GTK3], [garcon-gtk3-1], [0.5.0])
-XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.13.2])
+XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.13.0])
 XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.13.2])
 XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.16.0])
 XDT_CHECK_PACKAGE([EXO], [exo-2], [0.11.2])
Comment 14 Ali Akcaagac 2017-06-27 21:57:32 CEST
I would also like to note (not to open yet another report), that the "nm-applet" (Networkmanager) isn't showing up in the Notification Area. I only wanted to make a note here, in case it's missed.
Comment 15 Simon Steinbeiss editbugs 2017-07-04 00:10:52 CEST
Ok, so the gdbus-port branch has now been cherry-picked and merged from
https://git.xfce.org/xfce/xfce4-panel/commit/?id=6778d620c5f9f1849ba5064903dd5433ce89600f
to
https://git.xfce.org/xfce/xfce4-panel/commit/?id=a4adbb4dd9ef259e5dce0a7307ae594a065aae08

and in general it seems to work (probably some stuff remaining to iron out). For every new finding from now on I would kindly ask you to open a new bugreport instead of adding a comment here.

Bug #13639

Reported by:
Simon Steinbeiss
Reported on: 2017-06-12
Last modified on: 2017-07-04

People

Assignee:
Ali Abdallah
CC List:
3 users

Version

Version:
4.13.0

Attachments

image (7.60 KB, image/png)
2017-06-27 15:21 CEST , ToZ
no flags
coredump (7.11 KB, text/plain)
2017-06-27 21:02 CEST , Ali Akcaagac
no flags
coredump-new.txt (9.00 KB, text/plain)
2017-06-27 21:09 CEST , Ali Akcaagac
no flags

Additional information