Red Hat Bugzilla – Bug 1317869
Xephyr crashes when launched over ssh X forwarding from Windows
Last modified: 2016-11-03 22:50:57 EDT
Description of problem: Xephyr crashes with below backtrace when launched over ssh X forwarded session from Windows. Xephyr unable to use SHM XImages (EE) (EE) Backtrace: (EE) 0: Xephyr (xorg_backtrace+0x55) [0x5af7b5] (EE) 1: Xephyr (0x400000+0x1b3669) [0x5b3669] (EE) 2: /lib64/libpthread.so.0 (0x7f2963ff3000+0xf100) [0x7f2964002100] (EE) 3: /lib64/libxcb-xv.so.0 (xcb_xv_query_adaptors_info_iterator+0x0) [0x7f29627ad050] (EE) 4: Xephyr (0x400000+0x310fb) [0x4310fb] (EE) 5: Xephyr (0x400000+0x2b34d) [0x42b34d] (EE) 6: Xephyr (0x400000+0xaf25b) [0x4af25b] (EE) 7: Xephyr (AddScreen+0x71) [0x472971] (EE) 8: Xephyr (0x400000+0xaf729) [0x4af729] (EE) 9: Xephyr (0x400000+0x7644b) [0x47644b] (EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7f2960d39b15] (EE) 11: Xephyr (0x400000+0x2a039) [0x42a039] (EE) (EE) Segmentation fault at address 0x8 (EE) Fatal server error: (EE) Caught signal 11 (Segmentation fault). Server aborting (EE) Version-Release number of selected component (if applicable): xorg-x11-server-Xephyr-1.17.2-10.el7.x86_64 mobaXterm-8.6 on Windows How reproducible: Steps to Reproduce: 1. Login to rhel7 over ssh using mobaXterm from Windows 2. Launch Xephyr Xephyr :1 Actual results: crash Expected results: no crash Additional info: Launch of Xephyr with -noxv option helps to workaround this issue.
Program terminated with signal 11, Segmentation fault. #0 xcb_xv_query_adaptors_info_iterator (R=R@entry=0x0) at xv.c:690 690 return i; (gdb) t a a bt full Thread 1 (Thread 0x7f30ad7cfa00 (LWP 21497)): #0 xcb_xv_query_adaptors_info_iterator (R=R@entry=0x0) at xv.c:690 No locals. #1 0x00000000004310fb in ephyrXVPrivQueryHostAdaptors (a_this=0x22e0150) at ephyrvideo.c:482 conn = <optimized out> i = 0 is_ok = 0 e = 0x0 xscreen = 0x22d53f8 base_port_id = 0 port_priv_offset = 0 it = {data = 0x0, rem = 0, index = 0} #2 ephyrXVPrivNew () at ephyrvideo.c:260 xv_priv = 0x22e0150 #3 ephyrInitVideo (pScreen=0x22de060) at ephyrvideo.c:230 screen = <optimized out> xv_priv = 0x0 #4 0x000000000042b34d in ephyrInitScreen (pScreen=0x22de060) at ephyr.c:664 screen = 0x22ce5d0 #5 0x00000000004af25b in KdScreenInit (pScreen=pScreen@entry=0x22de060, argc=argc@entry=2, argv=argv@entry=0x7ffff56f26d8) at kdrive.c:901 screen = 0x22ce5d0 card = 0x22ce590 rotated = <optimized out> width = 640 height = 480 width_mmp = 0x22ce608 height_mmp = 0x22ce60c #6 0x0000000000472971 in AddScreen (pfnInit=pfnInit@entry=0x4af040 <KdScreenInit>, argc=argc@entry=2, argv=argv@entry=0x7ffff56f26d8) at dispatch.c:3866 i = 0 pScreen = 0x22de060 ret = <optimized out> #7 0x00000000004af729 in KdAddScreen (argv=<optimized out>, argc=<optimized out>, screen=<optimized out>, pScreenInfo=<optimized out>) at kdrive.c:1062 i = <optimized out> #8 KdInitOutput (pScreenInfo=pScreenInfo@entry=0x86e320 <screenInfo>, argc=argc@entry=2, argv=argv@entry=0x7ffff56f26d8) at kdrive.c:1125 card = 0x22ce590 screen = 0x22ce5d0 #9 0x000000000042ce37 in InitOutput (pScreenInfo=pScreenInfo@entry=0x86e320 <screenInfo>, argc=argc@entry=2, argv=argv@entry=0x7ffff56f26d8) at ephyrinit.c:88 No locals. #10 0x000000000047644b in dix_main (argc=2, argv=0x7ffff56f26d8, envp=<optimized out>) at main.c:202 i = <optimized out> alwaysCheckForInput = {0, 1} #11 0x00007f30a8aaeb15 in __libc_start_main (main=0x429fe0 <main>, argc=2, ubp_av=0x7ffff56f26d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffff56f26c8) at libc-start.c:274 result = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -5180591105851376941, 4366352, 140737311090384, 0, 0, 5180614051418225363, 5078800904215608019}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x5c0b80 <__libc_csu_init>, 0x7ffff56f26d8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 6032256}}} not_first_call = <optimized out> #12 0x000000000042a039 in _start () No symbol table info available. (gdb)
Could there be any problem from X server side? or can we handle it to terminate with appropriate error instead of crash? I checked on Fedora 23 and same is the case there with xorg-x11-server-Xephyr-1.18.1-3.fc23.x86_64
Oh that's cute. Your X server supports the XVIDEO extension, but lists no adaptors. Out of curiosity, which X server are you using on Windows, and what does "xvinfo" print in this situation?
Customer wants an update on this bz soon as they want to rollout a few servers using Xephyr in autumn and won't use the workaround permanently.
It's a bug in Xephyr. I've sent a patch for it upstream: https://lists.freedesktop.org/archives/xorg-devel/2016-July/050322.html I expect this to be fixed in 7.3, just waiting on acks.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2293.html