Xpra-org / xpra

Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.
https://xpra.org/
GNU General Public License v2.0
1.99k stars 169 forks source link

xpra server on FreeBSD dies when client connects #1288

Closed totaam closed 8 years ago

totaam commented 8 years ago

Issue migrated from trac ticket # 1288

component: server | priority: major | resolution: fixed

2016-08-21 15:01:31: akadanitan created the issue


I have built xpra (0.17.4) in a FreeBSD 10.3 jail and am able to run it like this:

$ LD_LIBRARY_PATH=/usr/local/lib/gcc48/ PYTHONPATH=./install/lib/python:$PYTHONPATH install/bin/xpra start :101 --daemon=no --clipboard=no --keyboard-sync=no --mmap=no --mdns=no
/home/dan/.xpra/js1-101 is not responding, waiting for it to timeout before clearing it.....
2016-08-21 13:55:01,262 created unix domain socket: /home/dan/.xpra/js1-101
2016-08-21 13:55:11,292 Warning: no X11 RandR support on :101
2016-08-21 13:55:11,431 Warning: failed to query OpenGL properties
2016-08-21 13:55:11,431  [Errno 2] No such file or directory
2016-08-21 13:55:11,479 ignored invalid default encoding option: h264
2016-08-21 13:55:11,531 Warning: webcam forwarding is disabled
2016-08-21 13:55:11,532  the virtual video directory '/sys/devices/virtual/video4linux' was not found
2016-08-21 13:55:11,532  make sure that the 'v4l2loopback' kernel module is installed and loaded
2016-08-21 13:55:11,533 found 0 virtual video devices
2016-08-21 13:55:11,676 Error: failed to query sound subsystem:
2016-08-21 13:55:11,677  [Errno 2] No such file or directory
2016-08-21 13:55:11,680 D-Bus notification forwarding is available
2016-08-21 13:55:11,691 xpra X11 version 0.17.4-[r12942](../commit/e5bbd224a997e395a2319706718861c87e1914be)
2016-08-21 13:55:11,692  running with pid 33803 on FreeBSD
2016-08-21 13:55:11,692  on display :101
2016-08-21 13:55:11,716 xpra is ready.
2016-08-21 13:56:01,723 New unix-domain connection received on /home/dan/.xpra/js1-101
2016-08-21 13:56:01,725 New unix-domain connection received on /home/dan/.xpra/js1-101
2016-08-21 13:56:01,736 Connection lost
2016-08-21 13:56:01,737 Handshake complete; enabling connection
2016-08-21 13:56:01,848 Python/Gtk2 Microsoft Windows 10 client version 0.17.4-12925
2016-08-21 13:56:01,849  connected from 'rapacious' as 'dan' - 'Dan'
2016-08-21 13:56:01,850  using h264 as primary encoding also available:
2016-08-21 13:56:01,850   vp9, vp8, png, png/P, png/L, rgb24, jpeg, rgb32
2016-08-21 13:56:01,853  client root window size is 2987x960 with 1 display:
2016-08-21 13:56:01,853   Default (1185x381 mm - DPI: 64x64) workarea: 2987x933
2016-08-21 13:56:01,854     DISPLAY1 1707x960 at 1280x0 (597x336 mm - DPI: 72x72) workarea: 1707x933
2016-08-21 13:56:01,854     DISPLAY2 1280x720 (521x293 mm - DPI: 62x62) workarea: 1280x720
2016-08-21 13:56:01,969 setting key repeat rate from client: 500ms delay / 33ms interval
2016-08-21 13:56:01,972 setting keyboard layout to 'us'
2016-08-21 13:56:01,973 Couldn't find rules file 'base'
Segmentation fault
$

I then attempt to connect to it from Windows 10, Xpra 0.17.4 revision 12925 and the server segfaults as can be seen above.

The output from gdb, including a backtrace, is:


$ /usr/local/bin/gdb /usr/local/bin/python 33803
GNU gdb (GDB) 7.11.1 [GDB v7.11.1 for FreeBSD]
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-portbld-freebsd10.1".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/bin/python...(no debugging symbols found)...done.
Attaching to program: /usr/local/bin/python, process 33803
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpython2.7.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libintl.so.8...(no debugging symbols found)...done.
Reading symbols from /lib/libutil.so.9...(no debugging symbols found)...done.
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_locale.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_socket.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_functools.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_ssl.so...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libssl.so.7...(no debugging symbols found)...done.
Reading symbols from /lib/libcrypto.so.7...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/cStringIO.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/time.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/strop.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/operator.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_struct.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_collections.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/itertools.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_heapq.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/select.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/fcntl.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/binascii.so...(no debugging symbols found)...done.
Reading symbols from /lib/libz.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_ctypes.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libffi.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_io.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/math.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_hashlib.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_random.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/bindings/wait_for_x_server.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libX11.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxcb.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/lib/librpcsvc.so.5...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXau.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpthread-stubs.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/zlib.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/lz4.so...(no debugging symbols found)...done.                                                                                  
Reading symbols from /usr/local/lib/python2.7/site-packages/rencode/_rencode.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/net/bencode/cython_bencode.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/glib/_glib.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpyglib-2.0-python2.7.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgobject-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgthread-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libglib-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libiconv.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpcre.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/gobject/_gobject.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/gtk-2.0/gtk/_gtk.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgtk-x11-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgdk-x11-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpangocairo-1.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libatk-1.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libcairo.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgdk_pixbuf-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgio-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpangoft2-1.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpango-1.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libfontconfig.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libfreetype.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXrender.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXinerama.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXi.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXrandr.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXcursor.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXext.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgmodule-2.0.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXcomposite.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXdamage.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXfixes.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libharfbuzz.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpixman-1.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libEGL.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libpng16.so.16...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxcb-shm.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxcb-render.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libGL.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libexpat.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libbz2.so.4...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgraphite2.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libX11-xcb.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxcb-dri2.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxcb-xfixes.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxcb-shape.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libgbm.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libdrm.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libglapi.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxcb-glx.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXxf86vm.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/lib/libc++.so.1...(no debugging symbols found)...done.
Reading symbols from /lib/libcxxrt.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/gcc48//libgcc_s.so.1...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/cairo/_cairo.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/gtk-2.0/gio/_gio.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/gtk-2.0/gio/unix.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/gtk-2.0/pango.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/gtk-2.0/atk.so...(no debugging symbols found)...done.                                                                           
Reading symbols from /usr/local/lib/python2.7/site-packages/gtk-2.0/pangocairo.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/gtk2/gdk_display_source.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/bindings/display_source.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/array.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/gtk2/gdk_bindings.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/bindings/window_bindings.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libXtst.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/bindings/core_bindings.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/argb/argb.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/bindings/ximage.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/_dbus_bindings.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libdbus-1.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/pyexpat.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/_dbus_glib_bindings.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libdbus-glib-1.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/bindings/keyboard_bindings.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libxkbfile.so.1...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/x11/bindings/randr_bindings.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/grp.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/datetime.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/_constant_time.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/_cffi_backend.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_bisect.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/unicodedata.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/PIL/_imaging.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libjpeg.so.8...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/PIL/_webp.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libwebp.so.6...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libwebpmux.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libwebpdemux.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libopenblas.so.0...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/gcc48//libgfortran.so.3...done.
Reading symbols from /usr/local/lib/gcc48//libquadmath.so.0...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/numpy/core/umath.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/cPickle.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/liblapack.so.4...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libblas.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libcblas.so.2...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/numpy/linalg/_umath_linalg.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/future_builtins.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/numpy/fft/fftpack_lite.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/site-packages/numpy/random/mtrand.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/vpx/encoder.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libvpx.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/python2.7/lib-dynload/_multiprocessing.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/vpx/decoder.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/enc_x264/encoder.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libx264.so.144...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/csc_swscale/colorspace_converter.so...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libswscale.so.3...(no debugging symbols found)...done.
Reading symbols from /usr/local/lib/libavutil.so.54...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/libav_common/av_log.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/csc_cython/colorspace_converter.so...(no debugging symbols found)...done.
Reading symbols from /usr/home/dan/xpra-0.17.4/install/lib/python/xpra/codecs/v4l2/pusher.so...(no debugging symbols found)...done.
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
[Switching to LWP 101941 of process 33803]
0x000000080153ab1a in _poll () from /lib/libc.so.7
(gdb) c
Continuing.
[New LWP 101974 of process 33803]
[New LWP 101975 of process 33803]
[New LWP 101148 of process 33803]
[New LWP 101104 of process 33803]
[New LWP 101110 of process 33803]
[New LWP 101977 of process 33803]
[New LWP 101976 of process 33803]
Thread 7 received signal SIGSEGV, Segmentation fault.
[Switching to LWP 101977 of process 33803]
0x0000000800ae2bdf in PyTuple_Pack () from /usr/local/lib/libpython2.7.so.1
(gdb) bt
#0  0x0000000800ae2bdf in PyTuple_Pack () from /usr/local/lib/libpython2.7.so.1
#1  0x000000081f5111cc in gateways () from /usr/local/lib/python2.7/site-packages/netifaces.so
#2  0x0000000800b2ddcf in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#3  0x0000000800b332c2 in ?? () from /usr/local/lib/libpython2.7.so.1
#4  0x0000000800b2dc99 in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#5  0x0000000800b332c2 in ?? () from /usr/local/lib/libpython2.7.so.1
#6  0x0000000800b2dc99 in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#7  0x0000000800b268b4 in PyEval_EvalCodeEx () from /usr/local/lib/libpython2.7.so.1
#8  0x0000000800ab759c in ?? () from /usr/local/lib/libpython2.7.so.1
#9  0x0000000800a93864 in PyObject_Call () from /usr/local/lib/libpython2.7.so.1
#10 0x0000000800a9f873 in ?? () from /usr/local/lib/libpython2.7.so.1
#11 0x0000000800a93864 in PyObject_Call () from /usr/local/lib/libpython2.7.so.1
#12 0x0000000800b2e0d7 in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#13 0x0000000800b268b4 in PyEval_EvalCodeEx () from /usr/local/lib/libpython2.7.so.1
#14 0x0000000800ab759c in ?? () from /usr/local/lib/libpython2.7.so.1
#15 0x0000000800a93864 in PyObject_Call () from /usr/local/lib/libpython2.7.so.1
#16 0x0000000800b2eb6f in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#17 0x0000000800b268b4 in PyEval_EvalCodeEx () from /usr/local/lib/libpython2.7.so.1
#18 0x0000000800ab759c in ?? () from /usr/local/lib/libpython2.7.so.1
#19 0x0000000800a93864 in PyObject_Call () from /usr/local/lib/libpython2.7.so.1
#20 0x0000000800b2eb6f in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#21 0x0000000800b332c2 in ?? () from /usr/local/lib/libpython2.7.so.1
#22 0x0000000800b2dc99 in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#23 0x0000000800b332c2 in ?? () from /usr/local/lib/libpython2.7.so.1
#24 0x0000000800b2dc99 in PyEval_EvalFrameEx () from /usr/local/lib/libpython2.7.so.1
#25 0x0000000800b268b4 in PyEval_EvalCodeEx () from /usr/local/lib/libpython2.7.so.1
#26 0x0000000800ab759c in ?? () from /usr/local/lib/libpython2.7.so.1
---Type <return> to continue, or q <return> to quit---
#27 0x0000000800a93864 in PyObject_Call () from /usr/local/lib/libpython2.7.so.1
#28 0x0000000800a9f873 in ?? () from /usr/local/lib/libpython2.7.so.1
#29 0x0000000800a93864 in PyObject_Call () from /usr/local/lib/libpython2.7.so.1
#30 0x0000000800b32a0d in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython2.7.so.1
#31 0x0000000800b68286 in ?? () from /usr/local/lib/libpython2.7.so.1
#32 0x0000000800827855 in ?? () from /lib/libthr.so.3
#33 0x00007fffdf3fb000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdf7fb000
(gdb)

I found this older ticket where the xpra server (also on a BSD) would die when a client connected, but I'm not sure if it similar. #64

totaam commented 8 years ago

2016-08-21 15:03:25: akadanitan changed component from android to server

totaam commented 8 years ago

2016-08-22 04:10:06: antoine changed owner from antoine to akadanitan

totaam commented 8 years ago

2016-08-22 04:10:06: antoine edited the issue description

totaam commented 8 years ago

2016-08-22 04:10:06: antoine commented


This looks identical to r12391. Can you run this without crashing:

$ python -c "import netifaces;print(netifaces.gateways())"

If not, then this is a netifaces bug. (what version do you have installed?)

Oh, and I believe this ticket has nothing to do with the client connecting: you should be able to cause the crash just by running "xpra info" on the server. (which will also query the gateways)

We can apply this to xpra to skip netifaces, as we already do on OSX:

--- xpra/net/net_util.py  (revision 13361)
+++ xpra/net/net_util.py  (working copy)
@@ -34,8 +34,8 @@
 def get_gateways():
  if not has_netifaces:
      return  {}
- #no idea why, but this causes crashes on OSX:
- if sys.platform.startswith("darwin"):
+ #no idea why, but this causes crashes on OSX and FreeBSD:
+ if sys.platform.startswith("darwin") or sys.platform.startswith("freebsd"):
      return {}
  try:
      d = netifaces.gateways()
totaam commented 8 years ago

2016-08-22 05:46:52: antoine changed status from new to closed

totaam commented 8 years ago

2016-08-22 05:46:52: antoine set resolution to fixed

totaam commented 8 years ago

2016-08-22 05:46:52: antoine commented


Tested on freebsd 10.3 and netifaces is completely broken there and crashes as soon as you call it.

This is a freebsd bug, r13420 (same as the patch above) just skips netifaces on freebsd.

totaam commented 8 years ago

2016-08-22 06:18:03: akadanitan commented


You are correct. Applying your patch to 0.17.4 does in fact resolve the issue.

I'll open a bug with FreeBSD. Thanks you for testing on your end.

totaam commented 8 years ago

2016-08-26 00:26:56: akadanitan commented


Thank you very much for fixing.

For reference, I am adding a link to the following ticket, which indicates that this is fixed in a certain version of python and netifaces: https://bitbucket.org/al45tair/netifaces/issues/15/gateways-function-crash-segmentation-fault

totaam commented 8 years ago

2016-08-26 04:58:08: antoine commented


I don't see in that upstream ticket which change fixed the crash so I've changed our code in r13468 to disable the call to netifaces.gateways() unless the netifaces version is 0.10.5 or later - which I have tested on OSX. netifaces version bump for rpms (pushed to stable repo) and osx builds in r13467.