nx-libs
nx-libs copied to clipboard
Update libNX_X11 to upstream's libX11-1.7.3.1-10-gd60ede78
Hi,
On certain older GCC versions I see build failures with this error:
XKBBind.c: In function 'XLookupKeysym':
XKBBind.c:244: error: #pragma GCC diagnostic not allowed inside functions
XKBBind.c:245: error: #pragma GCC diagnostic not allowed inside functions
XKBBind.c:251: error: #pragma GCC diagnostic not allowed inside functions
I saw GCC version detection in nx-libs-3.5.99.26/nx-X11/lib/include/X11/Xlibint.h so I guess it should be acceptable to add here as well. May I ask for the change below after #1037 so that builds with affected GCC doesn't fail.
Thanks, Simon
--- nx-libs-3.5.99.26/nx-X11/lib/src/xkb/XKBBind.c.orig 2022-01-31 10:56:51.000000000 +0100
+++ nx-libs-3.5.99.26/nx-X11/lib/src/xkb/XKBBind.c 2022-01-31 10:57:58.000000000 +0100
@@ -240,14 +240,14 @@ XLookupKeysym(register XKeyEvent * event
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#elif defined(__GNUC__)
+#elif defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 405) /* 4.5+ */
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
return XKeycodeToKeysym(dpy, event->keycode, col);
#ifdef __clang__
#pragma clang diagnostic pop
-#elif defined(__GNUC__)
+#elif defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 405) /* 4.5+ */
#pragma GCC diagnostic pop
#endif
The code is the same as in upstream libX11 (https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/src/xkb/XKBBind.c#L226) so upstream should also throw an error in that constellation.
Where's this old version used?
Of course I have no problem adding that...
On Mon, Jan 31, 2022 at 2:48 PM Simon Matter @.***> wrote:
Hi,
On certain older GCC versions I see build failures with this error:
XKBBind.c: In function 'XLookupKeysym': XKBBind.c:244: error: #pragma GCC diagnostic not allowed inside functions XKBBind.c:245: error: #pragma GCC diagnostic not allowed inside functions XKBBind.c:251: error: #pragma GCC diagnostic not allowed inside functions
I saw GCC version detection in nx-libs-3.5.99.26/nx-X11/lib/include/X11/Xlibint.h so I guess it should be acceptable to add here as well. May I ask for the change below after #1037 so that builds with affected GCC doesn't fail.
Thanks, Simon
--- nx-libs-3.5.99.26/nx-X11/lib/src/xkb/XKBBind.c.orig 2022-01-31 10:56:51.000000000 +0100 +++ nx-libs-3.5.99.26/nx-X11/lib/src/xkb/XKBBind.c 2022-01-31 10:57:58.000000000 +0100 @@ -240,14 +240,14 @@ XLookupKeysym(register XKeyEvent * event #ifdef clang #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" -#elif defined(GNUC) +#elif defined(GNUC) && ((GNUC * 100 + GNUC_MINOR) >= 405) /* 4.5+ / #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif return XKeycodeToKeysym(dpy, event->keycode, col); #ifdef clang #pragma clang diagnostic pop -#elif defined(GNUC) +#elif defined(GNUC) && ((GNUC * 100 + GNUC_MINOR) >= 405) / 4.5+ */ #pragma GCC diagnostic pop #endif
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>
Hmm, this posting states that it happens for gcc < 4.6 which is not the same as >= 4.5: https://stackoverflow.com/questions/60441165/stackless-python-pragma-gcc-diagnostic-not-allowed-inside-functions
So what's the exact comparison value?
On Mon, Jan 31, 2022 at 3:52 PM Ulrich Sibiller @.***> wrote:
The code is the same as in upstream libX11 (https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/src/xkb/XKBBind.c#L226) so upstream should also throw an error in that constellation.
Where's this old version used?
Of course I have no problem adding that...
On Mon, Jan 31, 2022 at 2:48 PM Simon Matter @.***> wrote:
Hi,
On certain older GCC versions I see build failures with this error:
XKBBind.c: In function 'XLookupKeysym': XKBBind.c:244: error: #pragma GCC diagnostic not allowed inside functions XKBBind.c:245: error: #pragma GCC diagnostic not allowed inside functions XKBBind.c:251: error: #pragma GCC diagnostic not allowed inside functions
I saw GCC version detection in nx-libs-3.5.99.26/nx-X11/lib/include/X11/Xlibint.h so I guess it should be acceptable to add here as well. May I ask for the change below after #1037 so that builds with affected GCC doesn't fail.
Thanks, Simon
--- nx-libs-3.5.99.26/nx-X11/lib/src/xkb/XKBBind.c.orig 2022-01-31 10:56:51.000000000 +0100 +++ nx-libs-3.5.99.26/nx-X11/lib/src/xkb/XKBBind.c 2022-01-31 10:57:58.000000000 +0100 @@ -240,14 +240,14 @@ XLookupKeysym(register XKeyEvent * event #ifdef clang #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" -#elif defined(GNUC) +#elif defined(GNUC) && ((GNUC * 100 + GNUC_MINOR) >= 405) /* 4.5+ / #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif return XKeycodeToKeysym(dpy, event->keycode, col); #ifdef clang #pragma clang diagnostic pop -#elif defined(GNUC) +#elif defined(GNUC) && ((GNUC * 100 + GNUC_MINOR) >= 405) / 4.5+ */ #pragma GCC diagnostic pop #endif
— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.Message ID: @.***>
I've checked the tarballs of GCC and the error message #pragma GCC diagnostic not allowed inside functions
is found:
gcc-4.4.7 exists (latest from 4.4.x series)
gcc-4.5.0 exists
gcc-4.5.4 exists (latest from 4.5.x series)
gcc-4.6.0 gone
So it seems 4.6.0 is really the first one where it works and we should change to:
#elif defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 406) /* 4.6+ */
Does this look correct?
Interesting that the code builds fine on older gcc-4.1.2 and gcc-3.x, it only break on certain gcc-4.x versions.
Note that there's 1.7.5 now
There is 1.8.2 now. We are also starting to see a lot of the last month or so:
BadRequest (invalid request code or no such operation)
I wonder if NX libX11 is starting to get incompatible?
I don't think so. Where do you see these BadRequests?
For clarification: libNX_X11 is only used by nxagent (or x2goagent). Applications running inside the NX session are using the system's standard libX11.
On Wed, Nov 30, 2022 at 12:13 PM joakim-tjernlund @.***> wrote:
There is 1.8.2 now. We are also starting to see a lot of the last month or so:
BadRequest (invalid request code or no such operation)
I wonder if NX libX11 is starting to get incompatible?
— Reply to this email directly, view it on GitHub https://github.com/ArcticaProject/nx-libs/pull/1037#issuecomment-1331991148, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZDTIBM2DU53NGL44STWK4ZG7ANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.***>
I don't think so. Where do you see these BadRequests? For clarification: libNX_X11 is only used by nxagent (or x2goagent). Applications running inside the NX session are using the system's standard libX11. … On Wed, Nov 30, 2022 at 12:13 PM joakim-tjernlund @.> wrote: There is 1.8.2 now. We are also starting to see a lot of the last month or so: BadRequest (invalid request code or no such operation) I wonder if NX libX11 is starting to get incompatible? — Reply to this email directly, view it on GitHub <#1037 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZDTIBM2DU53NGL44STWK4ZG7ANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.>
In MATE desktop apps like mate-notification-daemon, here is an BT:
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/mate-notification-daemon'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 g_log_writer_default (log_level=<optimized out>, fields=0x7ffe03261710, n_fields=6, user_data=0x0)
at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:563
563 /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c: No such file or directory.
[Current thread is 1 (Thread 0x7f74657d9dc0 (LWP 6224))]
(gdb) bt full
#0 g_log_writer_default (log_level=<optimized out>, fields=0x7ffe03261710, n_fields=6, user_data=0x0)
at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:563
initialized = 1
stderr_is_journal = 0
__func__ = "g_log_writer_default"
#1 0x00007f74668e7ce3 in g_log_structured_array (n_fields=6, fields=0x7ffe03261710, log_level=G_LOG_LEVEL_ERROR)
at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:1994
writer_func = <optimized out>
writer_user_data = <optimized out>
recursion = 0
depth = <optimized out>
__func__ = "g_log_structured_array"
__func__ = "g_log_structured_array"
#2 g_log_structured_array (log_level=G_LOG_LEVEL_ERROR, fields=0x7ffe03261710, n_fields=6)
at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:1967
__func__ = "g_log_structured_array"
#3 0x00007f74668e8832 in g_log_structured_standard
(log_domain=log_domain@entry=0x7f7466cb0017 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_ERROR, file=file@entry=0x7f7466ccf100 "/var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkdisplay-x11.c", line=line@entry=0x7f7466cceb57 "2766", func=func@entry=0x7f7466ccf830 <__func__.4> "_gdk_x11_display_error_event", message_format=message_format@entry=0x7f7466ccfb63 "%s") at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:2051
fields = {{key = 0x7f7466941027 "PRIORITY", value = 0x7f746693a3da, length = -1}, {key = 0x7f7466941030 "CODE_FILE", value = 0x7f7466ccf100, length = -1}, {key = 0x7f746694103a "CODE_LINE", value = 0x7f7466cceb57, length = -1}, {key = 0x7f7466941044 "CODE_FUNC", value = 0x7f7466ccf830 <__func__.4>, length = -1}, {key = 0x7f7466941014 "MESSAGE", value = 0x55ca086ec800, length = -1}, {key = 0x7f7466941008 "GLIB_DOMAIN", value = 0x7f7466cb0017, length = -1}}
n_fields = 6
message_allocated = 0x55ca086ec800 "The program 'mate-notification-daemon' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadRequest (invalid request code or no such operation)'.\n (Detail"...
buffer = "\200\325;\b\312U\000\000\000\000\000\000\000\000\000\000 \004Ygt\177\000\000\220\aYgt\177\000\000\000\000\000\000\000\000\000\000 \300vft\177\000\000\220\375Xgt\177\000\000\001\000\000\000\376\177\000\000\377\377\377\377\000\000\000\000?\000\000\000\000\000\000\000\360T\211ft\177\000\000\000J\300ft\177\000\000\000\001\177ft\177\000\000\t\001\177ft\177\000\000\260\033&\003\376\177\000\000\306\000\177ft\177\000\000\200\325;\b\312U\000\000\240\034&\003\376\177\000\000?\000\000\000\000\000\000\000\063\002\000\000\000\000\000\000 \004Ygt\177\000\000\260\061\317ft\177\000\000\240\034&\003\376\177\000\000H\001\000\000\000\000\000\000\001\000\000\000\000\000\000\000"...
args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffe03261c88, reg_save_area = 0x7ffe03261bb0}}
#4 0x00007f7466c9010a in _gdk_x11_display_error_event (display=display@entry=0x55ca083ca0e0 [GdkX11Display], error=error@entry=0x7ffe03261d70)
at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkdisplay-x11.c:2766
buf = "BadRequest (invalid request code or no such operation)\000\000\000\000\000\000\000\000\000"
msg = <optimized out>
tmp_list = <optimized out>
ignore = 0
__func__ = "_gdk_x11_display_error_event"
#5 0x00007f7466c9d483 in gdk_x_error (error=0x7ffe03261d70, xdisplay=0x55ca083bd580)
--Type <RET> for more, q to quit, c to continue without paging--
at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkmain-x11.c:296
error_display = 0x55ca083ca0e0 [GdkX11Display]
manager = <optimized out>
displays = 0x0
#6 gdk_x_error (xdisplay=0x55ca083bd580, error=0x7ffe03261d70) at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkmain-x11.c:258
#7 0x00007f746678e814 in _XError () at /usr/lib64/libX11.so.6
#8 0x00007f746678b407 in () at /usr/lib64/libX11.so.6
#9 0x00007f746678c785 in _XReply () at /usr/lib64/libX11.so.6
#10 0x00007f7466124a8b in XResQueryClientIds () at /usr/lib64/libXRes.so.1
#11 0x00007f746756c032 in () at /usr/lib64/libwnck-3.so.0
#12 0x00007f74675641b2 in () at /usr/lib64/libwnck-3.so.0
#13 0x00007f7467554936 in () at /usr/lib64/libwnck-3.so.0
#14 0x00007f7467555924 in () at /usr/lib64/libwnck-3.so.0
#15 0x00007f74668e0844 in g_main_dispatch (context=0x55ca083e84d0) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:3444
dispatch = 0x7f74668dc8c0 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = 0
user_data = 0x55ca084b9ed0
callback = 0x7f7467555910
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
source = 0x55ca0873e050
current = 0x55ca0841c800
i = 0
__func__ = "g_main_dispatch"
#16 g_main_context_dispatch (context=0x55ca083e84d0) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:4162
#17 0x00007f74668e0be8 in g_main_context_iterate (context=0x55ca083e84d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:4238
max_priority = 200
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x55ca0863d3a0
#18 0x00007f74668e0ed3 in g_main_loop_run (loop=loop@entry=0x55ca0863d380) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:4438
__func__ = "g_main_loop_run"
#19 0x00007f7466f3f165 in gtk_main () at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gtk/gtkmain.c:1329
loop = 0x55ca0863d380
#20 0x000055ca0787aedc in main ()
The program 'mate-notification-daemon' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadRequest (invalid request code or no such operation)'.\n
-> I would say the mate-notifcation daemon is suffering from the fact that the nxagent does only offer older GL(X) versions. May it helps to disable glx altogether:
Set
X2GO_NXAGENT_DEFAULT_OPTIONS+=" -extension GLX"
in /etc/x2goagent/ax2oagent.options
and retry.
Mate (or rather GDK) should probably better check for the extensions (in their exact versions) of the X server.
Uli
On Wed, Nov 30, 2022 at 2:04 PM joakim-tjernlund @.***> wrote:
I don't think so. Where do you see these BadRequests? For clarification: libNX_X11 is only used by nxagent (or x2goagent). Applications running inside the NX session are using the system's standard libX11. … On Wed, Nov 30, 2022 at 12:13 PM joakim-tjernlund @.> wrote: There is 1.8.2 now. We are also starting to see a lot of the last month or so: BadRequest (invalid request code or no such operation) I wonder if NX libX11 is starting to get incompatible? — Reply to this email directly, view it on GitHub <#1037 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZDTIBM2DU53NGL44STWK4ZG7ANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.>
In MATE desktop apps like mate-notification-daemon, here is an BT:
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/mate-notification-daemon'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 g_log_writer_default (log_level=
, fields=0x7ffe03261710, n_fields=6, user_data=0x0) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:563
563 /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c: No such file or directory.
[Current thread is 1 (Thread 0x7f74657d9dc0 (LWP 6224))]
(gdb) bt full
#0 g_log_writer_default (log_level=
, fields=0x7ffe03261710, n_fields=6, user_data=0x0) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:563 initialized = 1 stderr_is_journal = 0 __func__ = "g_log_writer_default"
#1 0x00007f74668e7ce3 in g_log_structured_array (n_fields=6, fields=0x7ffe03261710, log_level=G_LOG_LEVEL_ERROR)
at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:1994 writer_func = <optimized out> writer_user_data = <optimized out> recursion = 0 depth = <optimized out> __func__ = "g_log_structured_array" __func__ = "g_log_structured_array"
#2 g_log_structured_array (log_level=G_LOG_LEVEL_ERROR, fields=0x7ffe03261710, n_fields=6)
at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:1967 __func__ = "g_log_structured_array"
#3 0x00007f74668e8832 in g_log_structured_standard
***@***.***=0x7f7466cb0017 "Gdk", ***@***.***=G_LOG_LEVEL_ERROR, ***@***.***=0x7f7466ccf100 "/var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkdisplay-x11.c", ***@***.***=0x7f7466cceb57 "2766", ***@***.***=0x7f7466ccf830 <__func__.4> "_gdk_x11_display_error_event", ***@***.***=0x7f7466ccfb63 "%s") at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmessages.c:2051 fields = {{key = 0x7f7466941027 "PRIORITY", value = 0x7f746693a3da, length = -1}, {key = 0x7f7466941030 "CODE_FILE", value = 0x7f7466ccf100, length = -1}, {key = 0x7f746694103a "CODE_LINE", value = 0x7f7466cceb57, length = -1}, {key = 0x7f7466941044 "CODE_FUNC", value = 0x7f7466ccf830 <__func__.4>, length = -1}, {key = 0x7f7466941014 "MESSAGE", value = 0x55ca086ec800, length = -1}, {key = 0x7f7466941008 "GLIB_DOMAIN", value = 0x7f7466cb0017, length = -1}} n_fields = 6 message_allocated = 0x55ca086ec800 "The program 'mate-notification-daemon' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadRequest (invalid request code or no such operation)'.\n (Detail"... buffer = "\200\325;\b\312U\000\000\000\000\000\000\000\000\000\000 \004Ygt\177\000\000\220\aYgt\177\000\000\000\000\000\000\000\000\000\000 \300vft\177\000\000\220\375Xgt\177\000\000\001\000\000\000\376\177\000\000\377\377\377\377\000\000\000\000?\000\000\000\000\000\000\000\360T\211ft\177\000\000\000J\300ft\177\000\000\000\001\177ft\177\000\000\t\001\177ft\177\000\000\260\033&\003\376\177\000\000\306\000\177ft\177\000\000\200\325;\b\312U\000\000\240\034&\003\376\177\000\000?\000\000\000\000\000\000\000\063\002\000\000\000\000\000\000 \004Ygt\177\000\000\260\061\317ft\177\000\000\240\034&\003\376\177\000\000H\001\000\000\000\000\000\000\001\000\000\000\000\000\000\000"... args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffe03261c88, reg_save_area = 0x7ffe03261bb0}}
#4 0x00007f7466c9010a in _gdk_x11_display_error_event @.=0x55ca083ca0e0 [GdkX11Display], @.=0x7ffe03261d70)
at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkdisplay-x11.c:2766 buf = "BadRequest (invalid request code or no such operation)\000\000\000\000\000\000\000\000\000" msg = <optimized out> tmp_list = <optimized out> ignore = 0 __func__ = "_gdk_x11_display_error_event"
#5 0x00007f7466c9d483 in gdk_x_error (error=0x7ffe03261d70, xdisplay=0x55ca083bd580)
--Type <RET> for more, q to quit, c to continue without paging--
at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkmain-x11.c:296 error_display = 0x55ca083ca0e0 [GdkX11Display] manager = <optimized out> displays = 0x0
#6 gdk_x_error (xdisplay=0x55ca083bd580, error=0x7ffe03261d70) at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gdk/x11/gdkmain-x11.c:258
#7 0x00007f746678e814 in _XError () at /usr/lib64/libX11.so.6
#8 0x00007f746678b407 in () at /usr/lib64/libX11.so.6
#9 0x00007f746678c785 in _XReply () at /usr/lib64/libX11.so.6
#10 0x00007f7466124a8b in XResQueryClientIds () at /usr/lib64/libXRes.so.1
#11 0x00007f746756c032 in () at /usr/lib64/libwnck-3.so.0
#12 0x00007f74675641b2 in () at /usr/lib64/libwnck-3.so.0
#13 0x00007f7467554936 in () at /usr/lib64/libwnck-3.so.0
#14 0x00007f7467555924 in () at /usr/lib64/libwnck-3.so.0
#15 0x00007f74668e0844 in g_main_dispatch (context=0x55ca083e84d0) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:3444
dispatch = 0x7f74668dc8c0 <g_idle_dispatch> prev_source = 0x0 begin_time_nsec = 0 was_in_call = 0 user_data = 0x55ca084b9ed0 callback = 0x7f7467555910 cb_funcs = <optimized out> cb_data = <optimized out> need_destroy = <optimized out> source = 0x55ca0873e050 current = 0x55ca0841c800 i = 0 __func__ = "g_main_dispatch"
#16 g_main_context_dispatch (context=0x55ca083e84d0) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:4162
#17 0x00007f74668e0be8 in g_main_context_iterate (context=0x55ca083e84d0, @.=1, @.=1, self=
) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:4238 max_priority = 200 timeout = 0 some_ready = 1 nfds = <optimized out> allocated_nfds = <optimized out> fds = 0x55ca0863d3a0
#18 0x00007f74668e0ed3 in g_main_loop_run @.***=0x55ca0863d380) at /var/tmp/portage/dev-libs/glib-2.74.1-r1/glib-2.74.1/glib/gmain.c:4438
__func__ = "g_main_loop_run"
#19 0x00007f7466f3f165 in gtk_main () at /var/tmp/portage/x11-libs/gtk+-3.24.35/work/gtk+-3.24.35/gtk/gtkmain.c:1329
loop = 0x55ca0863d380
#20 0x000055ca0787aedc in main ()
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
The program 'mate-notification-daemon' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadRequest (invalid request code or no such operation)'.\n -> I would say the mate-notifcation daemon is suffering from the fact that the nxagent does only offer older GL(X) versions. May it helps to disable glx altogether: Set X2GO_NXAGENT_DEFAULT_OPTIONS+=" -extension GLX" in /etc/x2goagent/ax2oagent.options and retry. Mate (or rather GDK) should probably better check for the extensions (in their exact versions) of the X server. Uli
I see, strange that is has worked for years then. Will try it out though on the problem machine first
I added "-extension GLX " to the config and I see: x2goagent -extension GLX -nolisten tcp .... but the problem is still there :(
Got a different BT though(nope bt full shows this):
Core was generated by `/usr/libexec/mate-notification-daemon'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 g_log_writer_default (log_level=<optimized out>, fields=0x7ffef745c150, n_fields=6, user_data=0x0) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmessages.c:557
557 /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmessages.c: No such file or directory.
[Current thread is 1 (Thread 0x7f782ca0a400 (LWP 6208))]
(gdb) bt full
#0 g_log_writer_default (log_level=<optimized out>, fields=0x7ffef745c150, n_fields=6, user_data=0x0) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmessages.c:557
initialized = 1
stderr_is_journal = 0
__func__ = "g_log_writer_default"
#1 0x00007f782daf10b3 in g_log_structured_array (n_fields=6, fields=0x7ffef745c150, log_level=G_LOG_LEVEL_ERROR) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmessages.c:1973
writer_func = <optimized out>
writer_user_data = <optimized out>
recursion = 0
depth = <optimized out>
__func__ = "g_log_structured_array"
__func__ = "g_log_structured_array"
#2 g_log_structured_array (log_level=G_LOG_LEVEL_ERROR, fields=0x7ffef745c150, n_fields=6) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmessages.c:1946
__func__ = "g_log_structured_array"
#3 0x00007f782daf1c02 in g_log_structured_standard
(log_domain=log_domain@entry=0x7f782deb3017 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_ERROR, file=file@entry=0x7f782ded2148 "/var/tmp/portage/x11-libs/gtk+-3.24.34-r1/work/gtk+-3.24.34/gdk/x11/gdkdisplay-x11.c", line=line@entry=0x7f782ded1b97 "2766", func=func@entry=0x7f782ded2870 <__func__.4> "_gdk_x11_display_error_event", message_format=message_format@entry=0x7f782ded2ba3 "%s") at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmessages.c:2030
fields = {{key = 0x7f782db49ea7 "PRIORITY", value = 0x7f782db432fa, length = -1}, {key = 0x7f782db49eb0 "CODE_FILE", value = 0x7f782ded2148, length = -1}, {key = 0x7f782db49eba "CODE_LINE", value = 0x7f782ded1b97, length = -1}, {key = 0x7f782db49ec4 "CODE_FUNC", value = 0x7f782ded2870 <__func__.4>, length = -1}, {key = 0x7f782db49e94 "MESSAGE", value = 0x55635c3dacb0, length = -1}, {key = 0x7f782db49e88 "GLIB_DOMAIN", value = 0x7f782deb3017, length = -1}}
n_fields = 6
message_allocated = 0x55635c3dacb0 "The program 'mate-notification-daemon' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadRequest (invalid request code or no such operation)'.\n (Detail"...
buffer = "P\362'\\cU\000\000\000\000\000\000\000\000\000\000 Dy.x\177\000\000\220Gy.x\177\000\000\000\000\000\000\000\000\000\000 `\227-x\177\000\000\220=y.x\177\000\000\001\000\000\000\376\177\000\000\377\377\377\377\000\000\000\000?\000\000\000\000\000\000\000\330\362\251-x\177\000\000\000z\340-x\177\000\000\000\241\237-x\177\000\000\t\241\237-x\177\000\000\360\305E\367\376\177\000\000Ơ\237-x\177\000\000P\362'\\cU\000\000\340\306E\367\376\177\000\000?\000\000\000\000\000\000\000\063\002\000\000\000\000\000\000 Dy.x\177\000\000\260a\357-x\177\000\000\340\306E\367\376\177\000\000\336\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\376"...
args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffef745c6c8, reg_save_area = 0x7ffef745c5f0}}
#4 0x00007f782de9301a in _gdk_x11_display_error_event (display=display@entry=0x55635c28e0e0 [GdkX11Display], error=error@entry=0x7ffef745c7b0) at /var/tmp/portage/x11-libs/gtk+-3.24.34-r1/work/gtk+-3.24.34/gdk/x11/gdkdisplay-x11.c:2766
buf = "BadRequest (invalid request code or no such operation)\000\000\000\000\000\000\000\000\000"
msg = <optimized out>
tmp_list = <optimized out>
ignore = 0
__func__ = "_gdk_x11_display_error_event"
#5 0x00007f782dea0393 in gdk_x_error (error=0x7ffef745c7b0, xdisplay=0x55635c27f250) at /var/tmp/portage/x11-libs/gtk+-3.24.34-r1/work/gtk+-3.24.34/gdk/x11/gdkmain-x11.c:296
error_display = 0x55635c28e0e0 [GdkX11Display]
manager = <optimized out>
displays = 0x0
#6 gdk_x_error (xdisplay=0x55635c27f250, error=0x7ffef745c7b0) at /var/tmp/portage/x11-libs/gtk+-3.24.34-r1/work/gtk+-3.24.34/gdk/x11/gdkmain-x11.c:258
#7 0x00007f782d998814 in _XError () at /usr/lib64/libX11.so.6
#8 0x00007f782d995407 in () at /usr/lib64/libX11.so.6
#9 0x00007f782d996785 in _XReply () at /usr/lib64/libX11.so.6
#10 0x00007f782d32ea8b in XResQueryClientIds () at /usr/lib64/libXRes.so.1
#11 0x00007f782e770032 in () at /usr/lib64/libwnck-3.so.0
#12 0x00007f782e7681b2 in () at /usr/lib64/libwnck-3.so.0
#13 0x00007f782e758936 in () at /usr/lib64/libwnck-3.so.0
#14 0x000055635b026efa in ()
#15 0x00007f782cf9302a in () at /usr/lib64/libffi.so.8
#16 0x00007f782cf9242e in () at /usr/lib64/libffi.so.8
--Type <RET> for more, q to quit, c to continue without paging--
#17 0x00007f782cf92b9e in ffi_call () at /usr/lib64/libffi.so.8
#20 0x00007f782dbf52c6 in <emit signal ??? on instance 0x55635c4998d0 [NotifyDaemonNotificationsSkeleton]> (node=<optimized out>, detail=0, instance=0x55635c4998d0, emission_return=0x7ffef745d0e0, instance_and_params=0x55635c59cf20)
at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/gobject/gsignal.c:3743
tmp = <optimized out>
handler = 0x55635c58da00
accumulator = 0x55635c394560
emission = {next = 0x0, instance = 0x55635c4998d0, ihint = {signal_id = 214, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4 [void]}
class_closure = 0x55635c39d2f0
hlist = <optimized out>
handler_list = 0x55635c58da00
return_accu = 0x7ffef745d050
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 = 214
max_sequential_handler_number = 39
return_value_altered = 0
#18 0x00007f782dbe3ddc in g_cclosure_marshal_generic
(closure=closure@entry=0x55635c38ad40, return_gvalue=return_gvalue@entry=0x7ffef745d050, n_param_values=n_param_values@entry=10, param_values=param_values@entry=0x55635c59cf20, invocation_hint=invocation_hint@entry=0x7ffef745d030, marshal_data=marshal_data@entry=0x0) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/gobject/gclosure.c:1534
rtype = <optimized out>
rvalue = 0x7ffef745ce40
n_args = 11
atypes = <optimized out>
i = <optimized out>
cif = {abi = FFI_UNIX64, nargs = 11, arg_types = 0x7ffef745cde0, rtype = 0x7f782cf940c0 <ffi_type_sint32>, bytes = 40, flags = 6}
cc = 0x55635c38ad40
enum_tmpval = <optimized out>
tmpval_used = 0
#19 0x00007f782dbe35cf in g_closure_invoke (closure=0x55635c38ad40, return_value=return_value@entry=0x7ffef745d050, n_param_values=10, param_values=param_values@entry=0x55635c59cf20, invocation_hint=invocation_hint@entry=0x7ffef745d030)
at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/gobject/gclosure.c:830
marshal = 0x7f782dbe3bd0 <g_cclosure_marshal_generic>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55635c38ad20
__func__ = "g_closure_invoke"
#21 0x000055635b024a4c in ()
#22 0x00007f782dd4c9a9 in g_dbus_interface_method_dispatch_helper (interface=<optimized out>, method_call_func=0x55635b024890, invocation=0x7f7820007500 [GDBusMethodInvocation])
at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/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"
#23 0x00007f782dd32afd in call_in_idle_cb (user_data=0x7f7820007500) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/gio/gdbusconnection.c:4994
--Type <RET> for more, q to quit, c to continue without paging--
invocation = 0x7f7820007500 [GDBusMethodInvocation]
vtable = <optimized out>
registration_id = <optimized out>
subtree_registration_id = <optimized out>
ei = 0x55635c325d00
es = 0x0
__func__ = "call_in_idle_cb"
#24 0x00007f782dae9c64 in g_main_dispatch (context=0x55635c2a1410) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmain.c:3417
dispatch = 0x7f782dae5ff0 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 0
was_in_call = 0
user_data = 0x7f7820007500
callback = 0x7f782dd329e0 <call_in_idle_cb>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
source = 0x7f781c00a1a0
current = 0x55635c2d6090
i = 0
__func__ = "g_main_dispatch"
#25 g_main_context_dispatch (context=0x55635c2a1410) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmain.c:4135
#26 0x00007f782daea008 in g_main_context_iterate (context=0x55635c2a1410, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmain.c:4211
max_priority = 2147483647
timeout = 25000
some_ready = 1
nfds = <optimized out>
allocated_nfds = <optimized out>
fds = 0x55635c396a30
#27 0x00007f782daea2f3 in g_main_loop_run (loop=loop@entry=0x55635c396a10) at /var/tmp/portage/dev-libs/glib-2.72.3/glib-2.72.3/glib/gmain.c:4411
__func__ = "g_main_loop_run"
#28 0x00007f782e142185 in gtk_main () at /var/tmp/portage/x11-libs/gtk+-3.24.34-r1/work/gtk+-3.24.34/gtk/gtkmain.c:1329
loop = 0x55635c396a10
#29 0x000055635b022edc in main ()
(gdb)
neither MATE nor Xorg server has changed. Lots of libs in between has changed. Tried rebuilding random SW pkgs too.
I rebuild x2go server and nx libs from git:
NX_X11 will be built with the following settings:
Loadable xcursor library support: yes
Threading support: yes
Use Threads safe API: yes
Threads stubs in libNX_X11: no
USE_POLL: no
XCMS: yes
Internationalization support: yes
XF86BigFont support: yes
XKB support: yes
XLOCALEDIR environment variable support: yes
Compose table cache enabled: yes
Test TMW ....
Once again: Your app is using the system libX11 (and/or libxcb) to communicate with the X server (nxagent in this case). So from my POV downgrading libX11 would be the first step in debugging this. Upgrading libNX_X11 would only affect the communication between nxagent and your local (client side) X server.
Uli
joakim-tjernlund @.***> schrieb am Mi., 30. Nov. 2022, 19:18:
I rebuild x2go server and nx libs from git:
NX_X11 will be built with the following settings: Loadable xcursor library support: yes Threading support: yes Use Threads safe API: yes Threads stubs in libNX_X11: no USE_POLL: no XCMS: yes Internationalization support: yes XF86BigFont support: yes XKB support: yes XLOCALEDIR environment variable support: yes Compose table cache enabled: yes
Test TMW ....
— Reply to this email directly, view it on GitHub https://github.com/ArcticaProject/nx-libs/pull/1037#issuecomment-1332560420, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZEAFCSRAMNWM2EDNBLWK6LATANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.***>
maybe your problem is somehow tied to libX11 being buggy ATM: https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues/168
On Wed, Nov 30, 2022 at 9:20 PM Ulrich Sibiller @.***> wrote:
Once again: Your app is using the system libX11 (and/or libxcb) to communicate with the X server (nxagent in this case). So from my POV downgrading libX11 would be the first step in debugging this. Upgrading libNX_X11 would only affect the communication between nxagent and your local (client side) X server.
Uli
joakim-tjernlund @.***> schrieb am Mi., 30. Nov. 2022, 19:18:
I rebuild x2go server and nx libs from git:
NX_X11 will be built with the following settings: Loadable xcursor library support: yes Threading support: yes Use Threads safe API: yes Threads stubs in libNX_X11: no USE_POLL: no XCMS: yes Internationalization support: yes XF86BigFont support: yes XKB support: yes XLOCALEDIR environment variable support: yes Compose table cache enabled: yes
Test TMW ....
— Reply to this email directly, view it on GitHub https://github.com/ArcticaProject/nx-libs/pull/1037#issuecomment-1332560420, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZEAFCSRAMNWM2EDNBLWK6LATANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.***>
That was a great idea, I have libx11 1.8.2 installed. Downgraded to 1.8.1 but the problem remains :(
I would rather go down to the last 1.7 release. All these thread-related changes came in in 1.8.
Uli
On Thu, Dec 1, 2022 at 6:16 PM joakim-tjernlund @.***> wrote:
That was a great idea, I have libx11 1.8.2 installed. Downgraded to 1.8.1 but the problem remains :(
— Reply to this email directly, view it on GitHub https://github.com/ArcticaProject/nx-libs/pull/1037#issuecomment-1334095881, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZGLZRU2TJOOQRMRYW3WLDMOJANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.***>
I would rather go down to the last 1.7 release. All these thread-related changes came in in 1.8. Uli … On Thu, Dec 1, 2022 at 6:16 PM joakim-tjernlund @.> wrote: That was a great idea, I have libx11 1.8.2 installed. Downgraded to 1.8.1 but the problem remains :( — Reply to this email directly, view it on GitHub <#1037 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZGLZRU2TJOOQRMRYW3WLDMOJANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.>
Yes, libX11-1.7.5 is next
So after a few more tests/rebuilds/updates, crashes are gone :) However, there are some offset/corruption in MATE:
You can see part of the Computer Icon missing/under the panel. Adding shortcuts/apps to the panel does not work either.
ATM, I am using top of git for nx-libs and x2goserver
Figured it out mow. Partly bad MATE marco patch but also: from https://gitlab.gnome.org/GNOME/libwnck/-/issues/154 No longer needed. X2Go uses nxagent as xserver and it has X-Resource extension 1.0. For XResQueryClientIds we need 1.2.
But I still has this after working around the problem:
mate-power-manager
(mate-power-manager:9476): PowerManager-ERROR **: 16:00:37.204: Error in dbus - GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied
Trace/breakpoint trap (core dumped)
So something is off in n2go I think
Dbis should be running inside the session. No idea what's going wrong here. However, a poweranager ist no required inside NX sessions.
Regarding the resource extension: I think it should be possible to provide a newer version of the extension, must check.
Uli
joakim-tjernlund @.***> schrieb am Fr., 9. Dez. 2022, 16:03:
But I still has this after working around the problem:
mate-power-manager
(mate-power-manager:9476): PowerManager-ERROR **: 16:00:37.204: Error in dbus - GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied Trace/breakpoint trap (core dumped)
So something is off in n2go I think
— Reply to this email directly, view it on GitHub https://github.com/ArcticaProject/nx-libs/pull/1037#issuecomment-1344413947, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZGOAODUIDSDK2WSPVTWMNC3VANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.***>
Dbis should be running inside the session. No idea what's going wrong here. However, a poweranager ist no required inside NX sessions. Regarding the resource extension: I think it should be possible to provide a newer version of the extension, must check. Uli joakim-tjernlund @.**> schrieb am Fr., 9. Dez. 2022, 16:03: … But I still has this after working around the problem: mate-power-manager (mate-power-manager:9476): PowerManager-ERROR : 16:00:37.204: Error in dbus - GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied Trace/breakpoint trap (core dumped) So something is off in n2go I think — Reply to this email directly, view it on GitHub <#1037 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZGOAODUIDSDK2WSPVTWMNC3VANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: @.>
Did some more testing here and it seems like x2go does not tolerate any call to XResQueryClientIds(). After this call, the DE is corrupt even if the result from XResQueryClientIds () isn't used. Surely x2go should just return an error and continue working ?
Dbis should be running inside the session. No idea what's going wrong here. However, a poweranager ist no required inside NX sessions. Regarding the resource extension: I think it should be possible to provide a newer version of the extension, must check. Uli joakim-tjernlund @._> schrieb am Fr., 9. Dez. 2022, 16:03: … But I still has this after working around the problem: mate-power-manager (mate-power-manager:9476): PowerManager-ERROR : 16:00:37.204: Error in dbus - GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied Trace/breakpoint trap (core dumped) So something is off in n2go I think — Reply to this email directly, view it on GitHub <#1037 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQHBZGOAODUIDSDK2WSPVTWMNC3VANCNFSM5NB3Z74A . You are receiving this because you authored the thread.Message ID: _@.**>
Did some more testing here and it seems like x2go does not tolerate any call to XResQueryClientIds(). After this call, the DE is corrupt even if the result from XResQueryClientIds () isn't used. Surely x2go should just return an error and continue working ?
This has now been fixed in Debian's version of marco (will make sure it migrates to testing before the Debian 12 release). Upstream marco also has the fixes for this already.
By accident, I wiped this PR's branch instead of rebasing. Branch is intact again (and rebased), thus re-opening the PR.
Merged, resolved via 91d9218c0cc659f40918af6ac6c035c6c48d2c6d.