Xpra: Ticket #808: Xpra client - frequent crashes on OS X

Description: Segmentation fault

/Applications/Xpra.app/Contents/Resources/lib/python/gtk/gtkgl/widget.py:35: GtkWarning: gtk_widget_set_colormap: assertion 'GDK_IS_COLORMAP (colormap)' failed
/Applications/Xpra.app/Contents/Resources/lib/python/xpra/client/gtk_base/gtk_client_window_base.py:195: GtkWarning: gdk_colormap_get_visual: assertion 'GDK_IS_COLORMAP (colormap)' failed
/Users/user2/bin/xpra: line 4:  2880 Segmentation fault: 11  ./Xpra "$@"
System: Xpra version, platform and host information
env.ASCIIDOCTORJ_HOME            : /Users/user2/.gvm/asciidoctorj/current
env.Apple_PubSub_Socket_Render   : /private/tmp/com.apple.launchd.plLaX777Xj/Render
env.CHARSETALIASDIR              : /Applications/Xpra.app/Contents/Resources/lib
env.CLICOLOR                     : 1
env.CRASH_HOME                   : /Users/user2/.gvm/crash/current
env.DBUS_LAUNCHD_SESSION_BUS_SOCKET : /private/tmp/com.apple.launchd.aMaRGdGSxd/unix_domain_listener
env.DISPLAY                      : /private/tmp/com.apple.launchd.pQe9cJyRCU/org.macosforge.xquartz:0
env.DYLD_FALLBACK_LIBRARY_PATH   : /usr/X11/lib:/usr/lib::
env.DYLD_LIBRARY_PATH            : /Applications/Xpra.app/Contents/Resources/lib
env.GAIDEN_HOME                  : /Users/user2/.gvm/gaiden/current
env.GDK_PIXBUF_MODULE_FILE       : /Applications/Xpra.app/Contents/Resources/etc/gtk-2.0/gdk-pixbuf.loaders
env.GLIDE_HOME                   : /Users/user2/.gvm/glide/current
env.GRADLE_HOME                  : /Users/user2/.gvm/gradle/current
env.GRAILS_HOME                  : /Users/user2/.gvm/grails/current
env.GRIFFON_HOME                 : /Users/user2/.gvm/griffon/current
env.GROOVYSERV_HOME              : /Users/user2/.gvm/groovyserv/current
env.GROOVY_HOME                  : /Users/user2/.gvm/groovy/current
env.GST_PLUGIN_PATH              : /Applications/Xpra.app/Contents/Resources/lib/gstreamer-0.10
env.GST_PLUGIN_SCANNER           : /Applications/Xpra.app/Contents/Helpers/gst-plugin-scanner
env.GTK2_RC_FILES                : /Applications/Xpra.app/Contents/Resources/etc/gtk-2.0/gtkrc
env.GTK_DATA_PREFIX              : /Applications/Xpra.app/Contents/Resources
env.GTK_EXE_PREFIX               : /Applications/Xpra.app/Contents/Resources
env.GTK_IM_MODULE_FILE           : /Applications/Xpra.app/Contents/Resources/etc/gtk-2.0/gtk.immodules
env.GTK_PATH                     : /Applications/Xpra.app/Contents/Resources
env.GVM_BROADCAST_SERVICE        : http://cast.gvm.io
env.GVM_BROKER_SERVICE           : http://release.gvm.io
env.GVM_DIR                      : /Users/user2/.gvm
env.GVM_INIT                     : true
env.GVM_PLATFORM                 : Darwin
env.GVM_SERVICE                  : http://api.gvmtool.net
env.GVM_VERSION                  : 2.2.0
env.HOME                         : /Users/user2
env.ITERM_PROFILE                :
env.ITERM_SESSION_ID             : w0t1p0
env.JAVA_HOME                    : /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
env.JBAKE_HOME                   : /Users/user2/.gvm/jbake/current
env.LANG                         : C
env.LAZYBONES_HOME               : /Users/user2/.gvm/lazybones/current
env.LOGNAME                      : user2
env.LSCOLORS                     : gxBxhxDxfxhxhxhxhxcxcx
env.MANPATH                      : /Users/user2/.nvm/v0.10.36/share/man:/opt/local/share/man:/usr/local/share/man:/usr/share/man:/opt/X11/share/man:/usr/local/git/share/man:/Applications/Xcode.app/Contents/Developer/usr/share/man:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man
env.NVM_BIN                      : /Users/user2/.nvm/v0.10.36/bin
env.NVM_DIR                      : /Users/user2/.nvm
env.NVM_IOJS_ORG_MIRROR          : https://iojs.org/dist
env.NVM_IOJS_ORG_VERSION_LISTING : https://iojs.org/dist/index.tab
env.NVM_NODEJS_ORG_MIRROR        : https://nodejs.org/dist
env.NVM_PATH                     : /Users/user2/.nvm/v0.10.36/lib/node
env.NVM_RC_VERSION               :
env.PANGO_LIBDIR                 : /Applications/Xpra.app/Contents/Resources/lib
env.PANGO_RC_FILE                : /Applications/Xpra.app/Contents/Resources/etc/pango/pangorc
env.PANGO_SYSCONFDIR             : /Applications/Xpra.app/Contents/Resources/etc
env.PATH                         : /Users/user2/.gvm/vertx/current/bin:/Users/user2/.gvm/springboot/current/bin:/Users/user2/.gvm/lazybones/current/bin:/Users/user2/.gvm/jbake/current/bin:/Users/user2/.gvm/groovyserv/current/bin:/Users/user2/.gvm/groovy/current/bin:/Users/user2/.gvm/griffon/current/bin:/Users/user2/.gvm/grails/current/bin:/Users/user2/.gvm/gradle/current/bin:/Users/user2/.gvm/glide/current/bin:/Users/user2/.gvm/gaiden/current/bin:/Users/user2/.gvm/crash/current/bin:/Users/user2/.gvm/asciidoctorj/current/bin:/Users/user2/.nvm/v0.10.36/bin:/Users/user2/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin
env.PULSE_PROP_application.icon_name : /Applications/Xpra.app/Contents/Resources/share/xpra/icons/xpra.png
env.PULSE_PROP_application.name  : xpra
env.PULSE_PROP_media.role        : music
env.PWD                          : /Applications/Xpra.app/Contents/MacOS
env.PYTHON                       : /Applications/Xpra.app/Contents/Resources/bin/Xpra
env.PYTHONHOME                   : /Applications/Xpra.app/Contents/Resources
env.PYTHONPATH                   : /Applications/Xpra.app/Contents/Resources/lib/pygtk/2.0:/Applications/Xpra.app/Contents/Resources/lib/python/:/Applications/Xpra.app/Contents/Resources/lib/python/lib-dynload/:/Applications/Xpra.app/Contents/Resources/lib:
env.SHELL                        : /bin/bash
env.SHLVL                        : 2
env.SPRINGBOOT_HOME              : /Users/user2/.gvm/springboot/current
env.SSH_AUTH_SOCK                : /private/tmp/com.apple.launchd.i9QuP1VtOK/Listeners
env.TERM                         : xterm-256color
env.TERM_PROGRAM                 : iTerm.app
env.TMPDIR                       : /var/folders/_0/2t_2v6wj7bvgxyhjp20y_xwr0000gn/T/
env.USER                         : user2
env.VERTX_HOME                   : /Users/user2/.gvm/vertx/current
env.XDG_CONFIG_DIRS              : /Applications/Xpra.app/Contents/Resources/etc/xdg
env.XDG_DATA_DIRS                : /Applications/Xpra.app/Contents/Resources/share
env.XPC_FLAGS                    : 0x0
env.XPC_SERVICE_NAME             : 0
env.__CF_USER_TEXT_ENCODING      : 0x1F5:0x0:0x0
gtk.cairo.version                : 1.10.0
gtk.gdk.version                  : 2.24.0
gtk.glib.version                 : (2, 40, 0)
gtk.gobject.version              : (2, 28, 6)
gtk.gtk.version                  : (2, 24, 24)
gtk.pango.version                : 1.36.5
gtk.pygtk.version                : (2, 24, 0)
host.byteorder                   : little
host.gid                         : 20
host.hostname                    : Macbook
host.pid                         : 2964
host.python.full_version         : 2.7.9 (default, Dec 11 2014, 19:25:48) \n[GCC 4.2.1 (Apple Inc. build 5577)]
host.python.version              : (2, 7, 9)
host.uid                         : 501
paths.app                        : /Applications/Xpra.app/Contents/
paths.app.default                : /Applications/Xpra.app/Contents/Resources/share/xpra
paths.default_conf.dir           : /Applications/Xpra.app/Contents/Resources/
paths.home                       : /Users/user2
paths.icons                      : /Applications/Xpra.app/Contents/Resources/share/xpra/icons
paths.resources                  : /Applications/Xpra.app/Contents/Resources/
paths.socket                     : ~/.xpra
paths.system_conf_dir            : /Library/Application Support/Xpra
paths.user_conf_dir              : ~/.xpra
platform                         : darwin
platform.machine                 : x86_64
platform.name                    : Mac OSX
platform.platform                : Darwin-14.1.0-x86_64-i386-32bit
platform.processor               : i386
platform.release                 : 14.1.0
user.name                        :
user.username                    : user2
version.bit                      : 32bit
version.by                       : MacAdmin
version.compiler                 : i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5493)
version.cpu                      : i386
version.cython                   : 0.21.1
version.date                     : 2015-01-30
version.linker                   :
version.local_modifications      : 0
version.on                       : osx-2
version.python                   : (2, 7, 9)
version.revision                 : 8600
version.time                     : 11:32
version.version                  : 0.14.19
Network: Compression, packet encoding and encryption
bencode                          : True
bencode.version                  : ('Cython', 0, 11)
chunked_compression              : True
compressors                      : ['zlib', 'lz4', 'lzo']
digest                           : ('hmac', 'xor')
encoders                         : ['bencode', 'rencode', 'yaml']
interfaces                       : ['lo0', 'gif0', 'stf0', 'en1', 'en2', 'fw0', 'en0', 'p2p0', 'awdl0', 'bridge0']
lz4                              : True
lzo                              : True
lzo.version                      : 1.08
mmap                             : True
pycrypto                         : True
pycrypto.fastmath                : False
pycrypto.version                 : 2.6.1
raw_packets                      : True
rencode                          : True
rencode.version                  : ('Cython', 1, 0, 2)
yaml                             : True
yaml.version                     : 3.11
zlib                             : True
zlib.version                     : 1.0
Encodings: Picture encodings supported
PIL                              : 2.7.0
avcodec2                         : (56, 1, 100)
cython                           : (0, 3, '0', '21', '1')
dec_webp                         : (0, 4, 2)
enc_webp                         : (0, 4, 2)
numpy                            : 1.8.1
swscale                          : (3, 0, 100)
vpx                              : v1.3.0
x264                             : 142
OpenGL: OpenGL driver and features
GLU extensions                   :
GLU version                      : 1.3 MacOSX
display_mode                     : ['SINGLE']
extensions                       : ['GL_ARB_color_buffer_float', 'GL_ARB_depth_buffer_float', 'GL_ARB_depth_clamp', 'GL_ARB_depth_texture', 'GL_ARB_draw_buffers', 'GL_ARB_draw_elements_base_vertex', 'GL_ARB_draw_instanced', 'GL_ARB_fragment_program', 'GL_ARB_fragment_program_shadow', 'GL_ARB_fragment_shader', 'GL_ARB_framebuffer_object', 'GL_ARB_framebuffer_sRGB', 'GL_ARB_half_float_pixel', 'GL_ARB_half_float_vertex', 'GL_ARB_imaging', 'GL_ARB_instanced_arrays', 'GL_ARB_multisample', 'GL_ARB_multitexture', 'GL_ARB_occlusion_query', 'GL_ARB_pixel_buffer_object', 'GL_ARB_point_parameters', 'GL_ARB_point_sprite', 'GL_ARB_provoking_vertex', 'GL_ARB_seamless_cube_map', 'GL_ARB_shader_objects', 'GL_ARB_shader_texture_lod', 'GL_ARB_shading_language_100', 'GL_ARB_shadow', 'GL_ARB_sync', 'GL_ARB_texture_border_clamp', 'GL_ARB_texture_compression', 'GL_ARB_texture_compression_rgtc', 'GL_ARB_texture_cube_map', 'GL_ARB_texture_env_add', 'GL_ARB_texture_env_combine', 'GL_ARB_texture_env_crossbar', 'GL_ARB_texture_env_dot3', 'GL_ARB_texture_float', 'GL_ARB_texture_mirrored_repeat', 'GL_ARB_texture_non_power_of_two', 'GL_ARB_texture_rectangle', 'GL_ARB_texture_rg', 'GL_ARB_transpose_matrix', 'GL_ARB_vertex_array_bgra', 'GL_ARB_vertex_blend', 'GL_ARB_vertex_buffer_object', 'GL_ARB_vertex_program', 'GL_ARB_vertex_shader', 'GL_ARB_window_pos', 'GL_EXT_abgr', 'GL_EXT_bgra', 'GL_EXT_bindable_uniform', 'GL_EXT_blend_color', 'GL_EXT_blend_equation_separate', 'GL_EXT_blend_func_separate', 'GL_EXT_blend_minmax', 'GL_EXT_blend_subtract', 'GL_EXT_clip_volume_hint', 'GL_EXT_compiled_vertex_array', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_depth_bounds_test', 'GL_EXT_draw_buffers2', 'GL_EXT_draw_range_elements', 'GL_EXT_fog_coord', 'GL_EXT_framebuffer_blit', 'GL_EXT_framebuffer_multisample', 'GL_EXT_framebuffer_multisample_blit_scaled', 'GL_EXT_framebuffer_object', 'GL_EXT_framebuffer_sRGB', 'GL_EXT_geometry_shader4', 'GL_EXT_gpu_program_parameters', 'GL_EXT_gpu_shader4', 'GL_EXT_multi_draw_arrays', 'GL_EXT_packed_depth_stencil', 'GL_EXT_packed_float', 'GL_EXT_provoking_vertex', 'GL_EXT_rescale_normal', 'GL_EXT_secondary_color', 'GL_EXT_separate_specular_color', 'GL_EXT_shadow_funcs', 'GL_EXT_stencil_two_side', 'GL_EXT_stencil_wrap', 'GL_EXT_texture_array', 'GL_EXT_texture_compression_dxt1', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_env_add', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_integer', 'GL_EXT_texture_lod_bias', 'GL_EXT_texture_mirror_clamp', 'GL_EXT_texture_rectangle', 'GL_EXT_texture_shared_exponent', 'GL_EXT_texture_sRGB', 'GL_EXT_texture_sRGB_decode', 'GL_EXT_timer_query', 'GL_EXT_transform_feedback', 'GL_EXT_vertex_array_bgra', 'GL_APPLE_aux_depth_stencil', 'GL_APPLE_client_storage', 'GL_APPLE_element_array', 'GL_APPLE_fence', 'GL_APPLE_float_pixels', 'GL_APPLE_flush_buffer_range', 'GL_APPLE_flush_render', 'GL_APPLE_object_purgeable', 'GL_APPLE_packed_pixels', 'GL_APPLE_pixel_buffer', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_specular_vector', 'GL_APPLE_texture_range', 'GL_APPLE_transform_hint', 'GL_APPLE_vertex_array_object', 'GL_APPLE_vertex_array_range', 'GL_APPLE_vertex_point_size', 'GL_APPLE_vertex_program_evaluators', 'GL_APPLE_ycbcr_422', 'GL_ATI_separate_stencil', 'GL_ATI_texture_env_combine3', 'GL_ATI_texture_float', 'GL_ATI_texture_mirror_once', 'GL_IBM_rasterpos_clip', 'GL_NV_blend_square', 'GL_NV_conditional_render', 'GL_NV_depth_clamp', 'GL_NV_fog_distance', 'GL_NV_fragment_program_option', 'GL_NV_fragment_program2', 'GL_NV_light_max_exponent', 'GL_NV_multisample_filter_hint', 'GL_NV_point_sprite', 'GL_NV_texgen_reflection', 'GL_NV_texture_barrier', 'GL_NV_vertex_program2_option', 'GL_NV_vertex_program3', 'GL_SGIS_generate_mipmap', 'GL_SGIS_texture_edge_clamp', 'GL_SGIS_texture_lod', '']
gdkgl_version                    : (1, 0)
gdkglext_version                 : (1, 2, 0)
glconfig                         : <gtk.gdkgl.Config object at 0xbffdf30 (GdkGLConfigImplQuartz at 0x1207ad0)>
has_alpha                        : True
opengl                           : (2, 1)
pygdkglext_version               : (1, 0, 0)
pyopengl                         : 3.1.0
renderer                         : NVIDIA GeForce GT 650M OpenGL Engine
rgba                             : True
shading language version         : 1.20
vendor                           : NVIDIA Corporation
zerocopy                         : True


Fri, 13 Feb 2015 15:07:54 GMT - majika: version changed


Fri, 13 Feb 2015 15:45:26 GMT - Antoine Martin: owner changed; milestone set

Does turning off opengl help?


Sat, 14 Feb 2015 14:14:46 GMT - majika:

The crash would happen maybe 3 times a day average. It seems OK so far using --opengl=no but I need to test some more. I'll report back.


Sun, 15 Feb 2015 04:16:33 GMT - Antoine Martin:

Probably a flaky opengl library on osx, see #563, #695, #593


Sat, 21 Mar 2015 17:44:21 GMT - Antoine Martin: owner changed

Hopefully we can get a more reliable client toolkit in the future, either GTK3 (as per #90) or something else. Until then, I don't want to start blacklisting every driver.. so I don't know what to do with this one. @afarr: thoughts? crashes are bad... but the non-opengl experience is pretty bad I think. Which one is the worst?


Wed, 01 Apr 2015 01:05:03 GMT - alas: owner changed

I regularly force --opengl=on on my osx with an Intel video card... it rarely crashes on me.

Testing with the opengl off, whether with an older machine that just plain doesn't have supporting opengl libraries or with the newer with the blacklist isn't that bad of an experience, overall... but I have a high tolerance for some jerkiness in my video and such.

All told, I don't think the blacklisting is as bad as the crashes... especially if one has the option of "living dangerously" by forcing it on. It is odd though, we have a number of NVIDIA cards around here, and we haven't seen anything near 3 crashes a day. Or at least not that we'd identified, but come to think of it there was a surprisingly quick crash that did involve an NVIDIA card - so maybe the connection just eluded us.

I suspect, by the way, that wireless contributes to the opengl issues on osx... which might be useful for anyone coming across this, but I'm not sure that this helps with finding a solution.

I'll pass this back to you, and leave you to make a final (reluctant) decision.


Thu, 02 Apr 2015 09:43:59 GMT - Antoine Martin: status changed

I guess we could split the blacklist into a greylist so that we start the client with opengl disabled but with the menu option to enable it on the fly, rather than requiring the command line argument. I'll try to get that in.


Tue, 14 Apr 2015 18:04:39 GMT - Antoine Martin:

Greylist added for Intel (on OSX and win32) and nvidia (osx only): done in r9001. Testing blocked by #724.


Tue, 14 Apr 2015 18:31:43 GMT - Antoine Martin: owner, status changed

Ready for testing: those cards should now start with opengl turned off but with the ability to turn opengl back on from the tray menu.


Wed, 22 Apr 2015 20:19:39 GMT - J. Max Mena:

Tested an OSX (10.10 with Intel, 10.8 with Nvidia) r9116 client(s) against an r9116 Fedora 20 server:


Thu, 23 Apr 2015 04:36:20 GMT - Antoine Martin: status changed; resolution set


Wed, 29 Apr 2015 02:47:00 GMT - Antoine Martin:

Worth mentioning #818, painting the spinners with opengl may make the opengl=on more stable.


Wed, 06 May 2015 09:50:52 GMT - Antoine Martin:

re comment:12, or not. See ticket:818#comment:9


Sun, 10 May 2015 11:59:52 GMT - Antoine Martin:

See ticket:818#comment:10 - let's see how re-enabling opengl works out. (for 0.16)


Wed, 16 Dec 2015 03:39:22 GMT - Antoine Martin:

The Intel driver is greylisted again in 0.16, see wiki/ClientRendering/OpenGL


Sat, 23 Jan 2021 05:06:38 GMT - migration script:

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