Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x11vnc -connect … -threads crashes in Fedora ≥ 40 #250

Open
ppisar opened this issue Jun 25, 2024 · 0 comments
Open

x11vnc -connect … -threads crashes in Fedora ≥ 40 #250

ppisar opened this issue Jun 25, 2024 · 0 comments
Labels

Comments

@ppisar
Copy link

ppisar commented Jun 25, 2024

"/src/x11vnc -display :0 -connect localhost:8000 -threads" crashes during establishing a session in various ways. E.g. like this:

25/06/2024 16:03:01 Making connection to client on host localhost port 8000
25/06/2024 16:03:01   0 other clients
25/06/2024 16:03:01 Normal socket connection
25/06/2024 16:03:01 Disabled X server key autorepeat.
25/06/2024 16:03:01   to force back on run: 'xset r on' (3 times)
25/06/2024 16:03:01 incr accepted_client=1 for ::1:8000  sock=12
25/06/2024 16:03:01 reverse_connect: localhost:8000/::1 OK
25/06/2024 16:03:01 reverse_connect: turning on auth for ::1
25/06/2024 16:03:01 client progressed=0 in 15/10 0.000006 s
25/06/2024 16:03:01 Client Protocol Version 3.8
25/06/2024 16:03:01 Protocol version sent 3.8, using 3.8
25/06/2024 16:03:01 Send channel security type 'none'
25/06/2024 16:03:01 rfbProcessClientSecurityType: executing handler for type 1
25/06/2024 16:03:01 rfbProcessClientSecurityType: returning securityResult for client rfb version >= 3.8
25/06/2024 16:03:01 rfbProcessClientNormalMessage: unknown message type 87
25/06/2024 16:03:01  ... closing connection
25/06/2024 16:03:01 client_count: 0
25/06/2024 16:03:01 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0xFFFFFEC6)
25/06/2024 16:03:01 rfbProcessClientNormalMessage: read: Bad file descriptor
25/06/2024 16:03:01 Restored X server key autorepeat to: 1
25/06/2024 16:03:01 viewer exited.
25/06/2024 16:03:01 client_count: 0
25/06/2024 16:03:01 viewer exited.
double free or corruption (!prev)
extra[1] signal: 6
Aborted (core dumped)

This is a built from the latest commit a61f364, configured with:

./configure --build=x86_64-redhat-linux --host=x86_64-redhat-linux --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-avahi --with-colormultipointer --with-crypto --with-dpms --with-fbdev --without-fbpm --without-macosx-native --with-ssl --with-uinput --with-x --without-xcomposite --with-xdamage --with-xfixes --with-xinerama --with-xkeyboard --with-xrandr --with-xrecord --without-xtrap 'CFLAGS=-O0 -g'

The crash is probably triggered by a compiler or some of the build-time dependencies. I was unable to pin point what's the exact trigger. I only can tell that it does not happen in Fedora 39, but happens since Fedora 40 (GCC 14.1.1, glibc 2.39, libX11 1.8.9). It's x86_64 platform.

It does not happen without -threads option. It looks like a newer compiler is more aggressive in optimizations and the threaded implementation does not properly accesses to shared memory ("unknown message type 87", "read: Bad file descriptor", "double free or corruption").

The "double free or corruption" message and SIGABRT come from glibc memory allocator. Valgrind did not show anything relevant, gdb crashed for a different reason).

By the way, an official Fedora build log https://kojipkgs.fedoraproject.org//packages/x11vnc/0.9.16%5E20230801gita61f364/2.fc40/data/logs/x86_64/build.log which uses more hardening options than CFLAGS='-O0 -g', shows many warnings.

The original bug report from a Fedora user https://bugzilla.redhat.com/show_bug.cgi?id=2294197.

@ppisar ppisar added the bug label Jun 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant