Xpra: Ticket #1039: client crashes on debian unstable

Cannot attach to sessions with OpenGL enabled. (When I connect with "--opengl=no" it works fine, otherwise I get a segfault).

Tracing the code with pdb, I found that the segfault occcurs at line 178 of client/gl/gl_check.py#L178:

  gl_version_str = glGetString(GL_VERSION)

installed from deb package 0.15.8+dfsg-1 Debian sid (unstable), amd64

Full log pasted below:

$ xpra -d all attach :33
2015-11-22 21:40:14,480 cannot use pycups for printing: No module named cups
2015-11-22 21:40:14,579 vp8 codec defaults:
2015-11-22 21:40:14,579  target_bitrate=256
2015-11-22 21:40:14,579  min_quantizer=4
2015-11-22 21:40:14,579  max_quantizer=63
2015-11-22 21:40:14,579  undershoot_pct=100
2015-11-22 21:40:14,580  overshoot_pct=100
2015-11-22 21:40:14,580 our configuration:
2015-11-22 21:40:14,580  target_bitrate=16
2015-11-22 21:40:14,580  min_quantizer=35
2015-11-22 21:40:14,580  max_quantizer=47
2015-11-22 21:40:14,580  undershoot_pct=100
2015-11-22 21:40:14,580  overshoot_pct=100
2015-11-22 21:40:14,580 vpx_codec_enc_init_ver for vp8 succeeded
2015-11-22 21:40:14,581 vp8 setting cpu speed to -5
2015-11-22 21:40:14,581 vp8 setting cpu speed to -10
2015-11-22 21:40:14,582 vpx_codec_encode for vp8 took 0.3ms (deadline=0ms for speed=-1, quality=-1)
2015-11-22 21:40:14,582 vpx returning vp8 image: 49 bytes
2015-11-22 21:40:14,582 vp9 codec defaults:
2015-11-22 21:40:14,582  target_bitrate=256
2015-11-22 21:40:14,582  min_quantizer=0
2015-11-22 21:40:14,582  max_quantizer=63
2015-11-22 21:40:14,582  undershoot_pct=25
2015-11-22 21:40:14,582  overshoot_pct=25
2015-11-22 21:40:14,582 our configuration:
2015-11-22 21:40:14,582  target_bitrate=16
2015-11-22 21:40:14,583  min_quantizer=35
2015-11-22 21:40:14,583  max_quantizer=47
2015-11-22 21:40:14,583  undershoot_pct=100
2015-11-22 21:40:14,583  overshoot_pct=100
2015-11-22 21:40:14,590 vpx_codec_enc_init_ver for vp9 succeeded
2015-11-22 21:40:14,590 vp9 setting periodic Q boost to 0
2015-11-22 21:40:14,590 vp9 setting cpu speed to -3
2015-11-22 21:40:14,590 vp9 setting lossless to 0
2015-11-22 21:40:14,590 vp9 setting cpu speed to -5
2015-11-22 21:40:14,590 vp9 setting lossless to 0
2015-11-22 21:40:14,592 vpx_codec_encode for vp9 took 1.5ms (deadline=0ms for speed=-1, quality=-1)
2015-11-22 21:40:14,592 vpx returning vp9 image: 34 bytes
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_RGB24)=2
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_BGR24)=3
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_0RGB)=295
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_BGR0)=298
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_ARGB)=27
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_BGRA)=30
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_YUV420P)=0
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_YUV422P)=4
2015-11-22 21:40:14,651 av_enum(AV_PIX_FMT_YUV444P)=5
2015-11-22 21:40:14,652 av_enum(AV_PIX_FMT_GBRP)=82
2015-11-22 21:40:14,652 swscale pixel formats: {'YUV422P': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4884db5150>, 'BGR': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4884db5030>, 'BGRX': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4884db5078>, 'GBRP': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4884db51e0>, 'RGB': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4887ac3ed0>, 'YUV420P': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4884db50c0>, 'XRGB': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4884db5108>, 'YUV444P': <xpra.codecs.csc_swscale.colorspace_converter.CSCPixelFormat object at 0x7f4884db5198>}
2015-11-22 21:40:14,652 colorspaces: ['RGB', 'BGR', 'XRGB', 'BGRX', 'YUV420P', 'YUV422P', 'YUV444P', 'GBRP']
2015-11-22 21:40:14,652 SWS_BICUBIC=4
2015-11-22 21:40:14,652 ('SWS_BICUBIC',)=4
2015-11-22 21:40:14,652 SWS_BICUBLIN=64
2015-11-22 21:40:14,652 ('SWS_BICUBLIN',)=64
2015-11-22 21:40:14,652 SWS_BILINEAR=2
2015-11-22 21:40:14,652 ('SWS_BILINEAR',)=2
2015-11-22 21:40:14,652 SWS_FAST_BILINEAR=1
2015-11-22 21:40:14,652 ('SWS_FAST_BILINEAR',)=1
2015-11-22 21:40:14,652 swscale flags: [(30, <xpra.codecs.csc_swscale.colorspace_converter.SWSFlags object at 0x7f4887ab9d50>), (40, <xpra.codecs.csc_swscale.colorspace_converter.SWSFlags object at 0x7f4887ab9d20>), (60, <xpra.codecs.csc_swscale.colorspace_converter.SWSFlags object at 0x7f4887ab9db0>), (80, <xpra.codecs.csc_swscale.colorspace_converter.SWSFlags object at 0x7f4887ab9e40>)]
2015-11-22 21:40:14,661 csc_cython: byteorder(BGRA)=(0, 1, 2, 3)
2015-11-22 21:40:14,662 csc_cython: byteorder(BGR)=(2, 1, 0)
2015-11-22 21:40:14,662 csc_cython: byteorder(RGBX)=(0, 1, 2, 3)
2015-11-22 21:40:14,662 csc_cython: byteorder(RGB)=(2, 1, 0)
2015-11-22 21:40:14,892 avcodec2.init_module: CODECS=['h264', 'vp8', 'vp9', 'h265']
2015-11-22 21:40:14,896 webp.compress(1536 bytes, 24, 16, 24, 50, 50, True) buf=0x2ac55f0
2015-11-22 21:40:14,896 webp.compress config: lossless=0, quality=50.0, method=3, alpha=1,1,50
2015-11-22 21:40:14,898 webp.compress ratio=22%
2015-11-22 21:40:14,898 webp.compress(1536 bytes, 24, 16, 24, 50, 50, False) buf=0x2ac55f0
2015-11-22 21:40:14,898 webp.compress config: lossless=0, quality=50.0, method=3, alpha=0,0,0
2015-11-22 21:40:14,898 webp.compress ratio=118%
2015-11-22 21:40:14,898 WebPGetEncoderVersion()=0x403
2015-11-22 21:40:14,905 webp decompress found features: width=24, height=16, has_alpha=1, input rgb_format=None
2015-11-22 21:40:14,905 webp decompress found features: width=24, height=16, has_alpha=1, input rgb_format=None
2015-11-22 21:40:14,905 WebPGetDecoderVersion()=0x403
2015-11-22 21:40:15,479 xpra gtk2 client version 0.15.8 (r11211)
2015-11-22 21:40:15,707 found the following plugins: ['3gppmux', 'a52dec', 'aacparse', 'aasink', 'ac3iec958', 'ac3parse', 'adder', 'adpcmdec', 'adpcmenc', 'agingtv', 'aiffmux', 'aiffparse', 'alawdec', 'alawenc', 'alpha', 'alphacolor', 'alsamixer', 'alsasink', 'alsasrc', 'amrnbdec', 'amrnbenc', 'amrparse', 'amrwbdec', 'apedemux', 'apev2mux', 'apexsink', 'appsink', 'appsrc', 'asfdemux', 'asfmux', 'asfparse', 'aspectratiocrop', 'assrender', 'asteriskh263', 'audioamplify', 'audiochebband', 'audiocheblimit', 'audioconvert', 'audiodynamic', 'audioecho', 'audiofirfilter', 'audioiirfilter', 'audioinvert', 'audiokaraoke', 'audiopanorama', 'audioparse', 'audiorate', 'audioresample', 'audiosegmentclip', 'audiotestsrc', 'audiowsincband', 'audiowsinclimit', 'auparse', 'autoaudiosink', 'autoaudiosrc', 'autoconvert', 'autovideoconvert', 'autovideosink', 'autovideosrc', 'avidemux', 'avimux', 'avisubtitle', 'bayer2rgb', 'bin', 'bpmdetect', 'breakmydata', 'bulge', 'burn', 'bz2dec', 'bz2enc', 'cacasink', 'cairooverlay', 'cairorender', 'cairotextoverlay', 'cairotimeoverlay', 'camerabin', 'camerabin2', 'capsdebug', 'capsfilter', 'capssetter', 'cdaudio', 'cdiocddasrc', 'cdparanoiasrc', 'cdxaparse', 'checksumsink', 'chopmydata', 'chromahold', 'chromium', 'circle', 'clockoverlay', 'cmmldec', 'cmmlenc', 'cogcolorconvert', 'cogcolorspace', 'cogdownsample', 'coglogoinsert', 'cogmse', 'cogscale', 'coloreffects', 'colorspace', 'compare', 'cpureport', 'curlsink', 'cutter', 'dataurisrc', 'dc1394src', 'dcaparse', 'dccpclientsink', 'dccpclientsrc', 'dccpserversink', 'dccpserversrc', 'debugspy', 'decklinksink', 'decklinksrc', 'decodebin', 'decodebin2', 'deinterlace', 'deinterleave', 'dfbvideosink', 'dicetv', 'diffuse', 'dilate', 'diracparse', 'dodge', 'dtmfdetect', 'dtmfsrc', 'dtsdec', 'dv1394src', 'dvbbasebin', 'dvbsrc', 'dvbsuboverlay', 'dvddemux', 'dvdec', 'dvdemux', 'dvdlpcmdec', 'dvdreadsrc', 'dvdspu', 'dvdsubdec', 'dvdsubparse', 'dynudpsink', 'edgetv', 'efence', 'encodebin', 'equalizer-10bands', 'equalizer-3bands', 'equalizer-nbands', 'exclusion', 'faad', 'faceoverlay', 'fakesink', 'fakesrc', 'fbdevsink', 'fdsink', 'fdsrc', 'festival', 'ffmpegcolorspace', 'fieldanalysis', 'filesink', 'filesrc', 'fisheye', 'flacdec', 'flacenc', 'flacparse', 'flactag', 'flitetestsrc', 'flvdemux', 'flvmux', 'flxdec', 'fpsdisplaysink', 'freeverb', 'freeze', 'funnel', 'gamma', 'gaussianblur', 'gconfaudiosink', 'gconfaudiosrc', 'gconfvideosink', 'gconfvideosrc', 'gdkpixbufdec', 'gdkpixbufscale', 'gdkpixbufsink', 'gdpdepay', 'gdppay', 'giosink', 'giosrc', 'giostreamsink', 'giostreamsrc', 'gmedec', 'gnomevfssink', 'gnomevfssrc', 'goom', 'goom2k1', 'gppmux', 'gsettingsaudiosink', 'gsettingsaudiosrc', 'gsettingsvideosink', 'gsettingsvideosrc', 'gsmdec', 'gsmenc', 'gstrtpbin', 'gstrtpjitterbuffer', 'gstrtpptdemux', 'gstrtpsession', 'gstrtpssrcdemux', 'h263parse', 'h264parse', 'hdv1394src', 'hdvparse', 'hlsdemux', 'icydemux', 'id3demux', 'id3mux', 'id3v2mux', 'identity', 'imagefreeze', 'input-selector', 'interaudiosink', 'interaudiosrc', 'interlace', 'interleave', 'intervideosink', 'intervideosrc', 'irtspparse', 'ismlmux', 'ivfparse', 'jackaudiosink', 'jackaudiosrc', 'jifmux', 'jp2kdec', 'jp2kdecimator', 'jp2kenc', 'jpegdec', 'jpegenc', 'jpegparse', 'kaleidoscope', 'katedec', 'kateenc', 'kateparse', 'katetag', 'lame', 'lamemp3enc', 'legacyh264parse', 'legacympegvideoparse', 'legacyresample', 'level', 'libvisual_bumpscope', 'libvisual_corona', 'libvisual_infinite', 'libvisual_jakdaw', 'libvisual_jess', 'libvisual_lv_analyzer', 'libvisual_lv_scope', 'libvisual_oinksie', 'linsyssdisink', 'linsyssdisrc', 'liveadder', 'mad', 'marble', 'matroskademux', 'matroskamux', 'matroskaparse', 'measurecollector', 'mimdec', 'mimenc', 'mirror', 'mj2mux', 'mmssrc', 'modplug', 'monoscope', 'mp3parse', 'mp4mux', 'mpeg2dec', 'mpeg4videoparse', 'mpegaudioparse', 'mpegdemux', 'mpegparse', 'mpegpsdemux', 'mpegpsmux', 'mpegtsdemux', 'mpegtsmux', 'mpegtsparse', 'mpegvideoparse', 'mulawdec', 'mulawenc', 'multifdsink', 'multifilesink', 'multifilesrc', 'multipartdemux', 'multipartmux', 'multiqueue', 'multiudpsink', 'musepackdec', 'mvedemux', 'mvemux', 'mxfdemux', 'mxfmux', 'navigationtest', 'navseek', 'nsfdec', 'nuvdemux', 'ofa', 'oggaviparse', 'oggdemux', 'oggmux', 'oggparse', 'ogmaudioparse', 'ogmtextparse', 'ogmvideoparse', 'openalsink', 'openalsrc', 'optv', 'opusdec', 'opusenc', 'opusparse', 'oss4mixer', 'oss4sink', 'oss4src', 'ossmixer', 'osssink', 'osssrc', 'output-selector', 'patchdetect', 'pcapparse', 'pinch', 'pipeline', 'pitch', 'playbin', 'playbin2', 'playsink', 'pngdec', 'pngenc', 'pnmdec', 'pnmenc', 'pnmsrc', 'progressreport', 'pulseaudiosink', 'pulsemixer', 'pulsesink', 'pulsesrc', 'pushfilesrc', 'qtdemux', 'qtmoovrecover', 'qtmux', 'quarktv', 'queue', 'queue2', 'rademux', 'radioactv', 'rdtdepay', 'rdtmanager', 'removesilence', 'revtv', 'rfbsrc', 'rganalysis', 'rgb2bayer', 'rglimiter', 'rgvolume', 'rippletv', 'rmdemux', 'rndbuffersize', 'rotate', 'rsndvdbin', 'rsvgdec', 'rsvgoverlay', 'rtmpsink', 'rtmpsrc', 'rtpL16depay', 'rtpL16pay', 'rtpac3depay', 'rtpac3pay', 'rtpamrdepay', 'rtpamrpay', 'rtpasfdepay', 'rtpasfpay', 'rtpbvdepay', 'rtpbvpay', 'rtpceltdepay', 'rtpceltpay', 'rtpdec', 'rtpdepay', 'rtpdtmfdepay', 'rtpdtmfmux', 'rtpdtmfsrc', 'rtpdvdepay', 'rtpdvpay', 'rtpg722depay', 'rtpg722pay', 'rtpg723depay', 'rtpg723pay', 'rtpg726depay', 'rtpg726pay', 'rtpg729depay', 'rtpg729pay', 'rtpgsmdepay', 'rtpgsmpay', 'rtpgstdepay', 'rtpgstpay', 'rtph263depay', 'rtph263pay', 'rtph263pdepay', 'rtph263ppay', 'rtph264depay', 'rtph264pay', 'rtpilbcdepay', 'rtpilbcpay', 'rtpj2kdepay', 'rtpj2kpay', 'rtpjpegdepay', 'rtpjpegpay', 'rtpmp1sdepay', 'rtpmp2tdepay', 'rtpmp2tpay', 'rtpmp4adepay', 'rtpmp4apay', 'rtpmp4gdepay', 'rtpmp4gpay', 'rtpmp4vdepay', 'rtpmp4vpay', 'rtpmpadepay', 'rtpmpapay', 'rtpmparobustdepay', 'rtpmpvdepay', 'rtpmpvpay', 'rtpmux', 'rtpopusdepay', 'rtpopuspay', 'rtppcmadepay', 'rtppcmapay', 'rtppcmudepay', 'rtppcmupay', 'rtpqcelpdepay', 'rtpqdm2depay', 'rtpsirendepay', 'rtpsirenpay', 'rtpspeexdepay', 'rtpspeexpay', 'rtpsv3vdepay', 'rtptheoradepay', 'rtptheorapay', 'rtpvorbisdepay', 'rtpvorbispay', 'rtpvp8depay', 'rtpvp8pay', 'rtpvrawdepay', 'rtpvrawpay', 'rtpxqtdepay', 'rtspreal', 'rtspsrc', 'rtspwms', 'scaletempo', 'scenechange', 'schrodec', 'schroenc', 'sdidemux', 'sdimux', 'sdpdemux', 'sfsink', 'sfsrc', 'shagadelictv', 'shapewipe', 'shmsink', 'shmsrc', 'shout2send', 'siddec', 'sirendec', 'sirenenc', 'smokedec', 'smokeenc', 'smooth', 'smpte', 'smptealpha', 'solarize', 'souphttpclientsink', 'souphttpsrc', 'spacescope', 'spanplc', 'spectrascope', 'spectrum', 'speed', 'speexdec', 'speexenc', 'sphere', 'splitfilesrc', 'square', 'srtenc', 'ssaparse', 'ssim', 'stereo', 'streaktv', 'stretch', 'subparse', 'subtitleoverlay', 'synaescope', 'taginject', 'tcpclientsink', 'tcpclientsrc', 'tcpserversink', 'tcpserversrc', 'tee', 'teletextdec', 'testsink', 'textoverlay', 'textrender', 'theoradec', 'theoraenc', 'theoraparse', 'timeoverlay', 'tsdemux', 'tsparse', 'ttadec', 'ttaparse', 'tunnel', 'twirl', 'twolame', 'typefind', 'udpsink', 'udpsrc', 'uridecodebin', 'v4l2radio', 'v4l2sink', 'v4l2src', 'valve', 'vcdparse', 'vcdsrc', 'vertigotv', 'videoanalyse', 'videobalance', 'videobox', 'videocrop', 'videodetect', 'videoflip', 'videomark', 'videomaxrate', 'videomixer', 'videomixer2', 'videoparse', 'videorate', 'videoscale', 'videosegmentclip', 'videotestsrc', 'viewfinderbin', 'vmncdec', 'voaacenc', 'voamrwbenc', 'volume', 'vorbisdec', 'vorbisenc', 'vorbisparse', 'vorbistag', 'vp8dec', 'vp8enc', 'warptv', 'waterripple', 'wavenc', 'wavescope', 'wavpackdec', 'wavpackenc', 'wavpackparse', 'wavparse', 'webmmux', 'webvttenc', 'wildmidi', 'wrappercamerabinsrc', 'x264enc', 'ximagesink', 'ximagesrc', 'xingmux', 'xviddec', 'xvidenc', 'xvimagesink', 'y4mdec', 'y4menc', 'zbar', 'zebrastripe']
2015-11-22 21:40:15,708 initialized CODECS:
2015-11-22 21:40:15,708 * mp3 : ('lamemp3enc', None, 'mad', 'mp3parse')
2015-11-22 21:40:15,708 * wavpack : ('wavpackenc', None, 'wavpackdec', 'wavpackparse')
2015-11-22 21:40:15,708 * flac : ('flacenc', 'oggmux', 'flacdec', 'oggdemux')
2015-11-22 21:40:15,708 * wav : ('wavenc', None, None, 'wavparse')
2015-11-22 21:40:15,708 * speex : ('speexenc', 'oggmux', 'speexdec', 'oggdemux')
2015-11-22 21:40:15,708 speaker_allowed=True, speaker_codecs=['mp3', 'wavpack', 'flac', 'wav', 'speex']
2015-11-22 21:40:15,709 microphone_allowed=True, microphone_codecs=['mp3', 'wavpack', 'flac', 'wav', 'speex']
2015-11-22 21:40:15,709 csc_swscale.init_module()
2015-11-22 21:40:15,710 csc_cython.init_module()
2015-11-22 21:40:15,710 dec_avcodec2.init_module()
2015-11-22 21:40:15,710 vpx.decoder.init_module() info={'version': u'v1.4.0', 'vp8.colorspaces': ['YUV420P'], 'abi_version': 9, 'encodings': ['vp8', 'vp9'], 'build_config': '--prefix=/usr --enable-pic --enable-shared --disable-install-bins --disable-install-srcs --size-limit=16384x16384 --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --target=x86_64-linux-gcc', 'vp9.colorspaces': ['YUV420P', 'YUV444P']}
2015-11-22 21:40:15,710 supported codecs: ['vp8', 'vp9']
2015-11-22 21:40:15,710 supported colorspaces: {'vp9': ['YUV420P', 'YUV444P'], 'vp8': ['YUV420P']}
2015-11-22 21:40:15,710 init(..) ClientWindowClass=<class 'xpra.client.gtk2.border_client_window.BorderClientWindow'>
2015-11-22 21:40:15,710 init_opengl(None)
2015-11-22 21:40:15,711 init_opengl: going to import xpra.client.gl
2015-11-22 21:40:15,787 init_opengl: gl_check=<module 'xpra.client.gl.gl_check' from '/usr/lib/python2.7/dist-packages/xpra/client/gl/gl_check.pyc'>
2015-11-22 21:40:15,844 GL props={'has_alpha': True, 'gtkglext.version': (1, 2, 0), 'pygdkglext.version': (1, 1, 0), 'gdkgl.version': (1, 4), 'gdkglext.version': (1, 2, 0), 'rgba': True, 'display_mode': ['ALPHA', 'SINGLE'], 'glconfig': <gtk.gdkgl.Config object at 0x7f487c04dd20 (GdkGLConfigImplX11 at 0x2a7f300)>}
Segmentation fault


Mon, 23 Nov 2015 05:17:33 GMT - Antoine Martin: owner, description changed

@amitar: this call should never fail: we're just querying the GL driver version.

Sounds like your system's libraries are messed up. We do have code to detect the driver and library versions in use, so that we can blacklist problematic ones. But it doesn't even get that far.

So I will probably close this as notabug.


Sat, 05 Dec 2015 10:55:11 GMT - Antoine Martin: status changed; resolution set

Not heard back, closing. Feel free to re-open if you can provide more information.


Sat, 23 Jan 2021 05:13:13 GMT - migration script:

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