as frequently as every two minutes.
Output from client Xpra instance
Stack traces captured by OSX
OSX client talking to Ubuntu 12.04 server.
Please give us some details to investigate - some generic guidelines can be found here: wiki/ReportingBugs.
etc..
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
.
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?
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?
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.
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).
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?
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.
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)
smo: please see questions in comment:10
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.
2nd crash type, using XPRA_ALPHA=0 and --opengl=yes ...
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.
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 ??
$ ./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
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?
This was with Xpra-0.13.0-r6427.dmg. Right one?
Beta build crashed in gtk_widget_set_colormap
.
Attaching.
Beta build crash, --opengl not set
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.
$ ./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.
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).
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.
Session Info osx client r6434
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.
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.
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.
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?
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!
troycauble: --opengl=yes
should force enable it.
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).
other type of crash, using --opengl=yes
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.
Just FYI. I got a new Macbook Pro, with different Intel graphics, "Iris" instead of "HD 3000" ... and I see similar crashes.
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.
The blacklisting works. I meant it crashes the same with --opengl=yes
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)
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?
afarr: please see ticket:593#comment:4. (different ticket, this one is unrelated and is already closed)
Updated beta: http://xpra.org/beta/osx/x86/ - does this work on OSX + Intel graphics?
Yes, this works on osx with Intel graphics, but only with the --opengl=on
flag.
vendor ‘Intel Inc.’ is blacklisted!
Intel Inc. / Intel HD Graphics 4000 OpenGL Engine single buffering
some required OpenGL functions are not available: glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D n/a
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/
r7237 crash
Crash attached. :(
Xpra-0.14.0-r7232.dmg with --opengl=yes
Both --opengl=yes and unset showed "OpenGL_accelerate module loaded".
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.
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.
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.
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?
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.
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.
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).
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.
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.
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.
Another crash
@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.
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.
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.
osx crash report with Intel 3000 driver, 0.14.3 client
Actually blacklist the intel 4000 video chipset: r7814 (+r7815 for v0.14.x)
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.
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.
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.
Closing this ticket now that the Intel drivers is blacklisted for all chipsets on both OSX and win32.
See ticket:818#comment:10 - let's see how re-enabling opengl works out. (for 0.16)
Intel drivers are greylisted again in 0.16.x, too many issues.
See wiki/ClientRendering/OpenGL
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/563