Xpra: Ticket #1288: xpra server on FreeBSD dies when client connects

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
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-r12925
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



Sun, 21 Aug 2016 14:03:25 GMT - akadanitan: component changed


Sun, 21 Aug 2016 14:03:41 GMT - akadanitan: cc set


Mon, 22 Aug 2016 03:10:05 GMT - Antoine Martin: owner, description changed

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()

Mon, 22 Aug 2016 04:46:51 GMT - Antoine Martin: status changed; resolution set

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.


Mon, 22 Aug 2016 05:18:03 GMT - akadanitan:

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.


Thu, 25 Aug 2016 23:26:55 GMT - akadanitan:

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


Fri, 26 Aug 2016 03:58:08 GMT - Antoine Martin:

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.


Sat, 23 Jan 2021 05:20:11 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1288