Xpra: Ticket #563: OSX client crashes with Intel opengl driver

as frequently as every two minutes.



Fri, 02 May 2014 20:59:35 GMT - Troy Cauble: attachment set

Output from client Xpra instance


Fri, 02 May 2014 21:00:02 GMT - Troy Cauble: attachment set

Stack traces captured by OSX


Fri, 02 May 2014 23:44:18 GMT - Troy Cauble:

OSX client talking to Ubuntu 12.04 server.


Sat, 03 May 2014 04:18:08 GMT - Antoine Martin: owner changed

Please give us some details to investigate - some generic guidelines can be found here: wiki/ReportingBugs.

etc..


Sat, 03 May 2014 12:51:47 GMT - Troy Cauble:

It is a regression. I don't know from when, I only use xpra occasionally. I'm only using one application with xpra lately, calibre.

IMO, it seems more likely for a library problem on the client to crash the client than one on the server. /Applications/Xpra.app/Contents/Resources/lib

Last night I used --opengl=no and experienced no crashes. But I may not have used it long enough to be sure. I always use --no-microphone --no-speaker --no-pulseaudio.


Sun, 04 May 2014 14:44:08 GMT - Antoine Martin: owner changed

it seems more likely for a library problem on the client


Yes, you're right: I have looked at your stacktrace and although there were encoding related issues in the command output I looked at first ("too many threads/slices 4, reducing to 3" which is an h264 decoding message that can be triggered by the server side encoding settings), the real problem is here (edited trace):

libgdk-quartz-2.0.0.dylib           0x02a061b4 gdk_colormap_get_visual + 56
libgtk-quartz-2.0.0.dylib           0x027cb1df gtk_widget_get_visual + 162
libgtk-quartz-2.0.0.dylib           0x027da3f6 gtk_window_realize + 434
libgobject-2.0.0.dylib              0x020a3ed7 g_cclosure_marshal_VOID__VOIDv + 105
libgobject-2.0.0.dylib              0x020a1774 g_type_class_meta_marshalv + 105
libgobject-2.0.0.dylib              0x020a1335 _g_closure_invoke_va + 375
libgobject-2.0.0.dylib              0x020bab1d g_signal_emit_valist + 1468
libgobject-2.0.0.dylib              0x020bb7c9 g_signal_emit + 44
libgtk-quartz-2.0.0.dylib           0x027c23cc gtk_widget_realize + 446
_gtk.so                             0x0324df19 _wrap_gtk_widget_realize + 46
(...)
libpython2.7.dylib                  0x00022cfe instancemethod_call + 350
libpython2.7.dylib                  0x00011485 PyObject_Call + 85
libpython2.7.dylib                  0x000bfe1e PyEval_CallObjectWithKeywords + 78
libpython2.7.dylib                  0x00011530 PyObject_CallObject + 32
libpyglib-2.0-python.0.dylib        0x020939f2 _pyglib_handler_marshal + 130
libglib-2.0.0.dylib                 0x0223f5eb g_idle_dispatch + 71
libglib-2.0.0.dylib                 0x0223ceec g_main_dispatch + 399
libglib-2.0.0.dylib                 0x0223db65 g_main_context_dispatch + 41
libglib-2.0.0.dylib                 0x0223dd44 g_main_context_iterate + 466
libglib-2.0.0.dylib                 0x0223e176 g_main_loop_run + 476

I have no idea how calling gdk_colormap_get_visual could ever cause a crash.


Problem is that I only use OSX from a virtualbox virtual machine, and so I don't have opengl enabled when I do.. afarr: can you reproduce this with the 0.12.5 binaries?


Mon, 05 May 2014 20:28:44 GMT - alas:

Testing with 0.12.5 r6328 osx (your dist, with --opengl=on) against a fedora 19 server running 0.12.5 r6329 (also your dist) - I am not getting any crashes. I am getting extreme pixelation of video however, and I'm also seeing a lot of blurring of text when I scroll on a page (which usually sharpens when the scrolling stops). Not sure if any of that is related though, care for screenshots or further debug output?

I also installed calibre to see if it might be something particular to the program, but it looks like I would need to set up some sort of ebook library before the program will do anything. Are there any other applications that might be a better test of these libraries than just running video &/or text in a browser?


Mon, 05 May 2014 21:00:24 GMT - Troy Cauble:

Replying to troycauble:

Last night I used --opengl=no and experienced no crashes. But I may not have used it long enough to be sure.

I would now say that now I have used "--opengl=no" enough to say that it does not crash with this set.


Mon, 05 May 2014 22:25:43 GMT - Troy Cauble:

It appears that the Xpra build process for OSX involves gathering up all the libraries from the python-config of whoever does the build. So one question might be "Is that python environment up to date?"

If someone can supply an Xpra.dmg with debugging symbols in whatever libraries they think appropriate, I will try to return a core file.

Otherwise, if you want to keep trying to duplicate with calibre, I would suggest downloading a couple of free ebooks from gutenberg.org and repeatedly edit the metadata via the "e" dialog ("e", edit, apply, repeat).


Tue, 06 May 2014 01:09:13 GMT - alas:

Just to satisfy my curiosity, since it was mentioned "I may not have used it long enough to be sure", I decided to just let video play on an otherwise relatively idle machine.

After a little over two hours of video streaming my client indicated the connection was lost (streaming output server-side, without any debug flags, to a local file... there was no indication on the server side of any issues at all).

troycauble: how long is "long enough" with this issue for you?


Tue, 06 May 2014 02:14:52 GMT - Troy Cauble:

When I was having the problem, less than 5 minutes. Clicking, typing, dialogs. When I didn't have the problem, with --opengl=no, > 30 minutes.


Thu, 08 May 2014 14:56:38 GMT - Antoine Martin:

I think there's a pretty good chance that this issue is due to alpha blending (gdk_colormap_get_visual). Maybe transparent tooltips? So playing a video is unlikely to exercise that, whereas hovering over widgets and getting tooltips to show up might.


troycauble: can you please confirm this theory by running the client with:

export XPRA_ALPHA=0
./Xpra.app/Contents/MacOS/Xpra attach --opengl=yes ...

does that also prevent the crashes?


Is that python environment up to date?


Excellent question. Short answer: yes. Long answer:

Time to ask smo what happens when we bump GTK to the latest version. (re-assigning ticket) Can we do that safely? Can you update the modulesets? (then I'll rebuild everything, including all the nasty gtkgl bits)


afarr: "extreme pixelation" sounds like a bug, but it does not belong here unless it is related to the crashes. Does it happen with other platforms or just OSX? Which versions are affected and which ones aren't, etc.. (in a new ticket please)


Thu, 08 May 2014 14:57:04 GMT - Antoine Martin: owner changed

smo: please see questions in comment:10


Thu, 08 May 2014 22:59:36 GMT - Troy Cauble:

After using

export XPRA_ALPHA=0
./Xpra.app/Contents/MacOS/Xpra attach --opengl=yes ...

for a few minutes I got a different crash. Attaching XPRA.CRASH2.


Thu, 08 May 2014 23:00:26 GMT - Troy Cauble: attachment set

2nd crash type, using XPRA_ALPHA=0 and --opengl=yes ...


Fri, 09 May 2014 01:02:59 GMT - Antoine Martin: owner changed

This crash ends somewhere different:

libgdk-quartz-2.0.0.dylib           0x0202a035 gdk_window_new + 868
libgtk-quartz-2.0.0.dylib           0x01dda5da gtk_window_realize + 918
libgobject-2.0.0.dylib              0x007a3ed7 g_cclosure_marshal_VOID__VOIDv + 105
libgobject-2.0.0.dylib              0x007a1774 g_type_class_meta_marshalv + 105
libgobject-2.0.0.dylib              0x007a1335 _g_closure_invoke_va + 375
libgobject-2.0.0.dylib              0x007bab1d g_signal_emit_valist + 1468
libgobject-2.0.0.dylib              0x007bb7c9 g_signal_emit + 44
libgtk-quartz-2.0.0.dylib           0x01dc23cc gtk_widget_realize + 446
_gtk.so                             0x0284df19 _wrap_gtk_widget_realize + 46
...

So it isn't related to transparency, that was a red herring. I'm still don't understand why you're the only one reporting this problem.

Can you please post the output of the gl_check.py script:

./Xpra.app/Contents/Helpers/Python ./Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc

Maybe I can blacklist this particular card, opengl is still a fairly significant win in terms of performance so I don't want to disable it for all macs.


Fri, 09 May 2014 02:10:11 GMT - Troy Cauble:

Verified the second crash with XPRA_ALPHA=0 and --opengl=yes and with JUST --opengl=yes.

Got the original crash again by not setting --opengl at all. So, is auto different from yes and no ??


Fri, 09 May 2014 02:13:10 GMT - Troy Cauble:

$ ./Xpra.app/Contents/Helpers/Python ./Xpra.app/Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc
** (OpenGL-Check:30307): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:30307): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'
** (OpenGL-Check:30307): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:30307): WARNING **: Trying to register gtype '(null)' as enum when in fact it is of type '(null)'
2014-05-08 22:12:06,502 Unable to load ArrayDatatype accelerator from OpenGL_accelerate
2014-05-08 22:12:06,506 Unable to load converters accelerators (wrapper, arraydatatype) from OpenGL_accelerate
2014-05-08 22:12:06,507 Unable to load arrayhelpers accelerator from OpenGL_accelerate
2014-05-08 22:12:06,625 Unable to load VBO accelerator from OpenGL_accelerate
2014-05-08 22:12:06,730 Unable to load numpy_formathandler accelerator from OpenGL_accelerate
2014-05-08 22:12:06,730 PyOpenGL warning: OpenGL_accelerate module loaded
2014-05-08 22:12:06,734
2014-05-08 22:12:06,734
2014-05-08 22:12:06,735 OpenGL properties:
2014-05-08 22:12:06,735   pygdkglext_version       : (1, 0, 0)
2014-05-08 22:12:06,735   has_alpha                : True
2014-05-08 22:12:06,735   vendor                   : Intel Inc.
2014-05-08 22:12:06,735   gdkgl_version            : (1, 0)
2014-05-08 22:12:06,735   shading language version : 1.20
2014-05-08 22:12:06,735   opengl                   : (2, 1)
2014-05-08 22:12:06,735   GLU extensions           :
2014-05-08 22:12:06,735   renderer                 : Intel HD Graphics 3000 OpenGL Engine
2014-05-08 22:12:06,736   rgba                     : True
2014-05-08 22:12:06,736   display_mode             : ['SINGLE']
2014-05-08 22:12:06,736   pyopengl                 : 3.1.0b2
2014-05-08 22:12:06,736   GLU version              : 1.3 MacOSX

Fri, 09 May 2014 04:38:05 GMT - Antoine Martin:

So, is auto different from yes and no ??


Yes and no ;)

auto will probe the opengl driver and decide whether to turn it on or not based on a blacklist of broken drivers. On some platforms, simply probing can be enough to crash, so we default to no for those (ie: virtualbox). On macosx, I would expect auto to be equivalent to yes in your case.


Thanks for the gl_check.py output. One thing sticks out, in ticket:226#comment:17 I see:

pygdkglext version=(1, 1, 0)

But in your (and mine) output I see:

pygdkglext_version=(1, 0, 0)

So then I went through the horror that is building this thing on OSX (see #226 for details) and found that the latest git builds have version 1.0.0 and not 1.1.0!

So then I installed again from the patched pygtkglext-1.1.0 snapshots instead. I built it against a gtkglext-1.2.0 OSX snapshot. To see the actual gdkglext version, you need r6408... (previously, only the gdkgl version was shown - no idea what the difference is, both come from the same source package)

What I do have is a newer osx beta build with these re-built libraries, does that help with the opengl crash?


Fri, 09 May 2014 23:24:33 GMT - Troy Cauble:

This was with Xpra-0.13.0-r6427.dmg. Right one?

Beta build crashed in gtk_widget_set_colormap. Attaching.


Fri, 09 May 2014 23:25:12 GMT - Troy Cauble: attachment set

Beta build crash, --opengl not set


Sat, 10 May 2014 03:48:07 GMT - Antoine Martin:

Damn, I do wonder what is so special about your screen's colormap. So r6432 adds colormap logging to the gl_check.py utility. It will only get printed if you run the utility in verbose mode: add -v or --verbose to the command line. (this is to try to prevent those same crashes when probing)

And in r6433 I have blacklisted the Intel driver on OSX. So from now on, opengl should be turned off on your particular driver ("Intel Inc.").

A new build with both of those changes is in the beta area. It should not crash, and I would be grateful if you could post the gl_check.py -v output when you get a chance.


Sun, 11 May 2014 02:47:25 GMT - Troy Cauble:

$ ./Contents/Helpers/Python ./Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc -v
** (OpenGL-Check:943): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:943): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'
** (OpenGL-Check:943): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:943): WARNING **: Trying to register gtype '(null)' as enum when in fact it is of type '(null)'
2014-05-10 22:44:52,514 pygdkglext version=(1, 1, 0)
2014-05-10 22:44:52,514 gtkglext_version=(1, 2, 0)
2014-05-10 22:44:52,514 pygdkglext OpenGL version=(1, 0)
2014-05-10 22:44:52,549 GL props={'pygdkglext_version': (1, 1, 0), 'has_alpha': True, 'gdkgl_version': (1, 0), 'gdkglext_version': (1, 2, 0), 'rgba': True, 'display_mode': ['SINGLE'], 'glconfig': <gtk.gdkgl.Config object at 0x2b966c0 (GdkGLConfigImplQuartz at 0x94fb18)>}
2014-05-10 22:44:52,607 Unable to load ArrayDatatype accelerator from OpenGL_accelerate
2014-05-10 22:44:52,609 Unable to load converters accelerators (wrapper, arraydatatype) from OpenGL_accelerate
2014-05-10 22:44:52,610 Unable to load arrayhelpers accelerator from OpenGL_accelerate
2014-05-10 22:44:52,721 Unable to load VBO accelerator from OpenGL_accelerate
2014-05-10 22:44:52,723 found valid OpenGL version: 2.1
2014-05-10 22:44:52,723 OpenGL extensions found: 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_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_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_debug_label, GL_EXT_debug_marker, GL_EXT_draw_buffers2, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 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_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_light_max_exponent, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_SGIS_generate_mipmap, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod,
2014-05-10 22:44:52,724 found the following array handlers: set([])
2014-05-10 22:44:52,724 vendor: Intel Inc.
2014-05-10 22:44:52,724 renderer: Intel HD Graphics 3000 OpenGL Engine
2014-05-10 22:44:52,724 shading language version: 1.20
2014-05-10 22:44:52,743 GLU extensions:
2014-05-10 22:44:52,743 GLU version: 1.3 MacOSX
2014-05-10 22:44:52,743 Warning: vendor 'Intel Inc.' is blacklisted!
2014-05-10 22:44:52,746 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd
2014-05-10 22:44:52,747 All the required OpenGL functions are available: GL_FRAMEBUFFER (36160), GL_COLOR_ATTACHMENT0 (36064), glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2014-05-10 22:44:52,747 Extension GL_ARB_texture_rectangle is present
2014-05-10 22:44:52,747 Extension GL_ARB_vertex_program is present
2014-05-10 22:44:52,749 glInitFragmentProgramARB works
2014-05-10 22:44:52,749 glInitTextureRectangleARB works
2014-05-10 22:44:52,754 All the required OpenGL functions are available: glGenProgramsARB, glDeleteProgramsARB, glBindProgramARB, glProgramStringARB
2014-05-10 22:44:52,855 Unable to load numpy_formathandler accelerator from OpenGL_accelerate
2014-05-10 22:44:52,856 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB=8192, GL_MAX_TEXTURE_SIZE=8192
2014-05-10 22:44:52,856 PyOpenGL warning: OpenGL_accelerate module loaded
2014-05-10 22:44:52,858
2014-05-10 22:44:52,858
2014-05-10 22:44:52,858 OpenGL properties:
2014-05-10 22:44:52,858 * GLU extensions           :
2014-05-10 22:44:52,858 * GLU version              : 1.3 MacOSX
2014-05-10 22:44:52,859 * display_mode             : SINGLE
2014-05-10 22:44:52,859 * gdkgl_version            : 1.0
2014-05-10 22:44:52,859 * gdkglext_version         : 1.2.0
2014-05-10 22:44:52,859 * has_alpha                : True
2014-05-10 22:44:52,859 * opengl                   : 2.1
2014-05-10 22:44:52,859 * pygdkglext_version       : 1.1.0
2014-05-10 22:44:52,859 * pyopengl                 : 3.1.0b2
2014-05-10 22:44:52,859 * renderer                 : Intel HD Graphics 3000 OpenGL Engine
2014-05-10 22:44:52,859 * rgb_visual               : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 24, 'type': 'TRUE_COLOR'}
2014-05-10 22:44:52,859 * rgba                     : True
2014-05-10 22:44:52,859 * rgba_visual              : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 32, 'type': 'TRUE_COLOR'}
2014-05-10 22:44:52,867 * shading language version : 1.20
2014-05-10 22:44:52,867 * vendor                   : Intel Inc.

Sun, 11 May 2014 04:23:44 GMT - Antoine Martin: owner changed

Well, that's interesting, I don't have my macos VM at hand, but this doesn't look right:

'bits_per_rgb': 0

I think it should be 24 or 32 here. Maybe that explains the crash, and maybe I can try to fix it too (in GTK). It would be worth checking with newer GTK builds if we have any.

afarr: can you please post the output you get on a macos machine with a working opengl driver? (more than one if possible).


Tue, 13 May 2014 22:32:10 GMT - alas:

Interesting, my output, using the 0.13.0 r6434 from your beta dists, is nearly the same:

$ ./Contents/Helpers/Python ./Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc -v
** (OpenGL-Check:2864): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:2864): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'
** (OpenGL-Check:2864): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:2864): WARNING **: Trying to register gtype '(null)' as enum when in fact it is of type '(null)'
2014-05-13 14:15:07,349 pygdkglext version=(1, 1, 0)
2014-05-13 14:15:07,349 gtkglext_version=(1, 2, 0)
2014-05-13 14:15:07,349 pygdkglext OpenGL version=(1, 0)
2014-05-13 14:15:07,542 GL props={'pygdkglext_version': (1, 1, 0), 'has_alpha': True, 'gdkgl_version': (1, 0), 'gdkglext_version': (1, 2, 0), 'rgba': True, 'display_mode': ['SINGLE'], 'glconfig': <gtk.gdkgl.Config object at 0x22175d0 (GdkGLConfigImplQuartz at 0x84fb18)>}
2014-05-13 14:15:08,402 Unable to load ArrayDatatype accelerator from OpenGL_accelerate
2014-05-13 14:15:08,464 Unable to load converters accelerators (wrapper, arraydatatype) from OpenGL_accelerate
2014-05-13 14:15:08,544 Unable to load arrayhelpers accelerator from OpenGL_accelerate
2014-05-13 14:15:09,831 Unable to load VBO accelerator from OpenGL_accelerate
2014-05-13 14:15:09,867 found valid OpenGL version: 1.4
2014-05-13 14:15:09,868 OpenGL extensions found: GL_ARB_transpose_matrix, GL_ARB_vertex_program, GL_ARB_vertex_blend, GL_ARB_window_pos, GL_ARB_shader_objects, GL_ARB_vertex_shader, GL_ARB_shading_language_100, GL_EXT_multi_draw_arrays, GL_EXT_clip_volume_hint, GL_EXT_rescale_normal, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_gpu_program_parameters, GL_EXT_geometry_shader4, GL_EXT_transform_feedback, GL_APPLE_client_storage, GL_APPLE_specular_vector, GL_APPLE_transform_hint, GL_APPLE_packed_pixels, GL_APPLE_fence, GL_APPLE_vertex_array_object, GL_APPLE_vertex_program_evaluators, GL_APPLE_element_array, GL_APPLE_flush_render, GL_APPLE_aux_depth_stencil, GL_NV_texgen_reflection, GL_NV_light_max_exponent, GL_IBM_rasterpos_clip, GL_SGIS_generate_mipmap, GL_ARB_point_parameters, GL_ARB_texture_env_crossbar, GL_ARB_texture_border_clamp, GL_ARB_multitexture, GL_ARB_texture_env_add, GL_ARB_texture_cube_map, GL_ARB_texture_env_dot3, GL_ARB_texture_env_combine, GL_ARB_texture_compression, GL_ARB_texture_mirrored_repeat, GL_ARB_shadow, GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_point_sprite, GL_ARB_texture_non_power_of_two, GL_ARB_vertex_buffer_object, GL_ARB_pixel_buffer_object, GL_EXT_framebuffer_object, GL_EXT_texture_rectangle, GL_ARB_texture_rectangle, GL_EXT_texture_env_add, GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_lod_bias, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_stencil_wrap, GL_EXT_texture_filter_anisotropic, GL_EXT_separate_specular_color, GL_EXT_secondary_color, GL_EXT_blend_func_separate, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_dxt1, GL_EXT_texture_sRGB, GL_EXT_blend_equation_separate, GL_EXT_packed_depth_stencil, GL_EXT_framebuffer_sRGB, GL_EXT_provoking_vertex, GL_APPLE_flush_buffer_range, GL_APPLE_ycbcr_422, GL_APPLE_rgb_422, GL_APPLE_vertex_array_range, GL_APPLE_texture_range, GL_APPLE_pixel_buffer, GL_APPLE_object_purgeable, GL_NV_blend_square, GL_ATI_texture_env_combine3, GL_ATI_separate_stencil, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod,
2014-05-13 14:15:09,868 found the following array handlers: set([])
2014-05-13 14:15:09,869 vendor: Intel Inc.
2014-05-13 14:15:09,869 renderer: Intel GMA 950 OpenGL Engine
2014-05-13 14:15:09,869 shading language version: 1.20
2014-05-13 14:15:09,990 GLU extensions:
2014-05-13 14:15:09,991 GLU version: 1.3 MacOSX
2014-05-13 14:15:09,991 Warning: vendor 'Intel Inc.' is blacklisted!
2014-05-13 14:15:09,997 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd
2014-05-13 14:15:09,997 OpenGL glEnablei is not available, disabling transparency
2014-05-13 14:15:09,998 ERROR: some required OpenGL functions are not available: glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2014-05-13 14:15:09,999 Extension GL_ARB_texture_rectangle is present
2014-05-13 14:15:09,999 Extension GL_ARB_vertex_program is present
2014-05-13 14:15:10,020 glInitFragmentProgramARB works
2014-05-13 14:15:10,022 glInitTextureRectangleARB works
2014-05-13 14:15:10,035 All the required OpenGL functions are available: glGenProgramsARB, glDeleteProgramsARB, glBindProgramARB, glProgramStringARB
2014-05-13 14:15:10,983 Unable to load numpy_formathandler accelerator from OpenGL_accelerate
2014-05-13 14:15:10,985 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB=2048, GL_MAX_TEXTURE_SIZE=2048
2014-05-13 14:15:10,985 PyOpenGL warning: OpenGL_accelerate module loaded
2014-05-13 14:15:10,989
2014-05-13 14:15:10,989 OpenGL errors:
2014-05-13 14:15:10,990   some required OpenGL functions are not available: glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2014-05-13 14:15:10,990
2014-05-13 14:15:10,990 OpenGL properties:
2014-05-13 14:15:10,990 * GLU extensions           :
2014-05-13 14:15:10,990 * GLU version              : 1.3 MacOSX
2014-05-13 14:15:10,990 * display_mode             : SINGLE
2014-05-13 14:15:10,991 * gdkgl_version            : 1.0
2014-05-13 14:15:10,991 * gdkglext_version         : 1.2.0
2014-05-13 14:15:10,991 * has_alpha                : True
2014-05-13 14:15:10,991 * opengl                   : 1.4
2014-05-13 14:15:10,991 * pygdkglext_version       : 1.1.0
2014-05-13 14:15:10,991 * pyopengl                 : 3.1.0b2
2014-05-13 14:15:10,991 * renderer                 : Intel GMA 950 OpenGL Engine
2014-05-13 14:15:10,992 * rgb_visual               : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 24, 'type': 'TRUE_COLOR'}
2014-05-13 14:15:10,992 * rgba                     : True
2014-05-13 14:15:10,992 * rgba_visual              : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 32, 'type': 'TRUE_COLOR'}
2014-05-13 14:15:10,992 * shading language version : 1.20
2014-05-13 14:15:10,992 * vendor                   : Intel Inc.

Checking the Session Info though, Open GL doesn't have a check, and it indicates that some required OpenGL functions aren't available: glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D ... (attaching a screen shot).

I was able to attach to a fedora server and run for an hour without any problems though (perhaps because the OpenGL isn't as functional as I'd thought?).

I'll test on another macos machine when I get the chance.


Tue, 13 May 2014 22:33:46 GMT - alas: attachment set

Session Info osx client r6434


Wed, 14 May 2014 00:31:39 GMT - Antoine Martin:

OpenGL errors:
   some required OpenGL functions are not available: glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D

This system has opengl disabled, it also has the same bits_per_rgb=0 on an Intel Inc. card. It would be interesting to get the output from other systems to see if bits_per_rgb is also wrong on those, then I would know that this cannot be the cause of the crash.


Wed, 14 May 2014 18:41:24 GMT - alas:

Testing on a considerably newer osx machine, I get the following output:

./Contents/Helpers/Python ./Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc -v
** (OpenGL-Check:36602): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:36602): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'
** (OpenGL-Check:36602): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'
** (OpenGL-Check:36602): WARNING **: Trying to register gtype '(null)' as enum when in fact it is of type '(null)'
2014-05-14 11:23:51,118 pygdkglext version=(1, 1, 0)
2014-05-14 11:23:51,118 gtkglext_version=(1, 2, 0)
2014-05-14 11:23:51,119 pygdkglext OpenGL version=(1, 0)
2014-05-14 11:23:51,145 GL props={'pygdkglext_version': (1, 1, 0), 'has_alpha': True, 'gdkgl_version': (1, 0), 'gdkglext_version': (1, 2, 0), 'rgba': True, 'display_mode': ['SINGLE'], 'glconfig': <gtk.gdkgl.Config object at 0x2b95648 (GdkGLConfigImplQuartz at 0x8acb18)>}
2014-05-14 11:23:51,278 Unable to load ArrayDatatype accelerator from OpenGL_accelerate
2014-05-14 11:23:51,287 Unable to load converters accelerators (wrapper, arraydatatype) from OpenGL_accelerate
2014-05-14 11:23:51,292 Unable to load arrayhelpers accelerator from OpenGL_accelerate
2014-05-14 11:23:51,596 Unable to load VBO accelerator from OpenGL_accelerate
2014-05-14 11:23:51,603 found valid OpenGL version: 2.1
2014-05-14 11:23:51,603 OpenGL extensions found: 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,
2014-05-14 11:23:51,603 found the following array handlers: set([])
2014-05-14 11:23:51,603 vendor: NVIDIA Corporation
2014-05-14 11:23:51,604 renderer: NVIDIA GeForce 9400M OpenGL Engine
2014-05-14 11:23:51,604 shading language version: 1.20
2014-05-14 11:23:51,635 GLU extensions:
2014-05-14 11:23:51,635 GLU version: 1.3 MacOSX
2014-05-14 11:23:51,642 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd
2014-05-14 11:23:51,644 All the required OpenGL functions are available: GL_FRAMEBUFFER (36160), GL_COLOR_ATTACHMENT0 (36064), glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2014-05-14 11:23:51,644 Extension GL_ARB_texture_rectangle is present
2014-05-14 11:23:51,644 Extension GL_ARB_vertex_program is present
2014-05-14 11:23:51,648 glInitFragmentProgramARB works
2014-05-14 11:23:51,649 glInitTextureRectangleARB works
2014-05-14 11:23:51,657 All the required OpenGL functions are available: glGenProgramsARB, glDeleteProgramsARB, glBindProgramARB, glProgramStringARB
2014-05-14 11:23:51,906 Unable to load numpy_formathandler accelerator from OpenGL_accelerate
2014-05-14 11:23:51,908 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB=8192, GL_MAX_TEXTURE_SIZE=8192
2014-05-14 11:23:51,909 PyOpenGL warning: OpenGL_accelerate module loaded
2014-05-14 11:23:51,916
2014-05-14 11:23:51,916
2014-05-14 11:23:51,917 OpenGL properties:
2014-05-14 11:23:51,917 * GLU extensions           :
2014-05-14 11:23:51,917 * GLU version              : 1.3 MacOSX
2014-05-14 11:23:51,917 * display_mode             : SINGLE
2014-05-14 11:23:51,917 * gdkgl_version            : 1.0
2014-05-14 11:23:51,917 * gdkglext_version         : 1.2.0
2014-05-14 11:23:51,917 * has_alpha                : True
2014-05-14 11:23:51,917 * opengl                   : 2.1
2014-05-14 11:23:51,917 * pygdkglext_version       : 1.1.0
2014-05-14 11:23:51,917 * pyopengl                 : 3.1.0b2
2014-05-14 11:23:51,917 * renderer                 : NVIDIA GeForce 9400M OpenGL Engine
2014-05-14 11:23:51,918 * rgb_visual               : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 24, 'type': 'TRUE_COLOR'}
2014-05-14 11:23:51,918 * rgba                     : True
2014-05-14 11:23:51,918 * rgba_visual              : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 32, 'type': 'TRUE_COLOR'}
2014-05-14 11:23:51,918 * shading language version : 1.20
2014-05-14 11:23:51,918 * vendor                   : NVIDIA Corporation

Attaching to a fedora server session I see that opengl is working (session info lists the renderer and a green check)... but it looks like the bits_per_rgb are 0 on this as well.

Also, while watching some video I saw the following Traceback outputting server-side many times per second (sometimes within a few milliseconds of one another):

2014-05-14 11:27:45,805 error processing damage data: cannot find compatible rgb format to use for BGRX! (supported: ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP'])
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/xpra/server/source.py", line 1558, in data_to_packet
    fn_and_args[0](*fn_and_args[1:])
  File "/usr/lib/python2.7/site-packages/xpra/server/window_source.py", line 937, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, wid, image, coding, sequence, options)
  File "/usr/lib/python2.7/site-packages/xpra/server/window_source.py", line 1161, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/site-packages/xpra/server/window_source.py", line 1242, in rgb_encode
    self.rgb_zlib, self.rgb_lz4, self.encoding_client_options, self.supports_rgb24zlib)
  File "/usr/lib/python2.7/site-packages/xpra/server/picture_encode.py", line 84, in rgb_encode
    raise Exception("cannot find compatible rgb format to use for %s! (supported: %s)" % (pixel_format, rgb_formats))
Exception: cannot find compatible rgb format to use for BGRX! (supported: ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP'])

Pausing the video, not terribly surprisingly, paused the error stream, adding an extra note: NOTE: child process received `Goodbye', closing down in one case.


Wed, 14 May 2014 21:37:24 GMT - Troy Cauble:

The app that triggered the crash for me was not video. And as totaam guessed in comment:10, it does have a lot of tooltips. IIRC, the tooltips have a gradient background.

I was always interacting with it when it crashed -- clicking, typing, dialogs, mousing. I like the tooltip theory.


Thu, 15 May 2014 08:14:28 GMT - Antoine Martin:

while watching some video I saw the following Traceback outputting server-side many times per second.. cannot find compatible rgb format to use for BGRX!


This was a bug in trunk only AFAIK, which should have been fixed in the last couple of days with the format refactoring. Can you confirm that this is the case? (and if not file separately)


As for the crash in this ticket, I did find a big issue yesterday (which is why I delayed the 0.12.6 release): r6469 should hopefully fix this for v0.12.x. It sounds like a different issue, but since it may have caused memory corruption - it could be the same.

troycauble: I have uploaded a 0.12.6 and 0.13.0 beta builds with these fixes here: http://xpra.org/beta/osx/x86/ (just use the latest for each version). Does either of these builds fix the crash for you?


Sat, 17 May 2014 02:45:07 GMT - Troy Cauble:

It's not a good test, since it's blacklisted, right?

2014-05-16 22:43:53,583 OpenGL errors:
2014-05-16 22:43:53,583   vendor 'Intel Inc.' is blacklisted!

Sat, 17 May 2014 02:45:56 GMT - Antoine Martin:

troycauble: --opengl=yes should force enable it.


Sat, 17 May 2014 03:42:13 GMT - Troy Cauble:

With the latest beta and --opengl=yes, I got the other type of crash, noted in comment:12 and the XPRA.CRASH2. I'm attaching XPRA.CRASH4.

I've only seen this crash with explicit --opengl=yes, which led me to inquire in comment:14 how yes might be different than auto (other than the obvious).


Sat, 17 May 2014 03:43:38 GMT - Troy Cauble: attachment set

other type of crash, using --opengl=yes


Sat, 17 May 2014 04:47:24 GMT - Antoine Martin: status, summary changed; resolution set

troycauble: OK, thanks for testing.

Since it no longer crashes unless you force enable opengl, I am closing this ticket. Feel free to re-open if I have missed something.

I would like to get to the bottom of this and fix the underlying bug (probably in GTK or (py)gtkglext), but since I don't have a mac machine to test on, this would be very difficult. Hopefully the GTK3 version (#90) will fare better and we can re-enable opengl for Intel chipsets in those builds.


Wed, 21 May 2014 04:23:51 GMT - Troy Cauble:

Just FYI. I got a new Macbook Pro, with different Intel graphics, "Iris" instead of "HD 3000" ... and I see similar crashes.


Wed, 21 May 2014 11:42:09 GMT - Antoine Martin:

troycauble: does it still crash with the new release which has the Intel driver blacklisted?? If so, please post gl_check.py output again please.


Wed, 21 May 2014 20:48:43 GMT - Troy Cauble:

The blacklisting works. I meant it crashes the same with --opengl=yes


Thu, 24 Jul 2014 08:53:13 GMT - Antoine Martin:

troycauble: I don't expect any improvement (and clipboard won't work - a new issue), but since it has been a few months since the last build it is worth a try: there's a fresh 0.13.8 beta build here: http://xpra.org/beta/osx/x86/ (ignore the 0.14.0 beta which is older)


Thu, 24 Jul 2014 19:43:28 GMT - alas:

Testing on web pages with lots of buttons, widgets, etc. ... with the 0.13.8 osx beta client (r6939) against a fedora 20 0.14.0 beta build (r6936), with an Intel graphics card (Intel HD Graphics 4000 OpenGL Engine) - OpenGL worked (with --opengl=on flag client side).

After about 18 minutes, however, the client crashed.

I wasn't running with any debug flags, but the client was regularly outputting: Xpra[7083:d07] invalid drawable, several in the first minute, some about 4 minutes later, a couple a few minutes later, etc., followed by about 30 in the last minute before it crashed with a final output of Bus error: 10.

Any debugging logs liable to be of use?


Tue, 29 Jul 2014 10:59:47 GMT - Antoine Martin:

afarr: please see ticket:593#comment:4. (different ticket, this one is unrelated and is already closed)


Fri, 08 Aug 2014 01:43:11 GMT - Antoine Martin: status changed; resolution deleted

Updated beta: http://xpra.org/beta/osx/x86/ - does this work on OSX + Intel graphics?


Fri, 08 Aug 2014 19:57:43 GMT - alas:

Yes, this works on osx with Intel graphics, but only with the --opengl=on flag.


Sat, 09 Aug 2014 03:25:35 GMT - Antoine Martin: owner, status changed

OK, thanks. r7206 removes the "Intel Inc." driver from the blacklist.

Not sure about the "missing functions" warning: that's what I get on 10.5.x but those functions should be present with 10.6 onwards..

troycauble: can you please confirm that the crashes are gone on your system with this latest build (and that opengl is on)? See here: http://xpra.org/beta/osx/x86/


Tue, 12 Aug 2014 02:36:34 GMT - Troy Cauble: attachment set

r7237 crash


Tue, 12 Aug 2014 02:39:27 GMT - Troy Cauble:

Crash attached. :(

Xpra-0.14.0-r7232.dmg with --opengl=yes

Both --opengl=yes and unset showed "OpenGL_accelerate module loaded".


Tue, 12 Aug 2014 02:53:33 GMT - Antoine Martin: owner changed

troycauble: thanks! :(

So that's an Intel HD Graphics 3000 OpenGL Engine as before. afarr found that a Intel HD Graphics 4000 OpenGL Engine worked ok.

afarr: can you find more Intel chipsets to test on? r7258 whitelists the 4000 and blacklists all other Intel chipsets. If we find more data points we can tune that better.


Tue, 12 Aug 2014 04:25:29 GMT - Troy Cauble:

Actually, this is a newer MBP than I opened this ticket with. It reports "Intel Iris" graphics.

I would suggest testing with the calibre application if possible. I don't believe anyone has recreated this crash with another application.


Sun, 17 Aug 2014 14:14:01 GMT - Antoine Martin: status changed; resolution, milestone set

I don't believe anyone has recreated this crash with another application.


Do you have any other applications using gtkglext on osx? I very much doubt it seeing how hard I had to work to get it to build on osx.

So I am closing this bug as fixed since we have blacklisted the only graphics card that has problems. afarr: please add more chipsets in this ticket as and when you find time to test them.


Mon, 08 Sep 2014 04:04:19 GMT - Antoine Martin: status changed; resolution deleted

Please ignore my stupid comment above, calibre is to be used on the server, I still don't see why it would trigger things on the client... but who knows. It works fine here, but I don't have a "real" opengl, just virtualbox opengl in 10.6.x

afarr: can you give this application a go on an Intel 3000?


Mon, 08 Sep 2014 04:04:31 GMT - Antoine Martin: status changed


Mon, 08 Sep 2014 04:31:20 GMT - cesarkawakami2:

I have the same Intel 3000 card on OSX and, with Xpra 0.14.4 server / 0.14.3 client with --opengl=yes, I get no crashes, even when opening calibre and spawning tooltips. Gvim and chromium also work fine.

totaam asked me to post about it here so you guys have more information, so here it is the OpenGL section of the bugreport tool https://gist.github.com/cesarkawakami/c50c5cc8dcaebabc8961:

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_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_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_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_draw_buffers2', 'GL_EXT_draw_range_elements', 'GL_EXT_fog_coord', 'GL_EXT_framebuffer_blit', 'GL_EXT_framebuffer_multisample', '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_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_light_max_exponent', 'GL_NV_texgen_reflection', 'GL_NV_texture_barrier', '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 0x7c7a878 (GdkGLConfigImplQuartz at 0x18f6ad0)>
has_alpha                        : True
opengl                           : (2, 1)
pygdkglext_version               : (1, 0, 0)
pyopengl                         : 3.1.0
renderer                         : Intel HD Graphics 3000 OpenGL Engine
rgba                             : True
shading language version         : 1.20
vendor                           : Intel Inc.

Wed, 10 Sep 2014 00:05:18 GMT - alas:

I found someone with an osx laptop with an Intel 3000 graphics card to shanghai into testing (0.15.0 r-7543 client vs. fedora 20 server with 0.15.0 r-7543).

Using a browser on tooltip and widget heavy sites he was able to induce a traceback on the server (which I'll include here in case you think it's something to pursue):

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/server/video_subregion.py", line 119, in refresh
    self.refresh_cb(window, regions)
  File "/usr/lib64/python2.7/site-packages/xpra/server/window_video_source.py", line 425, in refresh_subregion
    WindowSource.do_send_delayed_regions(self, now, window, regions, encoding, options, get_best_encoding=self.get_refresh_subregion_encoding)
  File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 899, in do_send_delayed_regions
    pixel_count = sum(rect.width*rect.height for rect in regions)
  File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 899, in <genexpr>
    pixel_count = sum(rect.width*rect.height for rect in regions)
AttributeError: 'NoneType' object has no attribute 'width'

He was also able to crash a firefox window (I'm not sure if it was related to the traceback, but he said the xterm that fired up the firefox window reported a python error), but he wasn't able to induce a server crash with an hour of widget playing.

Let me know if you think another test with calibre is called for, or if trying to reproduce that error (apparently, maybe, caused by clicking on an ad) is called for.


Wed, 10 Sep 2014 00:53:06 GMT - Antoine Martin:

Yes, please try calibre, as that's the application that is meant to trigger this bug.

Thanks for the stacktrace, it is completely unrelated but definitely worth fixing (I think r7544 does).


Fri, 12 Sep 2014 00:14:29 GMT - alas: owner changed

Had my draftee playing with calibre every which way with that Intel 3000 video card, couldn't get the server to crash. (Managed to get that python error with a firefox window again though, might look into that when I have a chance.)

I suspect this issue might be solved.


Fri, 12 Sep 2014 01:48:53 GMT - Antoine Martin: status changed

OK, I've removed the Intel blacklist in r7578.

Hopefully the crashes will have gone away (the osx build system is due a full rebuild once #533 is closed), and if not then maybe we can figure out what makes it occur.

So I am keeping this ticket open.


Fri, 12 Sep 2014 03:03:19 GMT - Troy Cauble:

Never mind: I'm clearly working with an older release than you.

Macbook Pro with "Intel Iris" graphics. Xpra 0.14.5 --opengl=yes

Attaching crash log.


Fri, 12 Sep 2014 03:05:26 GMT - Troy Cauble: attachment set

Another crash


Fri, 12 Sep 2014 03:18:26 GMT - Antoine Martin:

@troycauble: I'm hoping to see if the problem is specific to your setup or if other users with Intel graphics hit this issue. I am hoping it's the former, if not then maybe we can get a better idea of what is causing it.


Tue, 16 Sep 2014 15:37:02 GMT - Antoine Martin:

Worth mentioning that we are making progress with the GTK3 port, so maybe we can use something a bit more recent and supported too in the so distant future: #680 / #90 / #640.


Wed, 24 Sep 2014 01:30:20 GMT - alas:

Running an OSX 0.14.7 client, with an Intel 4000 graphics card, against a fedora 20 0.14.7 server.. I got a client-side crash with a problem report which seems to match the details of comment:4 exactly.

Client-side CLI error traceback:

python quit unexpectedly
/Applications/{xpra}.app/Contents/Resources/lib/python/gtk/gtkgl/widget.py:35: GtkWarning: gtk_widget_set_colormap: assertion 'GDK_IS_COLORMAP (colormap)' failed
Bus error: 10

One of my drafted testers got a slightly different traceback using an Intel 3000 graphics card (he was probably using 0.14.3 against a 0.14.3 server... but I'm not certain) - which I will attach in its entirety, just in case.


Wed, 24 Sep 2014 01:31:36 GMT - alas: attachment set

osx crash report with Intel 3000 driver, 0.14.3 client


Wed, 24 Sep 2014 02:06:49 GMT - Antoine Martin: owner, status changed


Sat, 27 Sep 2014 06:55:12 GMT - Antoine Martin:

Actually blacklist the intel 4000 video chipset: r7814 (+r7815 for v0.14.x)


Tue, 30 Sep 2014 02:15:38 GMT - Antoine Martin:

See also #695: maybe this bug is present with all drivers on OSX...

If that's the case, fixing the problem in gtkglext is likely to be beyond me, so we should look at GTK3 instead (#90 and #640), and just hope that the bug is fixed in that version. Or, use a different toolkit.. maybe native win32 windows even.


Wed, 01 Oct 2014 01:23:11 GMT - alas: owner changed


Thu, 02 Oct 2014 02:40:10 GMT - Antoine Martin:

New potential duplicate: #702. It seems to trigger with transient auto-complete dialogs in eclipse, which may be the clue we need to find a reproducible test case.


Mon, 27 Oct 2014 17:54:31 GMT - Antoine Martin:

For the record, I am getting a complete client crash with trunk and Intel 4000... Partly recorded in #717, which is another opengl related crash.


Thu, 15 Jan 2015 16:16:41 GMT - Antoine Martin: status changed; resolution set

Closing this ticket now that the Intel drivers is blacklisted for all chipsets on both OSX and win32.


Sun, 10 May 2015 12:01:36 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:50 GMT - Antoine Martin:

Intel drivers are greylisted again in 0.16.x, too many issues.

See wiki/ClientRendering/OpenGL


Sat, 23 Jan 2021 04:59:28 GMT - migration script:

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