Closed wmww closed 3 years ago
For some reasons i got a segfault when running m-n-d under wayfire. I started the notification-window from mate-notification-properties.
warning: core file may not match specified executable file.
[New LWP 3686]
[New LWP 3690]
[New LWP 3687]
[New LWP 3689]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/mate-notification-daemon'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 magazine_chain_pop_head (magazine_chunks=0x56143dec5810) at ../glib/gslice.c:538
538 ../glib/gslice.c: No such file or directory.
[Current thread is 1 (Thread 0x7efd177faa40 (LWP 3686))]
Thread 1 (Thread 0x7efd177faa40 (LWP 3686)):
#0 magazine_chain_pop_head (magazine_chunks=0x56143dec5810) at ../glib/gslice.c:538
chunk = 0xc00000000
mag = 0x56143dec5810
chunk = <optimized out>
ix = 0
tmem = 0x56143dec5800
chunk_size = 16
mem = <optimized out>
#1 thread_memory_magazine1_alloc (ix=0, tmem=0x56143dec5800) at ../glib/gslice.c:841
mag = 0x56143dec5810
chunk = <optimized out>
ix = 0
tmem = 0x56143dec5800
chunk_size = 16
mem = <optimized out>
#2 g_slice_alloc (mem_size=mem_size@entry=16) at ../glib/gslice.c:1015
ix = 0
tmem = 0x56143dec5800
chunk_size = 16
mem = <optimized out>
#3 0x00007efd18aa705a in g_slist_prepend (list=list@entry=0x56143e031950 = {...}, data=0x56143dfaf4c0) at ../glib/gslist.c:275
new_list = <optimized out>
#4 0x00007efd18683aab in pango_attr_list_copy (list=<optimized out>) at ../pango/pango-attributes.c:1372
new = 0x56143dfae720
iter = 0x56143df46330 = {0x56143dfaf740}
new_attrs = 0x56143e031950 = {0x56143dfae6c0, 0x56143dfae700, 0x56143dfada20}
#5 0x00007efd1868bc78 in pango_layout_get_effective_attributes (layout=layout@entry=0x56143dee9990 [PangoLayout]) at ../pango/pango-layout.c:4049
attrs = <optimized out>
#6 0x00007efd1868feee in pango_layout_check_lines (layout=0x56143dee9990 [PangoLayout]) at ../pango/pango-layout.c:4200
start = <optimized out>
done = <optimized out>
start_offset = <optimized out>
attrs = <optimized out>
itemize_attrs = <optimized out>
shape_attrs = <optimized out>
iter = <optimized out>
prev_base_dir = <optimized out>
base_dir = <optimized out>
state = {line_height = 0, remaining_height = 0, attrs = 0x56143e3f19e0, items = 0x7fffa4fc7aac = {0x3dee999000007efd, <error reading variable>
__func__ = "pango_layout_check_lines"
#7 0x00007efd18692069 in pango_layout_get_extents_internal (layout=layout@entry=0x56143dee9990 [PangoLayout], ink_rect=ink_rect@entry=0x0, logical_rect=logical_rect@entry=0x7fffa4fc7b80, line_extents=line_extents@entry=0x0) at ../pango/pango-layout.c:2623
line_list = <optimized out>
y_offset = 0
width = <optimized out>
need_width = 0
line_index = 0
baseline = 32509
__func__ = "pango_layout_get_extents_internal"
#8 0x00007efd186924c0 in pango_layout_get_extents (layout=layout@entry=0x56143dee9990 [PangoLayout], ink_rect=ink_rect@entry=0x0, logical_rect=logical_rect@entry=0x7fffa4fc7b80) at ../pango/pango-layout.c:2817
__func__ = "pango_layout_get_extents"
#9 0x00007efd19118900 in gtk_label_get_preferred_layout_size (widest=0x7fffa4fc7b70, smallest=0x7fffa4fc7b80, label=0x56143deed760 [GtkLabel]) at gtklabel.c:3725
priv = 0x56143deed5f0
layout = 0x56143dee9990 [PangoLayout]
char_pixels = 0
ypad = 0
widest_rect = {x = 0, y = 0, width = 182272, height = 22528}
label = 0x56143deed760 [GtkLabel]
priv = 0x56143deed5f0
xpad = 0
smallest_rect = {x = 1039857536, y = 22036, width = 16, height = 16}
widget = 0x56143deed760 [GtkLabel]
label = 0x56143deed760 [GtkLabel]
priv = <optimized out>
xpad = 0
ypad = 0
#10 gtk_label_get_preferred_size (natural_baseline=0x0, minimum_baseline=0x0, natural_size=0x7fffa4fc7d4c, minimum_size=0x7fffa4fc7d48, orientation=GTK_ORIENTATION_HORIZONTAL, widget=0x56143deed760 [GtkLabel]) at gtklabel.c:3768
ypad = 0
widest_rect = {x = 0, y = 0, width = 182272, height = 22528}
label = 0x56143deed760 [GtkLabel]
priv = 0x56143deed5f0
xpad = 0
smallest_rect = {x = 1039857536, y = 22036, width = 16, height = 16}
widget = 0x56143deed760 [GtkLabel]
label = 0x56143deed760 [GtkLabel]
priv = <optimized out>
xpad = 0
ypad = 0
#11 gtk_label_measure (gadget=<optimized out>, orientation=GTK_ORIENTATION_HORIZONTAL, for_size=<optimized out>, minimum=0x7fffa4fc7d48, natural=0x7fffa4fc7d4c, minimum_baseline=0x0, natural_baseline=0x0, unused=0x0) at gtklabel.c:3927
widget = 0x56143deed760 [GtkLabel]
label = 0x56143deed760 [GtkLabel]
priv = <optimized out>
xpad = 0
ypad = 0
#12 0x00007efd1905ba97 in gtk_css_custom_gadget_get_preferred_size (gadget=<optimized out>, orientation=<optimized out>, for_size=<optimized out>, minimum=<optimized out>, natural=<optimized out>, minimum_baseline=<optimized out>, natural_baseline=0x0) at gtkcsscustomgadget.c:124
priv = <optimized out>
#13 0x00007efd1906098f in gtk_css_gadget_get_preferred_size (gadget=0x56143e15ff00 [GtkCssCustomGadget], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=0x7fffa4fc7d48, natural=0x7fffa4fc7d4c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtkcssgadget.c:683
style = <optimized out>
margin = {left = 0, right = 0, top = 0, bottom = 0}
border = {left = 0, right = 0, top = 0, bottom = 0}
padding = {left = 0, right = 0, top = 0, bottom = 0}
min_size = 0
extra_size = 0
extra_opposite = 0
extra_baseline = 0
unused_minimum = 0
unused_natural = 0
forced_minimum = <optimized out>
forced_natural = <optimized out>
min_for_size = <optimized out>
__func__ = "gtk_css_gadget_get_preferred_size"
#14 0x00007efd191152a7 in gtk_label_get_preferred_width (widget=<optimized out>, minimum_size=<optimized out>, natural_size=<optimized out>) at gtklabel.c:3935
#15 0x00007efd191ced71 in gtk_widget_query_size_for_orientation (widget=0x56143deed760 [GtkLabel], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum_size=minimum_size@entry=0x7fffa4fc7e38, natural_size=natural_size@entry=0x7fffa4fc7e3c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtksizerequest.c:181
adjusted_min = 30
adjusted_natural = 30
adjusted_for_size = -1
cache = 0x56143deed6f8
widget_class = <optimized out>
min_size = 0
nat_size = 0
min_baseline = -1
nat_baseline = -1
found_in_cache = 0
__func__ = "gtk_widget_query_size_for_orientation"
#16 0x00007efd191cf66c in gtk_widget_compute_size_for_orientation (widget=0x0, widget@entry=0x56143deed760 [GtkLabel], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=minimum@entry=0x7fffa4fc7e38, natural=natural@entry=0x7fffa4fc7e3c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at gtksizerequest.c:399
widgets = <optimized out>
iter = {dummy1 = 0xffffd40000000400, dummy2 = 0x0, dummy3 = 0xffffffffffffffff, dummy4 = -1, dummy5 = 19456, dummy6 = 0x1e0000001e}
key = 0x466700000000
min_result = <optimized out>
nat_result = <optimized out>
#17 0x00007efd191cf72e in gtk_widget_get_preferred_width (widget=0x56143deed760 [GtkLabel], minimum_width=minimum_width@entry=0x7fffa4fc7e38, natural_width=natural_width@entry=0x7fffa4fc7e3c) at gtksizerequest.c:492
__func__ = "gtk_widget_get_preferred_width"
#18 0x00007efd19008063 in gtk_box_get_size (natural_baseline=0x0, minimum_baseline=0x0, natural_size=0x7fffa4fc7ffc, minimum_size=0x7fffa4fc7ff8, orientation=GTK_ORIENTATION_HORIZONTAL, widget=<optimized out>) at gtkbox.c:1608
child_minimum = 30
child_natural_baseline = -1
child_natural = 30
child_minimum_baseline = -1
child = 0x56143e082470
natural = 30
center_min = 0
minimum = 30
box = <optimized out>
private = 0x56143df544c0
natural_above = 0
natural_below = 0
min_baseline = -1
children = 0x56143dfa9a80 = {0x56143e082470, 0x56143e17a780}
nvis_children = 1
minimum_above = 0
minimum_below = 0
have_baseline = 0
nat_baseline = -1
center_nat = 0
widget = <optimized out>
box = <optimized out>
private = 0x56143df544c0
#19 gtk_box_get_content_size (gadget=<optimized out>, orientation=GTK_ORIENTATION_HORIZONTAL, for_size=<optimized out>, minimum=0x7fffa4fc7ff8, natural=0x7fffa4fc7ffc, minimum_baseline=0x0, natural_baseline=0x0, unused=0x0) at gtkbox.c:2068
widget = <optimized out>
box = <optimized out>
private = 0x56143df544c0
#20 0x00007efd1905ba97 in gtk_css_custom_gadget_get_preferred_size (gadget=<optimized out>, orientation=<optimized out>, for_size=<optimized out>, minimum=<optimized out>, natural=<optimized out>, minimum_baseline=<optimized out>, natural_baseline=0x0) at gtkcsscustomgadget.c:124
priv = <optimized out>
#21 0x00007efd1906098f in gtk_css_gadget_get_preferred_size (gadget=0x56143e15f880 [GtkCssCustomGadget], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=0x7fffa4fc7ff8, natural=0x7fffa4fc7ffc, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtkcssgadget.c:683
style = <optimized out>
margin = {left = 0, right = 0, top = 0, bottom = 0}
border = {left = 0, right = 0, top = 0, bottom = 0}
padding = {left = 0, right = 0, top = 0, bottom = 0}
min_size = 0
extra_size = 0
extra_opposite = 0
extra_baseline = 0
unused_minimum = 0
unused_natural = 0
forced_minimum = <optimized out>
forced_natural = <optimized out>
min_for_size = <optimized out>
__func__ = "gtk_css_gadget_get_preferred_size"
#22 0x00007efd19008c57 in gtk_box_get_preferred_width (widget=<optimized out>, minimum=<optimized out>, natural=<optimized out>) at gtkbox.c:1722
#23 0x00007efd191ced71 in gtk_widget_query_size_for_orientation (widget=0x56143df545f0 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum_size=minimum_size@entry=0x7fffa4fc80e8, natural_size=natural_size@entry=0x7fffa4fc80ec, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtksizerequest.c:181
adjusted_min = 0
adjusted_natural = 22036
adjusted_for_size = -1
cache = 0x56143df54588
widget_class = <optimized out>
min_size = 0
nat_size = 0
min_baseline = -1
nat_baseline = -1
found_in_cache = 0
__func__ = "gtk_widget_query_size_for_orientation"
#24 0x00007efd191cf66c in gtk_widget_compute_size_for_orientation (widget=0x0, widget@entry=0x56143df545f0 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=minimum@entry=0x7fffa4fc80e8, natural=natural@entry=0x7fffa4fc80ec, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at gtksizerequest.c:399
widgets = <optimized out>
iter = {dummy1 = 0xffffcc0000000400, dummy2 = 0x0, dummy3 = 0xffffffffffffffff, dummy4 = -1, dummy5 = -62538568, dummy6 = 0x561400000000}
key = 0x547a00000000
min_result = <optimized out>
nat_result = <optimized out>
#25 0x00007efd191cf72e in gtk_widget_get_preferred_width (widget=0x56143df545f0 [GtkBox], minimum_width=minimum_width@entry=0x7fffa4fc80e8, natural_width=natural_width@entry=0x7fffa4fc80ec) at gtksizerequest.c:492
__func__ = "gtk_widget_get_preferred_width"
#26 0x00007efd19008063 in gtk_box_get_size (natural_baseline=0x0, minimum_baseline=0x0, natural_size=0x7fffa4fc82ac, minimum_size=0x7fffa4fc82a8, orientation=GTK_ORIENTATION_HORIZONTAL, widget=<optimized out>) at gtkbox.c:1608
child_minimum = 421331408
child_natural_baseline = -1
child_natural = 32509
child_minimum_baseline = -1
child = 0x56143df1cf40
natural = 0
center_min = 0
minimum = 0
box = <optimized out>
private = 0x56143df54360
natural_above = 0
natural_below = 0
min_baseline = -1
children = 0x56143dfa9940 = {0x56143df1cf40, 0x56143df0ae10}
nvis_children = 0
minimum_above = 0
minimum_below = 0
have_baseline = 0
nat_baseline = -1
center_nat = 0
widget = <optimized out>
box = <optimized out>
private = 0x56143df54360
#27 gtk_box_get_content_size (gadget=<optimized out>, orientation=GTK_ORIENTATION_HORIZONTAL, for_size=<optimized out>, minimum=0x7fffa4fc82a8, natural=0x7fffa4fc82ac, minimum_baseline=0x0, natural_baseline=0x0, unused=0x0) at gtkbox.c:2068
widget = <optimized out>
box = <optimized out>
private = 0x56143df54360
#28 0x00007efd1905ba97 in gtk_css_custom_gadget_get_preferred_size (gadget=<optimized out>, orientation=<optimized out>, for_size=<optimized out>, minimum=<optimized out>, natural=<optimized out>, minimum_baseline=<optimized out>, natural_baseline=0x0) at gtkcsscustomgadget.c:124
priv = <optimized out>
#29 0x00007efd1906098f in gtk_css_gadget_get_preferred_size (gadget=0x56143e1696a0 [GtkCssCustomGadget], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=0x7fffa4fc82a8, natural=0x7fffa4fc82ac, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtkcssgadget.c:683
style = <optimized out>
margin = {left = 0, right = 0, top = 0, bottom = 0}
border = {left = 0, right = 0, top = 0, bottom = 0}
padding = {left = 0, right = 0, top = 0, bottom = 0}
min_size = 0
extra_size = 0
extra_opposite = 0
extra_baseline = 0
unused_minimum = 0
unused_natural = 0
forced_minimum = <optimized out>
forced_natural = <optimized out>
min_for_size = <optimized out>
__func__ = "gtk_css_gadget_get_preferred_size"
#30 0x00007efd19008c57 in gtk_box_get_preferred_width (widget=<optimized out>, minimum=<optimized out>, natural=<optimized out>) at gtkbox.c:1722
#31 0x00007efd191ced71 in gtk_widget_query_size_for_orientation (widget=0x56143df54490 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum_size=minimum_size@entry=0x7fffa4fc8398, natural_size=natural_size@entry=0x7fffa4fc839c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtksizerequest.c:181
adjusted_min = 0
adjusted_natural = 0
adjusted_for_size = -1
cache = 0x56143df54428
widget_class = <optimized out>
min_size = 0
nat_size = 0
min_baseline = -1
nat_baseline = -1
found_in_cache = 0
__func__ = "gtk_widget_query_size_for_orientation"
#32 0x00007efd191cf66c in gtk_widget_compute_size_for_orientation (widget=0x0, widget@entry=0x56143df54490 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=minimum@entry=0x7fffa4fc8398, natural=natural@entry=0x7fffa4fc839c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at gtksizerequest.c:399
widgets = <optimized out>
iter = {dummy1 = 0x7fff0000000e, dummy2 = 0x0, dummy3 = 0xffffffffffffffff, dummy4 = -1, dummy5 = -62538568, dummy6 = 0x0}
key = 0x7fffa4fc82d4
min_result = <optimized out>
nat_result = <optimized out>
#33 0x00007efd191cf72e in gtk_widget_get_preferred_width (widget=0x56143df54490 [GtkBox], minimum_width=minimum_width@entry=0x7fffa4fc8398, natural_width=natural_width@entry=0x7fffa4fc839c) at gtksizerequest.c:492
__func__ = "gtk_widget_get_preferred_width"
#34 0x00007efd19008063 in gtk_box_get_size (natural_baseline=0x0, minimum_baseline=0x0, natural_size=0x7fffa4fc855c, minimum_size=0x7fffa4fc8558, orientation=GTK_ORIENTATION_HORIZONTAL, widget=<optimized out>) at gtkbox.c:1608
child_minimum = 366
child_natural_baseline = -1
child_natural = 0
child_minimum_baseline = -1
child = 0x56143df1af50
natural = 0
center_min = 0
minimum = 0
box = <optimized out>
private = 0x56143df54200
natural_above = 0
natural_below = 0
min_baseline = -1
children = 0x56143dfa9880 = {0x56143df1af50}
nvis_children = 0
minimum_above = 0
minimum_below = 0
have_baseline = 0
nat_baseline = -1
center_nat = 0
widget = <optimized out>
box = <optimized out>
private = 0x56143df54200
#35 gtk_box_get_content_size (gadget=<optimized out>, orientation=GTK_ORIENTATION_HORIZONTAL, for_size=<optimized out>, minimum=0x7fffa4fc8558, natural=0x7fffa4fc855c, minimum_baseline=0x0, natural_baseline=0x0, unused=0x0) at gtkbox.c:2068
widget = <optimized out>
box = <optimized out>
private = 0x56143df54200
#36 0x00007efd1905ba97 in gtk_css_custom_gadget_get_preferred_size (gadget=<optimized out>, orientation=<optimized out>, for_size=<optimized out>, minimum=<optimized out>, natural=<optimized out>, minimum_baseline=<optimized out>, natural_baseline=0x0) at gtkcsscustomgadget.c:124
priv = <optimized out>
#37 0x00007efd1906098f in gtk_css_gadget_get_preferred_size (gadget=0x56143e169420 [GtkCssCustomGadget], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=0x7fffa4fc8558, natural=0x7fffa4fc855c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtkcssgadget.c:683
style = <optimized out>
margin = {left = 0, right = 0, top = 0, bottom = 0}
border = {left = 0, right = 0, top = 0, bottom = 0}
padding = {left = 0, right = 0, top = 0, bottom = 0}
min_size = 0
extra_size = 0
extra_opposite = 0
extra_baseline = 0
unused_minimum = 0
unused_natural = 0
forced_minimum = <optimized out>
forced_natural = <optimized out>
min_for_size = <optimized out>
__func__ = "gtk_css_gadget_get_preferred_size"
#38 0x00007efd19008c57 in gtk_box_get_preferred_width (widget=<optimized out>, minimum=<optimized out>, natural=<optimized out>) at gtkbox.c:1722
#39 0x00007efd191ced71 in gtk_widget_query_size_for_orientation (widget=0x56143df54330 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum_size=minimum_size@entry=0x7fffa4fc8648, natural_size=natural_size@entry=0x7fffa4fc864c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtksizerequest.c:181
adjusted_min = 1
adjusted_natural = 0
adjusted_for_size = -1
cache = 0x56143df542c8
widget_class = <optimized out>
min_size = 0
nat_size = 0
min_baseline = -1
nat_baseline = -1
found_in_cache = 0
__func__ = "gtk_widget_query_size_for_orientation"
#40 0x00007efd191cf66c in gtk_widget_compute_size_for_orientation (widget=0x0, widget@entry=0x56143df54330 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=minimum@entry=0x7fffa4fc8648, natural=natural@entry=0x7fffa4fc864c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at gtksizerequest.c:399
widgets = <optimized out>
iter = {dummy1 = 0x561400000000, dummy2 = 0x0, dummy3 = 0xffffffffffffffff, dummy4 = -1, dummy5 = 0, dummy6 = 0x1}
key = 0x4f00000001
min_result = <optimized out>
nat_result = <optimized out>
#41 0x00007efd191cf72e in gtk_widget_get_preferred_width (widget=0x56143df54330 [GtkBox], minimum_width=minimum_width@entry=0x7fffa4fc8648, natural_width=natural_width@entry=0x7fffa4fc864c) at gtksizerequest.c:492
__func__ = "gtk_widget_get_preferred_width"
#42 0x00007efd19008063 in gtk_box_get_size (natural_baseline=0x0, minimum_baseline=0x0, natural_size=0x7fffa4fc880c, minimum_size=0x7fffa4fc8808, orientation=GTK_ORIENTATION_HORIZONTAL, widget=<optimized out>) at gtkbox.c:1608
child_minimum = 47
child_natural_baseline = -1
child_natural = 22036
child_minimum_baseline = -1
child = 0x56143df1c680
natural = 0
center_min = 0
minimum = 0
box = <optimized out>
private = 0x56143df540a0
natural_above = 0
natural_below = 0
min_baseline = -1
children = 0x56143dfa96a0 = {0x56143df1c680, 0x56143df1b440}
nvis_children = 0
minimum_above = 0
minimum_below = 0
have_baseline = 0
nat_baseline = -1
center_nat = 0
widget = <optimized out>
box = <optimized out>
private = 0x56143df540a0
#43 gtk_box_get_content_size (gadget=<optimized out>, orientation=GTK_ORIENTATION_HORIZONTAL, for_size=<optimized out>, minimum=0x7fffa4fc8808, natural=0x7fffa4fc880c, minimum_baseline=0x0, natural_baseline=0x0, unused=0x0) at gtkbox.c:2068
widget = <optimized out>
box = <optimized out>
private = 0x56143df540a0
#44 0x00007efd1905ba97 in gtk_css_custom_gadget_get_preferred_size (gadget=<optimized out>, orientation=<optimized out>, for_size=<optimized out>, minimum=<optimized out>, natural=<optimized out>, minimum_baseline=<optimized out>, natural_baseline=0x0) at gtkcsscustomgadget.c:124
priv = <optimized out>
#45 0x00007efd1906098f in gtk_css_gadget_get_preferred_size (gadget=0x56143e172a80 [GtkCssCustomGadget], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=0x7fffa4fc8808, natural=0x7fffa4fc880c, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtkcssgadget.c:683
style = <optimized out>
margin = {left = 0, right = 0, top = 0, bottom = 0}
border = {left = 0, right = 0, top = 0, bottom = 0}
padding = {left = 0, right = 0, top = 0, bottom = 0}
min_size = 0
extra_size = 0
extra_opposite = 0
extra_baseline = 0
unused_minimum = 0
unused_natural = 0
forced_minimum = <optimized out>
forced_natural = <optimized out>
min_for_size = <optimized out>
__func__ = "gtk_css_gadget_get_preferred_size"
#46 0x00007efd19008c57 in gtk_box_get_preferred_width (widget=<optimized out>, minimum=<optimized out>, natural=<optimized out>) at gtkbox.c:1722
#47 0x00007efd191ced71 in gtk_widget_query_size_for_orientation (widget=0x56143df541d0 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum_size=minimum_size@entry=0x7fffa4fc88b8, natural_size=natural_size@entry=0x7fffa4fc88bc, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtksizerequest.c:181
adjusted_min = 0
adjusted_natural = 0
adjusted_for_size = -1
cache = 0x56143df54168
widget_class = <optimized out>
min_size = 0
nat_size = 0
min_baseline = -1
nat_baseline = -1
found_in_cache = 0
__func__ = "gtk_widget_query_size_for_orientation"
#48 0x00007efd191cf66c in gtk_widget_compute_size_for_orientation (widget=0x0, widget@entry=0x56143df541d0 [GtkBox], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=minimum@entry=0x7fffa4fc88b8, natural=natural@entry=0x7fffa4fc88bc, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at gtksizerequest.c:399
widgets = <optimized out>
iter = {dummy1 = 0x0, dummy2 = 0x0, dummy3 = 0xffffffffffffffff, dummy4 = -1, dummy5 = 32509, dummy6 = 0x0}
key = 0x0
min_result = <optimized out>
nat_result = <optimized out>
#49 0x00007efd191cf72e in gtk_widget_get_preferred_width (widget=widget@entry=0x56143df541d0 [GtkBox], minimum_width=minimum_width@entry=0x7fffa4fc88b8, natural_width=natural_width@entry=0x7fffa4fc88bc) at gtksizerequest.c:492
__func__ = "gtk_widget_get_preferred_width"
#50 0x00007efd1929851a in gtk_window_get_preferred_width (widget=0x56143df18540 [GtkWindow], minimum_size=0x7fffa4fc8978, natural_size=0x7fffa4fc897c) at gtkwindow.c:8838
window = 0x56143df18540 [GtkWindow]
child = 0x56143df541d0 [GtkBox]
priv = 0x56143df182e0
border_width = 0
title_min = 0
title_nat = 0
child_min = 0
child_nat = 0
window_border = {left = 0, right = 0, top = 0, bottom = 0}
has_size_request = 1
#51 0x00007efd191ced71 in gtk_widget_query_size_for_orientation (widget=0x56143df18540 [GtkWindow], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum_size=minimum_size@entry=0x7fffa4fc8a10, natural_size=natural_size@entry=0x7fffa4fc8a14, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=0x0) at gtksizerequest.c:181
adjusted_min = 0
adjusted_natural = 0
adjusted_for_size = -1
cache = 0x56143df184d8
widget_class = <optimized out>
min_size = 0
nat_size = 0
min_baseline = -1
nat_baseline = -1
found_in_cache = 0
__func__ = "gtk_widget_query_size_for_orientation"
#52 0x00007efd191cf66c in gtk_widget_compute_size_for_orientation (widget=0x0, widget@entry=0x56143df18540 [GtkWindow], orientation=orientation@entry=GTK_ORIENTATION_HORIZONTAL, for_size=for_size@entry=-1, minimum=minimum@entry=0x7fffa4fc8a10, natural=natural@entry=0x7fffa4fc8a14, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at gtksizerequest.c:399
widgets = <optimized out>
iter = {dummy1 = 0x0, dummy2 = 0x0, dummy3 = 0xffffffffffffffff, dummy4 = -1, dummy5 = 0, dummy6 = 0x0}
key = 0x0
min_result = <optimized out>
nat_result = <optimized out>
#53 0x00007efd191cf72e in gtk_widget_get_preferred_width (widget=widget@entry=0x56143df18540 [GtkWindow], minimum_width=minimum_width@entry=0x7fffa4fc8a10, natural_width=natural_width@entry=0x7fffa4fc8a14) at gtksizerequest.c:492
__func__ = "gtk_widget_get_preferred_width"
#54 0x00007efd191cfaf0 in _gtk_widget_get_preferred_size_and_baseline (widget=widget@entry=0x56143df18540 [GtkWindow], minimum_size=minimum_size@entry=0x7fffa4fc8ab0, natural_size=natural_size@entry=0x0, minimum_baseline=minimum_baseline@entry=0x0, natural_baseline=natural_baseline@entry=0x0) at gtksizerequest.c:685
min_width = 24
nat_width = 48
min_height = 24
nat_height = 48
__func__ = "_gtk_widget_get_preferred_size_and_baseline"
#55 0x00007efd191cfb4e in gtk_widget_get_preferred_size (widget=widget@entry=0x56143df18540 [GtkWindow], minimum_size=minimum_size@entry=0x7fffa4fc8ab0, natural_size=natural_size@entry=0x0) at gtksizerequest.c:750
#56 0x00007efd1929a101 in gtk_window_compute_hints (new_flags=<synthetic pointer>, new_geometry=0x7fffa4fc8ac0, window=0x56143df18540 [GtkWindow]) at gtkwindow.c:10298
widget = 0x56143df18540 [GtkWindow]
extra_width = 0
extra_height = 0
geometry_info = <optimized out>
priv = <optimized out>
requisition = {width = 421380640, height = 32509}
priv = 0x56143df182e0
new_geometry = {min_width = 1, min_height = 32767, max_width = 1039259728, max_height = 22036, base_width = 2, base_height = 32509, width_inc = 421380700, height_inc = 32509, min_aspect = 0, max_aspect = 6.8984166038417731e-310, win_gravity = 0}
new_flags = <optimized out>
w = 1042737744
h = 22036
pos = <optimized out>
parent_widget = <optimized out>
info = <optimized out>
screen = 0x56143dee9810 [GdkWaylandScreen]
x = 1
y = 32767
__func__ = "gtk_window_compute_configure_request"
#57 gtk_window_compute_configure_request (window=window@entry=0x56143df18540 [GtkWindow], request=request@entry=0x7fffa4fc8bb0, geometry=geometry@entry=0x7fffa4fc8bd0, flags=flags@entry=0x7fffa4fc8ba8) at gtkwindow.c:9610
priv = 0x56143df182e0
new_geometry = {min_width = 1, min_height = 32767, max_width = 1039259728, max_height = 22036, base_width = 2, base_height = 32509, width_inc = 421380700, height_inc = 32509, min_aspect = 0, max_aspect = 6.8984166038417731e-310, win_gravity = 0}
new_flags = <optimized out>
w = 1042737744
h = 22036
pos = <optimized out>
parent_widget = <optimized out>
info = <optimized out>
screen = 0x56143dee9810 [GdkWaylandScreen]
x = 1
y = 32767
__func__ = "gtk_window_compute_configure_request"
#58 0x00007efd192a12cf in gtk_window_move_resize (window=0x56143df18540 [GtkWindow]) at gtkwindow.c:9819
priv = 0x56143df182e0
widget = 0x56143df18540 [GtkWindow]
container = 0x56143df18540 [GtkWindow]
info = 0x56143e3f3f30
new_geometry = {min_width = 0, min_height = 0, max_width = 198, max_height = 0, base_width = -1526951872, base_height = 32767, width_inc = 1042463024, height_inc = 22036, min_aspect = 9.7824997876566816e-322, max_aspect = 4.676081270173364e-310, win_gravity = 1039238464}
gdk_window = 0x56143deed450 [GdkWaylandWindow]
new_flags = 0
new_request = {x = -1526952928, y = 0, width = 4, height = 0}
configure_request_size_changed = 0
configure_request_pos_changed = 0
hints_changed = <optimized out>
saved_last_info = <optimized out>
current_width = <optimized out>
current_height = <optimized out>
#59 0x00007efd18b73ae6 in _g_closure_invoke_va (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at ../gobject/gclosure.c:873
real_closure = <optimized out>
__func__ = "_g_closure_invoke_va"
#60 0x00007efd18b8c6e9 in g_signal_emit_valist (instance=0x56143df18540, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffa4fc8e40) at ../gobject/gsignal.c:3407
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = 0x0
emission = {next = 0x7fffa4fc9040, instance = 0x56143df18540, ihint = {signal_id = 124, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 0x56143df7a1e0 [GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
signal_id = 124
instance_type = 0x56143df7a1e0 [GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = 1
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#61 0x00007efd18b8cc63 in g_signal_emit (instance=instance@entry=0x56143df18540, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffa4fc8f20, reg_save_area = 0x7fffa4fc8e60}}
#62 0x00007efd19054692 in gtk_container_check_resize (container=container@entry=0x56143df18540 [GtkWindow]) at gtkcontainer.c:2175
__func__ = "gtk_container_check_resize"
#63 0x00007efd1929c68e in gtk_window_show (widget=0x56143df18540 [GtkWindow]) at gtkwindow.c:6183
window = 0x56143df18540 [GtkWindow]
priv = <optimized out>
container = 0x56143df18540 [GtkWindow]
is_plug = <optimized out>
#67 0x00007efd18b8cc63 in <emit signal ??? on instance 0x56143df18540 [GtkWindow]> (instance=instance@entry=0x56143df18540, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffa4fc9330, reg_save_area = 0x7fffa4fc9270}}
#64 0x00007efd18b7388a in g_closure_invoke (closure=<optimized out>, return_value=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>) at ../gobject/gclosure.c:810
real_closure = <optimized out>
__func__ = "g_closure_invoke"
#65 0x00007efd18b860ba in signal_emit_unlocked_R (node=node@entry=0x56143df5a060, detail=detail@entry=0, instance=instance@entry=0x56143df18540, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffa4fc90d0) at ../gobject/gsignal.c:3672
accumulator = 0x0
emission = {next = 0x7fffa4fc97e0, instance = 0x56143df18540, ihint = {signal_id = 54, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x56143df7a1e0 [GtkWindow/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
hlist = <optimized out>
handler_list = <optimized out>
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 54
max_sequential_handler_number = 160
return_value_altered = <optimized out>
#66 0x00007efd18b8caf9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffa4fc9250) at ../gobject/gsignal.c:3498
instance_and_params = 0x7fffa4fc90d0
signal_return_type = <optimized out>
param_values = 0x7fffa4fc90e8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#68 0x00007efd19288776 in gtk_widget_show (widget=0x56143df18540 [GtkWindow]) at gtkwidget.c:4848
parent = 0x0
__func__ = "gtk_widget_show"
#69 0x000056143d5ecde0 in notify_daemon_notify_handler ()
#70 0x00007efd17e22af0 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#71 0x00007efd17e222ab in ffi_call (cif=cif@entry=0x7fffa4fc9670, fn=fn@entry=0x56143d5ec470 <notify_daemon_notify_handler>, rvalue=<optimized out>, avalue=avalue@entry=0x7fffa4fc9540) at ../src/x86/ffi64.c:525
classes = {X86_64_INTEGER_CLASS, 22036, 2768016912, 32767}
stack = <optimized out>
argp = 0x7fffa4fc9448 "\n"
arg_types = <optimized out>
gprcount = 6
ssecount = <optimized out>
ngpr = 1
nsse = 0
i = <optimized out>
avn = <optimized out>
ret_in_memory = <optimized out>
reg_args = <optimized out>
#74 0x00007efd18b86423 in <emit signal ??? on instance 0x56143df8e6a0 [NotifyDaemonNotificationsSkeleton]> (node=<optimized out>, detail=0, instance=0x56143df8e6a0, emission_return=0x7fffa4fc98a0, instance_and_params=0x56143dee70f0) at ../gobject/gsignal.c:3742
tmp = <optimized out>
handler = 0x56143e0942c0
accumulator = 0x56143e0b46a0
emission = {next = 0x0, instance = 0x56143df8e6a0, ihint = {signal_id = 189, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x4 [void]}
hlist = <optimized out>
handler_list = 0x56143e0942c0
return_accu = 0x7fffa4fc9810
accu = {g_type = 0x14 [gboolean], data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 189
max_sequential_handler_number = 61
return_value_altered = <optimized out>
#72 0x00007efd18b7438d in g_cclosure_marshal_generic (closure=<optimized out>, return_gvalue=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../gobject/gclosure.c:1500
rtype = <optimized out>
rvalue = 0x7fffa4fc9600
n_args = <optimized out>
atypes = <optimized out>
args = <optimized out>
i = <optimized out>
cif = {abi = FFI_UNIX64, nargs = 11, arg_types = 0x7fffa4fc95a0, rtype = 0x7efd17e230c0 <ffi_type_sint32>, bytes = 40, flags = 10}
cc = <optimized out>
enum_tmpval = <optimized out>
tmpval_used = 0
#73 0x00007efd18b7388a in g_closure_invoke (closure=<optimized out>, return_value=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>) at ../gobject/gclosure.c:810
real_closure = <optimized out>
__func__ = "g_closure_invoke"
#75 0x000056143d5eaa7c in _notify_daemon_notifications_skeleton_handle_method_call ()
#76 0x00007efd18ce4fe1 in g_dbus_interface_method_dispatch_helper (interface=<optimized out>, method_call_func=0x56143d5ea8c0 <_notify_daemon_notifications_skeleton_handle_method_call>, invocation=0x56143dfc9d90 [GDBusMethodInvocation]) at ../gio/gdbusinterfaceskeleton.c:613
has_handlers = <optimized out>
has_default_class_handler = <optimized out>
emit_authorized_signal = <optimized out>
run_in_thread = <optimized out>
flags = <optimized out>
object = 0x0
__func__ = "g_dbus_interface_method_dispatch_helper"
#77 0x00007efd18ccabd2 in call_in_idle_cb (user_data=user_data@entry=0x56143dfc9d90) at ../gio/gdbusconnection.c:4888
invocation = 0x56143dfc9d90 [GDBusMethodInvocation]
vtable = <optimized out>
registration_id = <optimized out>
subtree_registration_id = <optimized out>
__func__ = "call_in_idle_cb"
#78 0x00007efd18a8345b in g_idle_dispatch (source=source@entry=0x7efcf4009070, callback=0x7efd18ccaaa0 <call_in_idle_cb>, user_data=0x56143dfc9d90) at ../glib/gmain.c:5755
again = <optimized out>
#79 0x00007efd18a8778f in g_main_dispatch (context=0x56143def9850) at ../glib/gmain.c:3309
dispatch = <optimized out>
prev_source = 0x0
was_in_call = <optimized out>
user_data = 0x56143dfc9d90
callback = 0x7efd18ccaaa0 <call_in_idle_cb>
cb_funcs = 0x7efd18b5e280 <g_source_callback_funcs>
cb_data = 0x56143e069200
need_destroy = <optimized out>
source = 0x7efcf4009070
current = 0x56143def9910
i = 0
__func__ = "g_main_dispatch"
#80 g_main_context_dispatch (context=0x56143def9850) at ../glib/gmain.c:3974
#81 0x00007efd18a87b18 in g_main_context_iterate (context=0x56143def9850, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047
max_priority = 2147483647
timeout = 16593
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x56143e0a6530
#82 0x00007efd18a87e33 in g_main_loop_run (loop=loop@entry=0x56143e015be0) at ../glib/gmain.c:4241
__func__ = "g_main_loop_run"
#83 0x00007efd1912eb4d in gtk_main () at gtkmain.c:1328
loop = 0x56143e015be0
#84 0x000056143d5e8e8c in main ()
Full backtrace with all treads: https://www.dropbox.com/s/q2ja5napvi1y5uq/m-n-d-backtrace?dl=0
offtopic on Sadly, rootston doesn't compile here to verify the issue.
[rave@f32 rootston-run]$ ninja -C build
ninja: Entering directory `build'
[1/13] Compiling C object rootston.p/layer_shell.c.o
FAILED: rootston.p/layer_shell.c.o
cc -Irootston.p -I. -I.. -I../include -Isubprojects/wlroots -I../subprojects/wlroots -Isubprojects/wlroots/include -I../subprojects/wlroots/include -Iprotocol -I/usr/include/libdrm -I/usr/include/pixman-1 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -g -DWLR_USE_UNSTABLE -Wundef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough=2 -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -MD -MQ rootston.p/layer_shell.c.o -MF rootston.p/layer_shell.c.o.d -o rootston.p/layer_shell.c.o -c ../layer_shell.c
In file included from ../layer_shell.c:14:
../layer_shell.c: In function 'handle_layer_shell_surface':
../layer_shell.c:438:42: error: 'struct wlr_layer_surface_v1' has no member named 'layer'
438 | layer_surface->namespace, layer_surface->layer, layer_surface->layer,
| ^~
../subprojects/wlroots/include/wlr/util/log.h:62:60: note: in definition of macro 'wlr_log'
62 | _wlr_log(verb, "[%s:%d] " fmt, _WLR_FILENAME, __LINE__, ##__VA_ARGS__)
| ^~~~~~~~~~~
../layer_shell.c:438:64: error: 'struct wlr_layer_surface_v1' has no member named 'layer'
438 | layer_surface->namespace, layer_surface->layer, layer_surface->layer,
| ^~
../subprojects/wlroots/include/wlr/util/log.h:62:60: note: in definition of macro 'wlr_log'
62 | _wlr_log(verb, "[%s:%d] " fmt, _WLR_FILENAME, __LINE__, ##__VA_ARGS__)
| ^~~~~~~~~~~
../layer_shell.c:496:46: error: 'struct wlr_layer_surface_v1' has no member named 'layer'
496 | wl_list_insert(&output->layers[layer_surface->layer], &roots_surface->link);
| ^~
[2/13] Compiling C object rootston.p/render.c.o
FAILED: rootston.p/render.c.o
cc -Irootston.p -I. -I.. -I../include -Isubprojects/wlroots -I../subprojects/wlroots -Isubprojects/wlroots/include -I../subprojects/wlroots/include -Iprotocol -I/usr/include/libdrm -I/usr/include/pixman-1 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -g -DWLR_USE_UNSTABLE -Wundef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough=2 -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -MD -MQ rootston.p/render.c.o -MF rootston.p/render.c.o.d -o rootston.p/render.c.o -c ../render.c
../render.c: In function 'scan_out_fullscreen_view':
../render.c:244:51: error: passing argument 2 of 'wlr_output_attach_buffer' from incompatible pointer type [-Werror=incompatible-pointer-types]
244 | if (!wlr_output_attach_buffer(wlr_output, surface->buffer)) {
| ~~~~~~~^~~~~~~~
| |
| struct wlr_client_buffer *
In file included from ../subprojects/wlroots/include/wlr/types/wlr_surface.h:18,
from ../include/layers.h:5,
from ../render.c:13:
../subprojects/wlroots/include/wlr/types/wlr_output.h:332:21: note: expected 'struct wlr_buffer *' but argument is of type 'struct wlr_client_buffer *'
332 | struct wlr_buffer *buffer);
| ~~~~~~~~~~~~~~~~~~~^~~~~~
../render.c:244:6: error: invalid use of void expression
244 | if (!wlr_output_attach_buffer(wlr_output, surface->buffer)) {
| ^
cc1: all warnings being treated as errors
[3/13] Compiling C object rootston.p/output.c.o
FAILED: rootston.p/output.c.o
cc -Irootston.p -I. -I.. -I../include -Isubprojects/wlroots -I../subprojects/wlroots -Isubprojects/wlroots/include -I../subprojects/wlroots/include -Iprotocol -I/usr/include/libdrm -I/usr/include/pixman-1 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -g -DWLR_USE_UNSTABLE -Wundef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough=2 -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -MD -MQ rootston.p/output.c.o -MF rootston.p/output.c.o.d -o rootston.p/output.c.o -c ../output.c
../output.c: In function 'handle_output_manager_apply':
../output.c:473:10: error: void value not ignored as it ought to be
473 | ok &= wlr_output_enable(wlr_output, false);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../output.c:484:9: error: void value not ignored as it ought to be
484 | ok &= wlr_output_enable(wlr_output, true);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../output.c:486:10: error: void value not ignored as it ought to be
486 | ok &= wlr_output_set_mode(wlr_output, config_head->state.mode);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../output.c:488:10: error: void value not ignored as it ought to be
488 | ok &= wlr_output_set_custom_mode(wlr_output,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
489 | config_head->state.custom_mode.width,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
490 | config_head->state.custom_mode.height,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
491 | config_head->state.custom_mode.refresh);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../output.c: In function 'surface_send_presented_iterator':
../output.c:578:2: error: implicit declaration of function 'wlr_presentation_send_surface_presented'; did you mean 'wlr_presentation_feedback_send_presented'? [-Werror=implicit-function-declaration]
578 | wlr_presentation_send_surface_presented(output->desktop->presentation,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| wlr_presentation_feedback_send_presented
cc1: all warnings being treated as errors
[5/13] Compiling C object rootston.p/seat.c.o
FAILED: rootston.p/seat.c.o
cc -Irootston.p -I. -I.. -I../include -Isubprojects/wlroots -I../subprojects/wlroots -Isubprojects/wlroots/include -I../subprojects/wlroots/include -Iprotocol -I/usr/include/libdrm -I/usr/include/pixman-1 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -g -DWLR_USE_UNSTABLE -Wundef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough=2 -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -MD -MQ rootston.p/seat.c.o -MF rootston.p/seat.c.o.d -o rootston.p/seat.c.o -c ../seat.c
../seat.c: In function 'roots_seat_set_focus_layer':
../seat.c:1465:11: error: 'struct wlr_layer_surface_v1' has no member named 'layer'
1465 | if (layer->layer >= ZWLR_LAYER_SHELL_V1_LAYER_TOP) {
| ^~
[6/13] Generating symbol file subprojects/wlroots/libwlroots.so.6.p/libwlroots.so.6.symbols
ninja: build stopped: subcommand failed.
IIRC rootston is deprecated or completely removed.
Hmm, that looks like a memory corruption error somewhere. I can't reproduce, and I'm not seeing anything but minor leaks in valgrind. Does it happen on startup, a notification or shutdown? If notification, what sort of notification? What theme are you using? Have you installed the applet you built?
If you didn't install it, it's using the daemon you built but the themes from your current install, which could explain this. You can configure with a --prefix
so as not to replace your system installation. You might also be able to force it to use the correct theme libraries with LD_LIBRARY_PATH
. (You likely already knew all that, but extra info never hurt)
mate-notification-properties
from terminal.0x00007efd08556fd0 0x00007efd08559892 Yes (*) /usr/lib64/mate-notification-daemon/engines/libnodoka.so
In general i don't see any notification with wayfire.
Same with using notify-send "Hello World"
I built m-n-d RPM like this.
# https://github.com/mate-desktop/mate-notification-daemon/pull/181
Patch1: mate-notification-daemon_0001-Include-directory-in-warning-message-when-failed-to-.patch
Patch2: mate-notification-daemon_0002-Support-enable-x11-and-enable-wayland.patch
Patch3: mate-notification-daemon_0003-Use-gdk_set_allowed_backends.patch
Patch4: mate-notification-daemon_0004-Remove-X11-calls-from-nodoka-theme.c.patch
Patch5: mate-notification-daemon_0005-Hide-X11-specific-code-behind-ifdefs-and-checks.patch
Patch6: mate-notification-daemon_0006-Add-initial-Wayland-backend.patch
Patch7: mate-notification-daemon_0007-Implement-placement-on-Wayland.patch
Patch8: mate-notification-daemon_0008-Set-layer-and-notificaiton.patch
<cut>
BuildRequires: gtk-layer-shell-devel
<cut>
%build
%configure --disable-schemas-compile \
--enable-x11 \
--enable-wayland
No idea what goes wrong here, but i will try again today. How did you test notifications with wayland?
Btw. i found also a coredump of mirco
from previous mate-panel PR and running Mir-compositor in VM in abrt directory,
IIRC rootston is deprecated or completely removed.
Ohh, then i can only test with wayfire in a VM for the moment.
If you didn't install it, it's using the daemon you built but the themes from your current install, which could explain this. You can configure with a --prefix so as not to replace your system installation. You might also be able to force it to use the correct theme libraries with LD_LIBRARY_PATH. (You likely already knew all that, but extra info never hurt)
Hmm, how should i test this PR without rebuilding and reinstalling?
Edit:
As fedora package maintainer i use always a RPM to install with dnf
from a local repository to test PRs.
RPM build log of m-n-d-1.25.0 + this PR. For me this looks OK. https://www.dropbox.com/s/l84ztvoqskbt7z7/m-n-d-build-log?dl=0
Same result today. I rebuild and reinstalled tha RPM again.
I can't fire up any notification with mate-notification-properties
or notify-send under wayland.
Tested with coco theme. Well, maybe it's a problem with wayfire, but how should i test PR without another working wayland-compositor in VM?
Now created a new account for testing all on baremetal.
Honestly, i have no idea any more how can i test your software.
I found an important hint in journal.
Okt 04 15:19:57 mother.mother.loc mate-notificati[13914]: gtk-layer-shell was not compiled with support for GTK v3.24.23, program may crash
Okt 04 15:19:57 mother.mother.loc mate-notificati[13914]: gtk-layer-shell was not compiled with support for GTK v3.24.23, program may crash
:/ Let see if rebuilding gtk-layer-shell helps....
Edit: Nope, rebuilding gtk-layer-shell from master and rebuilding m-n-d doesn't help. Mate-notification-daemon doesn't work for me with wayland. I am giving up...
@raveit65 It's because of gtk version is checked at runtime, and it is not yet supported up to this commit: https://github.com/wmww/gtk-layer-shell/commit/34b1abe88bd7d90b4345c3232695538ddf63821d
Oof, sorry it's being so much trouble. There's a lot to unpack here.
First, thanks for the extra details on how you're testing. If you're building and installing the package, it should be using the newly built theme libraries (the issue I was talking about happens when you build in a directory, don't install and run the daemon then-and-there.)
I'm testing by running Sway and Mir on my laptop (directly or nested in another compositor, but not in a VM). I configure with ./autogen.sh --prefix ~/code/install/usr/local/ --enable-x11 --enable-wayland
, I make
and make install
and then run ~/code/install/usr/local/libexec/mate-notification-daemon
. After that notify-send
and all the other things just work.
I still don't know what's up with the crashes, but they're unlikely to be caused by Wayfire. This PR works fine for me in both Mir and Sway, and the only direct Wayland interaction is via GTK and GTK Layer Shell (which have both been widely tested across compositors/distros). More likely I've introduced some normal bug that I'm not seeing for some reason or there's a problem with how you're building and installing.
I don't believe the mate-wayland
snap includes support for NVIDIA proprietary drivers. It should just be a matter of adding the correct packages to the snap, I'll talk to the team about how I should go about that. Still shouldn't segfault though, so maybe there's some other problem. Definitely some kinks to work out, but we can look at that another day.
The GTK Layer Shell warnings are a red herring. GTK v3.24.23 didn't actually break anything I use, so GTK Layer Shell v0.3.0 (which doesn't explicitly support it and throws up those warnings) should still work fine. I'm going to improve that warning to link to relevant info and be less confusing.
I'm going to try running it in different ways on different distros to see if I can tease out the problem. I know you've already done a lot, but if you could run the program under Valgrind (valgrind /path/to/mate-notifications-daemon
) and then give me the output that would be big helpful. You can do that with Wayfire in a VM, or any other setup you have working. When I do this I only see some small leaks, but I'm guessing significant memory curruption is happening on your end and Valgrind should show it.
I am not familiar with running Valgrind.
Does notifications work with using --prefix=/usr ?
This is the main different to my standard installation.
Edit:
And does running mate-notification-properties
works for you?
mate-notification-properties
works for me. --prefix /usr
should be fine.
EDIT: can you give me one of the crashing RPMs you've built so I can test it on a Fedora VM?
Can this be effectively tested in a wayland session while the MATE x11 session is also running, or would notifications just get diverted to the X11 session's notification daemon? I don't have any support for snaps, flatpacks, etc installed and do all testing by direct installation. It gets time consuming if I have to trash my running session (with other tasks running) to test something
If you run it with --replace
it should replace the running instance and intercept all notifications. Once you close it (or it hits the 30 second timeout with no activity) and you get another notification, dbus will spin up the default instance (presumably on X11 again).
Thanks. I have been too busy this week to do much on this, but will try to get back to it
Cool, there's no particular rush. I changed the comment style, and I'm still unable to reproduce any crashes.
I tried to run mate-wayland
snap on baremetal f31 with nouveau
driver.
It fails to load graphic driver when starting from lightdm or tty.
mate-wayland
[2020-10-21 22:31:42.973332] <information> mirserver: Starting
[2020-10-21 22:31:42.978326] < - debug - > mirserver: Using logind for session management
[2020-10-21 22:31:42.978460] <information> mircommon: Loading modules from: /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/mir/server-platform
[2020-10-21 22:31:42.978502] <information> mircommon: Loading module: /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.18
[2020-10-21 22:31:42.978515] <information> mircommon: Loading module: /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-wayland.so.18
[2020-10-21 22:31:42.978523] <information> mircommon: Loading module: /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/mir/server-platform/server-x11.so.18
[2020-10-21 22:31:42.978530] <information> mircommon: Loading module: /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/mir/server-platform/input-evdev.so.7
[2020-10-21 22:31:42.979134] <information> gbm-kms: EGL platform does not support EGL_KHR_platform_gbm extension
MESA-LOADER: failed to open nouveau (search paths /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/dri)
failed to load driver: nouveau
MESA-LOADER: failed to open kms_swrast (search paths /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast (search paths /snap/mate-wayland/276/usr/lib/x86_64-linux-gnu/dri)
failed to load swrast driver
[2020-10-21 22:31:42.981321] <information> gbm-kms: Failed to create GBM device
[2020-10-21 22:31:42.981442] <information> mirserver: Found graphics driver: mir:gbm-kms (version 2.0.0) Support priority: 0
[2020-10-21 22:31:42.981454] <information> mirserver: Found graphics driver: mir:wayland (version 2.0.0) Support priority: 0
[2020-10-21 22:31:42.981468] <information> mirserver: Found graphics driver: mir:x11 (version 2.0.0) Support priority: 0
ERROR: /build/mate-wayland/parts/mir-git/src/src/server/graphics/default_configuration.cpp(136): Throw in function mir::DefaultServerConfiguration::the_graphics_platform()::<lambda()>
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: Exception while creating graphics platform
ERROR: /build/mate-wayland/parts/mir-git/src/src/server/graphics/platform_probe.cpp(78): Throw in function std::shared_ptr<mir::SharedLibrary> mir::graphics::module_for_device(const std::vector<std::shared_ptr<mir::SharedLibrary> >&, const mir::options::ProgramOption&, const std::shared_ptr<mir::ConsoleServices>&)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: Failed to find platform for current system
sleeping
sleeping
ERROR: server failed to start
It looks like that search paths for nouveau, kms_swrast and swrast are wrong on a RPM based system which use /usr/lib64 as library path. But maybe i am wrong. You should know it better.
No idea how to confirm that notification-daemon works under wayland.....
Hmm, I'll look into that. You've been able to test my mate-panel PRs somehow, why can't you use the same method? This shouldn't have any more requirements that that. You can test on Sway, or whatever you have working. It works for me on Sway.
EDIT: If you did want to use Mir for some reason, you might have better luck with mir_demo_server
from the mir-test-tools
package, at least until I figure out what's wrong with the snap.
I never used sway
What should i do?
Edit: I tried to use mate-wayland with Mir' because you said it is easy to use as snap on every distro.
why can't you use the same method?
Which same method? I don't use ubuntu :)
I hope you don't think that i am the problem......
No no, you're not the problem. It should be easy to use the snap on any distro, and hopefully I'll figure out those platform issues soon. Unfortunately the member of the team who's most likely to know this stuff is rather busy at the moment, so it's taking a while.
I just assumed you had some working Wayland compositor that supports layer shell, because it sounded like you were able to test my MATE Panel PRs on Wayland (ex: https://github.com/mate-desktop/mate-panel/pull/1148#issuecomment-710868498). This PR should be testable on any such compositor (mate-wayland snap, mir_demo_server, Sway, Wayfire, etc). Why is testing this harder than the panel?
I tried PR with wayfire first, but it doesn't work, only crashes of m-n-d in VM or baremetal. Than i tired mate-wayland , but that compositor doesn't run in VM, with nvidia driver and nouveau driver on my fedora system. Well, i will give mir_demo_server, from fedora repos a try when i find time again. And again, i have no idea to use sway. Not everyone knows how to use every kind of wayland software like you.
EDIT: Previous merged PR from today https://github.com/mate-desktop/mate-panel/pull/1148#issuecomment-710868498 did run out of box with wayfire.
The crashing is almost certainly unrelated to the compositor you're running on. If it's crashing on Wayfire, it will probably crash on Mir too. Can you give me the RPM or compiled binary you're seeing the crash on? I haven't been able to reproduce the crash, and I couldn't tell anything from the stack traces except that some memory was being corrupted somewhere.
EDIT: exact steps for how you're building and/or installing would also work. My plan is to set up a Fedora VM (what Fedora version are you using?) and reproduce what you're doing exactly. My guess is something is loading the wrong .so library or something, because on my machine there is no memory corruption at all.
Here is the RPM (SRPM,RPM,Debug-sources). https://www.dropbox.com/s/dto25c481cwr0ov/m-n-d-wayland.tar.xz?dl=0
I am building the RPM with the fedora mock build server (local).
mock -v -r fedora-32-x86_64-mate-1.26 --buildsrpm --spec /home/rave/rpmbuild/SPECS/Mate-1.26/mate-notification-daemon.spec --sources /home/rave/rpmbuild/SOURCES
mock -v -r fedora-32-x86_64-mate-1.26 --rebuild /var/lib/mock/fedora-32-x86_64-mate-1.26/mate-notification-daemon-1.25.0-2.fc32.src.rpm
Mock is the underlying software for koji (the fedora build server) where we build all packages from fedora git sources. https://koji.fedoraproject.org/koji/ Using mock is the more advanced way to build a RPM. If you really are interested i can show the normal easy way to build a rpm.
I am using fedora 32. The mate-compiz spin for installation in VM you will find here.
https://dl.fedoraproject.org/pub/fedora/linux/releases/32/Spins/x86_64/iso/
You can install the m-n-d RPM with
sudo dnf install mate-notification-daemon-1.25.0-2.fc32.x86_64.rpm
This will update the installed version of m-n-d.
Why there isn't no other team member who can confirm that this PR will work on wayland?
Starting with good news. The notifications are working with a x-embedded sway window :) Tested with an f31 installation on baremetal with nouveau driver. There is an lag with pressing the testing button of mate-notification-properties or you have to click 2 times. But i think this is more a problem with using nouveau driver and the resulting poor performance of sway.
Sadly i wasn't able to see a notification when starting sway from login manager for several reasons.
us
keyboard layout with small fonts and only having a terminal is a mess for me)notify-send
, maybe it was behind the focused terminal window? (LOL)So , i can't confirm that the notification will work outside an x-embedded window.
[rave@mother ~]$ sway
2020-10-22 21:10:28 - [sway/main.c:99] Proprietary Nvidia drivers are NOT supported. Use Nouveau. To launch sway anyway, launch with --my-next-gpu-wont-be-nvidia and DO NOT report issues.
[rave@mother ~]$
Thank you, but no thanks, i will use X11 with nvidia gpu until x-server is EOL.
Please don't ask me again to use software from ignorant people ... What we need first is a working mate-wayland session for VMs to test more applications.
Btw. mir_demo_server
from fedora repos is broken with nouveau driver.
Edit:
I don't think it is a problem with nouveau driver
i will use X11 with nvidia gpu until x-server is EOL.
That wont be necessary. Mir does support proprietary NVIDIA drivers, and we should have all the issues you've run into sorted out substantially before xorg is EOL.
What we need first is a working mate-wayland session for VMs to test more applications
I'm on it, but I don't know that much about mesa so who knows what the timeline will be.
Btw. mir_demo_server from fedora repos is broken with nouveau driver.
Ugh, why can't anything just work like it's supposed to? I'll forward that along to the people with the hardware and knowledge to fix it (though I doubt nouveau support will be a priority)
Btw., can you please take a look at this PR? https://github.com/mate-desktop/mate-system-monitor/pull/198 M-S-M is used as menu-entry in windows-list-applet.
Are the crashes raveit65 was seeing earlier still a mystery that needs to be solved? I can install a Fedora VM and try out that RPM as I had planned. Is it worth sinking time into that, or has that problem gone away?
No, they are happened when using wayfire as session in a VM. But i could reproduce them today again with wayfire as session on baremetal (fedora-rawhide + nouveau) Here the wayfire session is very fast but i don't see any notification, and it looks like that mate-notification-properties UI still freezes after pressing the show-notification-button. I have also a backtrace from mir_demo_server from fedora. Thinking about to file out a report at rhbz to inform maintainer.
@rbuj Any concern left or should we merge this?
Ok, code formating looks good, Let's merge the beast.
PS: it is also possible to edit commits instead of adding a new one for a fix. This looks much better in git log history.....
Adds
--enable-x11
/--enable-wayland
options. Like with the panel you can use the configure options to force enable or disable each backend, or not specify them let the build system detect if the required libraries are present. Wayland support requires GTK Layer Shell. I inserted Wayland code and made X11 code optional with minimal additional refactoring, so it's all a bit rough.What works:
What doesn't: