Wrong markup validation
The function used for markup validation does not match the validation performed by gtk_label_set_markup()
when the text is not a URI, i.e. pango_parse_markup()
. This is apparently intentional, but has the effect of failing to display the notification text in some cases, with this type of warning:
(xfce4-notifyd.orig:3657): Gtk-WARNING **: 13:13:43.209: Failed to set text '<markup>bebot-xfce: <p>[xfce-announce@xfce.org] ANNOUNCE: gigolo 0.5.3 released</p>
</markup>' from markup due to error parsing markup: Unknown tag 'p' on line 1 char 32
Corresponding backtrace:
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 _g_log_abort (breakpoint=<optimized out>) at ../glib/glib/gmessages.c:556
556 G_BREAKPOINT ();
[Current thread is 1 (Thread 0x7fbe884a1a00 (LWP 3657))]
(gdb) bt
#0 _g_log_abort (breakpoint=<optimized out>) at ../glib/glib/gmessages.c:556
#1 g_log_writer_default (log_level=18, fields=<optimized out>, n_fields=6, user_data=0x0) at ../glib/glib/gmessages.c:2812
#2 0x00007fbe8964e1b5 in g_log_structured_array (n_fields=6, fields=0x7ffe37ca0fe0, log_level=G_LOG_LEVEL_WARNING) at ../glib/glib/gmessages.c:1984
#3 g_log_structured_array (log_level=log_level@entry=G_LOG_LEVEL_WARNING, fields=fields@entry=0x7ffe37ca0fe0, n_fields=n_fields@entry=6) at ../glib/glib/gmessages.c:1957
#4 0x00007fbe8964e423 in g_log_structured_standard
(log_domain=log_domain@entry=0x7fbe8a019086 "Gtk", log_level=log_level@entry=G_LOG_LEVEL_WARNING, file=file@entry=0x7fbe8a050401 "../gtk/gtk/gtklabel.c", line=<optimized out>, func=<optimized out>, message_format=<optimized out>) at ../glib/glib/gmessages.c:2041
#5 0x00007fbe89dd48ba in gtk_label_set_markup_internal (with_uline=<optimized out>, str=<optimized out>, label=0x562d4558fd10) at ../gtk/gtk/gtklabel.c:2741
#6 gtk_label_recalculate (label=0x562d4558fd10) at ../gtk/gtk/gtklabel.c:2221
#7 0x00007fbe89dd4f2f in gtk_label_set_markup (str=<optimized out>, label=0x562d4558fd10) at ../gtk/gtk/gtklabel.c:2812
#8 gtk_label_set_markup (label=0x562d4558fd10, str=<optimized out>) at ../gtk/gtk/gtklabel.c:2801
#9 0x0000562d43bb2dc6 in xfce_notify_window_set_body
(body=0x562d45575240 "bebot-xfce: <p>[xfce-announce@xfce.org] <a href=\"http://www.mail-archive.com/xfce-announce@xfce.org/msg00879.html\">ANNOUNCE: gigolo 0.5.3 released</a></p>\n", window=0x562d456465e0)
at xfce-notify-window.c:1180
#10 xfce_notify_window_set_property (object=0x562d456465e0, prop_id=<optimized out>, value=<optimized out>, pspec=<optimized out>) at xfce-notify-window.c:628
#11 0x00007fbe8975d4fb in object_set_property
(object=object@entry=0x562d456465e0, pspec=0x562d454d2820, value=value@entry=0x7ffe37ca17c0, nqueue=nqueue@entry=0x562d454fcb60, user_specified=user_specified@entry=1) at ../glib/gobject/gobject.c:1811
#12 0x00007fbe897603e2 in g_object_setv (values=<optimized out>, names=<optimized out>, n_properties=<optimized out>, object=0x562d456465e0) at ../glib/gobject/gobject.c:2722
#13 g_object_setv (object=0x562d456465e0, n_properties=<optimized out>, names=<optimized out>, values=<optimized out>) at ../glib/gobject/gobject.c:2693
#14 0x00007fbe89760620 in g_object_set_property (object=<optimized out>, property_name=<optimized out>, value=<optimized out>) at ../glib/gobject/gobject.c:3022
#15 0x00007fbe8974ec4d in on_source_notify (source=source@entry=0x562d45532d40, pspec=<optimized out>, context=<optimized out>) at ../glib/gobject/gbinding.c:556
#16 0x00007fbe89755738 in g_object_bind_property_full
(source=source@entry=0x562d45532d40, source_property=<optimized out>, target=target@entry=0x562d456465e0, target_property=0x562d43bb8641 "body", flags=<optimized out>,
flags@entry=G_BINDING_SYNC_CREATE, transform_to=0x7fbe8974e3a0 <default_transform>, transform_to@entry=0x0, transform_from=0x7fbe8974e3a0 <default_transform>, user_data=0x0, notify=0x0)
at ../glib/gobject/gbinding.c:1377
#17 0x00007fbe89755a47 in g_object_bind_property
(source=source@entry=0x562d45532d40, source_property=<optimized out>, target=target@entry=0x562d456465e0, target_property=<optimized out>, flags=flags@entry=G_BINDING_SYNC_CREATE)
at ../glib/gobject/gbinding.c:1437
#18 0x0000562d43ba3e93 in xfce_notification_create_windows
(notification=notification@entry=0x562d45532d40, monitors=monitors@entry=0x562d4564c580 = {...}, override_redirect=0, location=XFCE_NOTIFY_POS_TOP_RIGHT, normal_opacity=0.90000000000000002, show_text_with_gauge=1) at xfce-notification.c:792
#19 0x0000562d43bade24 in notify_notify
(skeleton=0x562d453ae890, invocation=0x7fbe7c0041f0, app_name=<optimized out>, replaces_id=<optimized out>, app_icon=<optimized out>, summary=<optimized out>, body=0x562d4549f2a0 "bebot-xfce: <p>[xfce-announce@xfce.org] <a href=\"http://www.mail-archive.com/xfce-announce@xfce.org/msg00879.html\">ANNOUNCE: gigolo 0.5.3 released</a></p>\n", actions_data=0x562d4556b060, hints=0x7fbe7c0027d0, expire_timeout=5000, xndaemon=0x562d453ae890) at xfce-notify-daemon.c:1627
#20 0x0000562d43ba58fd in _g_dbus_codegen_marshal_BOOLEAN__OBJECT_STRING_UINT_STRING_STRING_STRING_BOXED_VARIANT_INT
(invocation_hint=<optimized out>, marshal_data=0x0, param_values=0x562d454b6600, n_param_values=<optimized out>, return_value=0x7ffe37ca1c50, closure=0x562d4556b1f0) at xfce-notify-fdo-gbus.c:367
#21 xfce_notify_fdo_gbus_method_marshal_notify
(closure=0x562d4556b1f0, return_value=0x7ffe37ca1c50, n_param_values=<optimized out>, param_values=0x562d454b6600, invocation_hint=<optimized out>, marshal_data=0x0) at xfce-notify-fdo-gbus.c:895
#22 0x00007fbe8974d6c0 in g_closure_invoke (closure=0x562d4556b1f0, return_value=0x7ffe37ca1c50, n_param_values=10, param_values=0x562d454b6600, invocation_hint=0x7ffe37ca1c30) at ../glib/gobject/gclosure.c:832
#23 0x00007fbe8977ba36 in signal_emit_unlocked_R.isra.0
(node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x562d453ae890, emission_return=emission_return@entry=0x7ffe37ca1e00, instance_and_params=instance_and_params@entry=0x562d454b6600)
at ../glib/gobject/gsignal.c:3980
#24 0x00007fbe89769a45 in signal_emitv_unlocked (return_value=0x562d454b6600, detail=0, signal_id=235, instance_and_params=0x562d453ae890) at ../glib/gobject/gsignal.c:3304
#25 g_signal_emitv (instance_and_params=instance_and_params@entry=0x562d454b6600, signal_id=signal_id@entry=235, detail=detail@entry=0, return_value=return_value@entry=0x7ffe37ca1e00)
at ../glib/gobject/gsignal.c:3204
#26 0x0000562d43ba61eb in _xfce_notify_fdo_gbus_skeleton_handle_method_call
(connection=<optimized out>, sender=<optimized out>, object_path=<optimized out>, interface_name=0x7fbe7c002990 "org.freedesktop.Notifications", method_name=0x7fbe7c007a30 "Notify", parameters=<optimized out>, invocation=0x7fbe7c0041f0, user_data=0x562d453ae890) at xfce-notify-fdo-gbus.c:2098
#27 0x00007fbe898bc063 in g_dbus_interface_method_dispatch_helper (interface=<optimized out>, method_call_func=0x562d43ba6040 <_xfce_notify_fdo_gbus_skeleton_handle_method_call>, invocation=0x7fbe7c0041f0)
at ../glib/gio/gdbusinterfaceskeleton.c:618
#28 0x00007fbe8989e198 in call_in_idle_cb (user_data=0x7fbe7c0041f0) at ../glib/gio/gdbusconnection.c:5012
#29 0x00007fbe89646f19 in g_main_dispatch (context=0x562d452e08c0) at ../glib/glib/gmain.c:3476
#30 0x00007fbe896a52b7 in g_main_context_dispatch_unlocked (context=0x562d452e08c0) at ../glib/glib/gmain.c:4284
#31 g_main_context_iterate_unlocked.isra.0 (context=0x562d452e08c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#32 0x00007fbe89647b47 in g_main_loop_run (loop=0x562d4556b840) at ../glib/glib/gmain.c:4551
#33 0x00007fbe89decf6f in gtk_main () at ../gtk/gtk/gtkmain.c:1329
#34 0x0000562d43ba30aa in main (argc=<optimized out>, argv=<optimized out>) at main.c:87
I have this problem with Nheko (Matrix client).