nx-libs icon indicating copy to clipboard operation
nx-libs copied to clipboard

Division by zero in xkbUtils.c

Open uli42 opened this issue 5 years ago • 2 comments

Robert Kudyba reported this on the X2go-dev on 2019-02-15 (X2Go bug 1376 https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=1376):

This just started happening. Using X2Go with MATE. NIS users are impacted, local users can still login.

x2goserver-4.1.0.4-0.0x2go1.0.git20190114.1758.heuler.fc29.x86_64 nx-libs-3.5.99.18-0.0build1.0.git20190208.3237.heuler.fc29.x86_64

from /var/log/message:

Feb 15 09:19:17 ourserver /usr/bin/x2gostartagent[591]: successfully started X2Go Agent session with ID agw-57-1550240355_stDMATE_dp32 Feb 15 09:19:18 ourserver /usr/bin/x2goruncommand[1114]: launching session with Xsession-x2go mechanism, using STARTUP="mate-session" Feb 15 09:19:18 ourserver /usr/bin/x2goruncommand[1116]: dbus wrapper available as /usr/bin/dbus-run-session Feb 15 09:19:21 ourserver gnome-keyring-daemon[1362]: couldn't access control socket: /run/user/1201/keyring/control: No such file or directory Feb 15 09:19:21 ourserver mate-session[1126]: WARNING: keycode1 not existent Feb 15 09:19:21 ourserver mate-session[1126]: WARNING: keycode2 not existent Feb 15 09:19:21 ourserver systemd[1653]: Starting Sound Service... Feb 15 09:19:21 ourserver mate-session[1126]: WARNING: Could not launch application 'dropbox.desktop': Unable to start application: Failed to execute child process <E2><80><9C>dropbox<E2><80><9D> (No such file or directory) Feb 15 09:19:21 ourserver gnome-keyring-daemon[1362]: The SSH agent was already initialized Feb 15 09:19:21 ourserver gnome-keyring-daemon[1362]: The PKCS#11 component was already initialized Feb 15 09:19:22 ourserver gnome-keyring-daemon[1362]: The Secret Service was already initialized Feb 15 09:19:22 ourserver spice-vdagent[1504]: Cannot access vdagent virtio channel /dev/virtio-ports/com.redhat.spice.0 Feb 15 09:19:22 ourserver dbus-daemon[842]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.349276" (uid=1201 pid=1415 comm="/usr/bin/pulseaudio --daemonize=no ") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (bus) Feb 15 09:19:22 ourserver dbus-daemon[842]: [system] Activating service name='org.freedesktop.problems' requested by ':1.349262' (uid=1201 pid=1490 comm="abrt-applet --gapplication-service ") (using servicehelper) Feb 15 09:19:22 ourserver systemd[1653]: Started Sound Service. Feb 15 09:19:22 ourserver pulseaudio[1415]: E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.349276" (uid=1201 pid=1415 comm="/usr/bin/pulseaudio --daemonize=no ") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (bus) Feb 15 09:19:24 ourserver kernel: traps: x2goagent[576] trap divide error ip:55fdd31839fc sp:7fff211e8100 error:0 in nxagent[55fdd3095000+318000] Feb 15 09:19:25 ourserver systemd[1]: Started Process Core Dump (PID 1650/UID 0). Feb 15 09:19:25 ourserver pulseaudio[1415]: XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":57" Feb 15 09:19:25 ourserver pulseaudio[1415]: after 18 requests (18 known processed) with 0 events remaining. Feb 15 09:19:25 ourserver systemd[1653]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE Feb 15 09:19:25 ourserver systemd[1653]: pulseaudio.service: Failed with result 'exit-code'. Feb 15 09:19:25 ourserver mate-session[1126]: WARNING: Detected that screensaver has left the bus Feb 15 09:19:26 ourserver systemd[1653]: pulseaudio.service: Service RestartSec=100ms expired, scheduling restart. Feb 15 09:19:26 ourserver systemd[1653]: pulseaudio.service: Scheduled restart job, restart counter is at 1. Feb 15 09:19:26 ourserver systemd[1653]: Stopped Sound Service. Feb 15 09:19:26 ourserver systemd[1653]: Starting Sound Service... Feb 15 09:19:28 ourserver pulseaudio[1686]: W: [pulseaudio] pid.c: Stale PID file, overwriting. Feb 15 09:19:28 ourserver dbus-daemon[842]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.349363" (uid=1201 pid=1686 comm="/usr/bin/pulseaudio --daemonize=no ") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (bus) Feb 15 09:19:28 ourserver systemd-coredump[1651]: Process 576 (x2goagent) of user 1201 dumped core.#012#012Stack trace of thread 576:#012#0 0x000055fdd31839fc n/a (nxagent)#012#1 0x000055fdd3183ad5 n/a (nxagent)#012#2 0x000055fdd3179c66 n/a (nxagent)#012#3 0x000055fdd30b5cc8 n/a (nxagent)#012#4 0x000055fdd3099821 n/a (nxagent)#012#5 0x00007f634ffa3413 __libc_start_main (libc.so.6)#012#6 0x000055fdd3099b5e n/a (nxagent) Feb 15 09:19:29 ourserver pulseaudio[1686]: E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.349363" (uid=1201 pid=1686 comm="/usr/bin/pulseaudio --daemonize=no ") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (bus)

here's a backtrace: Core was generated by: x2goagent -nolisten tcp -nolisten tcp -dpi 96 -D -auth /path/to/.Xauthori'. Program terminated with signal SIGFPE, Arithmetic exception. #0 0x000055fdd31839fc in XkbAdjustGroup (group=<error reading variable: Division by zero>, ctrls=ctrls@entry=0x55fdd440cd00) at xkbUtils.c:688 688 xkbUtils.c: No such file or directory. (gdb) bt full #0 0x000055fdd31839fc in XkbAdjustGroup (group=<error reading variable: Division by zero>, ctrls=ctrls@entry=0x55fdd440cd00) at xkbUtils.c:688 act = 0 #1 0x000055fdd3183ad5 in XkbComputeDerivedState (xkbi=0x55fdd4422100) at xkbUtils.c:714 state = 0x55fdd4422112 ctrls = 0x55fdd440cd00 grp = #2 0x000055fdd3179c66 in ProcXkbLatchLockState (client=0x55fdd47b2930) at xkb.c:560 status = dev = 0x55fdd43d8870 oldState = {group = 0 '\000', locked_group = 0 '\000', base_group = 0, latched_group = 0, mods = 0 '\000', base_mods = 0 '\000', latched_mods = 0 '\000', locked_mods = 0 '\000', compat_state = 0 '\000', grab_mods = 0 '\000', compat_grab_mods = 0 '\000', lookup_mods = 0 '\000', compat_lookup_mods = 0 '\000', ptr_buttons = 0} newState = 0x55fdd4422112 changed = stuff = #3 0x000055fdd30b5cc8 in Dispatch () at NXdispatch.c:482 clientReady = 0x55fdd44064a0 result = client = 0x55fdd47b2930 nready = icheck = 0x55fdd34e36d0 <checkForInput> start_tick = 0 currentDispatch = #4 0x000055fdd3099821 in main (argc=15, argv=0x7fff211e8358, envp=) at main.c:353 i = xauthfile = alwaysCheckForInput = {0, 1}

uli42 avatar May 15 '19 17:05 uli42

There'a bugreport in Fedora [1] that links to the Xorg bugreport [2]. That one states our fix is more a workaround for a problem happening elsewhere. So we need to revisit this.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1790606 [2] https://gitlab.freedesktop.org/xorg/xserver/issues/283

uli42 avatar Jan 14 '20 06:01 uli42

Note: the trigger mentioned in the above bugreports (=setxkbmap -option "compose:lwin"=) does not trigger the problem in a current nxagent.

uli42 avatar Jan 14 '20 06:01 uli42