Created attachment 1240375 [details]
log file of vncserver
Description of problem:
Segmentation fault when starting vncserver
Version-Release number of selected component (if applicable):
tigervnc.x86_64 1.3.1-9.el7 @rhel-7-server-rpms
tigervnc-icons.noarch 1.3.1-9.el7 @rhel-7-server-rpms
tigervnc-license.noarch 1.3.1-9.el7 @anaconda/7.3
tigervnc-server.x86_64 1.3.1-9.el7 @rhel-7-server-rpms
tigervnc-server-minimal.x86_64 1.3.1-9.el7 @anaconda/7.3
Segmentation faults every time
Steps to Reproduce:
1. run "vncserver -geometry 1280x1024"
Xvnc TigerVNC 1.3.1 - built Sep 13 2016 10:00:38
Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 11702000, The X.Org Foundation
Thu Jan 12 17:22:43 2017
vncext: VNC extension running!
vncext: Listening for VNC connections on all interface(s), port 5901
vncext: created VNC server for screen 0
(EE) 0: /usr/bin/Xvnc (xorg_backtrace+0x55) [0x5ba9f5]
(EE) 1: /usr/bin/Xvnc (0x400000+0x1be9d9) [0x5be9d9]
(EE) 2: /usr/lib64/libpthread.so.0 (0x7f7cedcb8000+0xf370) [0x7f7cedcc7370]
(EE) 3: /lib64/ld-linux-x86-64.so.2 (0x7f7cefa16000+0x5c09) [0x7f7cefa1bc09]
(EE) 4: /lib64/ld-linux-x86-64.so.2 (0x7f7cefa16000+0x836b) [0x7f7cefa1e36b]
(EE) 5: /lib64/ld-linux-x86-64.so.2 (0x7f7cefa16000+0x13684) [0x7f7cefa29684]
(EE) 6: /lib64/ld-linux-x86-64.so.2 (0x7f7cefa16000+0xeff4) [0x7f7cefa24ff4]
(EE) 7: /lib64/ld-linux-x86-64.so.2 (0x7f7cefa16000+0x12feb) [0x7f7cefa28feb]
(EE) 8: /usr/lib64/libdl.so.2 (0x7f7ceee3e000+0xfbb) [0x7f7ceee3efbb]
(EE) 9: /lib64/ld-linux-x86-64.so.2 (0x7f7cefa16000+0xeff4) [0x7f7cefa24ff4]
(EE) 10: /usr/lib64/libdl.so.2 (0x7f7ceee3e000+0x15bd) [0x7f7ceee3f5bd]
(EE) 11: /usr/lib64/libdl.so.2 (dlopen+0x31) [0x7f7ceee3f051]
(EE) 12: /usr/lib64/dri/swrast_dri.so (0x7f7ce63e3000+0x37d214) [0x7f7ce6760214]
(EE) 13: /usr/lib64/dri/swrast_dri.so (0x7f7ce63e3000+0x66d530) [0x7f7ce6a50530]
(EE) 14: /usr/lib64/dri/swrast_dri.so (0x7f7ce63e3000+0x968e0) [0x7f7ce64798e0]
(EE) 15: /usr/lib64/dri/swrast_dri.so (0x7f7ce63e3000+0x41dbd2) [0x7f7ce6800bd2]
(EE) 16: /usr/lib64/dri/swrast_dri.so (0x7f7ce63e3000+0x31946c) [0x7f7ce66fc46c]
(EE) 17: /usr/lib64/dri/swrast_dri.so (0x7f7ce63e3000+0x317042) [0x7f7ce66fa042]
(EE) 18: /usr/bin/Xvnc (0x400000+0x8e040) [0x48e040]
(EE) 19: /usr/bin/Xvnc (GlxExtensionInit+0x16a) [0x48d45a]
(EE) 20: /usr/bin/Xvnc (InitExtensions+0x43) [0x44d683]
(EE) 21: /usr/bin/Xvnc (dix_main+0x210) [0x56d910]
(EE) 22: /usr/lib64/libc.so.6 (__libc_start_main+0xf5) [0x7f7cecdbab35]
(EE) 23: /usr/bin/Xvnc (0x400000+0x4adba) [0x44adba]
(EE) Segmentation fault at address 0x7f7cefc35de0
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
Useless backtrace, will be probably fixed by doing rebase.
We've run into this where I work. We diagnosed it to be linked to invalid entries in LD_LIBRARY_PATH in our particular case. Obviously, it may be due to something else, so your mileage may vary.
Hope this helps.
That did it. Thank you! It turned out that I had set LD_LIBRARY_PATH to have a non-existent path. Removing it did the trick.
This is a bug added from the upgrade of tigervnc from 1.3.1-4.el7_2 (RHEL 7.2) to 1.3.1-9.el7 (RHEL 7.3), if you yum downgrade tigervnc* to 1.3.1-4.el7_2 it then works as expected, as well as fixing LD_LIBRARY_PATH noted above as an alternate workaround.
As my debug trace files include sensitive information, I'll open an issue on our Red Hat account and ask it be linked to this public BZ with a sosreport and so forth, as Engineeringbz#1326867 is private and we cannot see the actual changes (I suspect it's this one).
Here's a quick snippet of what I see in the RPM changelog between the two:
* Tue Sep 13 2016 Adam Jackson <ajax> - 1.3.1-9
- Force DT_RUNPATH to point to Mesa's libGL
* Thu Jun 02 2016 Jan Grulich <jgrulich> - 1.3.1-8
- Make other security types work
* Wed May 25 2016 Jan Grulich <jgrulich> - 1.3.1-7
- Restore default behaviour to listen on TCP
* Tue May 24 2016 Jan Grulich <jgrulich> - 1.3.1-6
- Do not fail to bind a network socket
Resolves: Red Hatbz#1332575
- Do not die when port is already taken
* Thu Mar 24 2016 Jan Grulich <jgrulich> - 1.3.1-5
- Update comments in vncserver configuration file example
In our case, the LD_LIBRARY_PATH is pre-preprepared in the user's (oracle) environment to start an Oracle installation, adding a directory in a custom path to it that has not yet been added/created by the Oracle installation process.
Hi Florian, thanks for the reminder - I worked on this in the Red Hat case internally and forgot to update here for the casual readers; the root cause does appear to be the glibc bug as you just added, it's just by accident that this update to tigervnc has exposed it. I'm working with our RH case to get it onto the roadmap for engineering and a future Errata some day. I tracked down the upstream commit fixing it after finding the patch on a mailing list post from 2014.