Closed totaam closed 9 years ago
client.output
(1.5 KiB)Output from client Xpra instance
CALIBRE.CRASH
(73.4 KiB)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: ReportingBugs.
- Is this a regression?
- Does it happen with all applications or a specific one?
- It could be related to the outdated media libraries in Ubuntu 12.04 you use as server, does switching to RGB encoding prevent the crashes?
- Does switching sound off help?
- Does turning OpenGL off prevent the crashes? 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 [[BR]] 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 anh264
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.[[BR]]
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 6328 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 [comment:3 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.[[BR]]
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?
[[BR]]
Is that python environment up to date? [[BR]] Excellent question. Short answer: yes. Long answer:
90 for moving to Python3 / GTK3 (in progress)
533 automating the process of building all the libraries (in progress)
226 shows how hard it is to even build the thing on osx..
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.
XPRA.CRASH2
(73.5 KiB)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 ?? [[BR]] 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.
[[BR]]
Thanks for the
gl_check.py
output. One thing sticks out, in #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 not1.1.0
!So then I installed again from the patched
pygtkglext-1.1.0
snapshots instead. I built it against agtkglext-1.2.0
OSX snapshot. To see the actualgdkglext
version, you need r6408... (previously, only thegdkgl
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.
XPRA.CRASH3
(77.4 KiB)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.
ticket563-clientSessionInfo_osx_r6434.png
(25.4 KiB)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 anIntel Inc.
card. It would be interesting to get the output from other systems to see ifbits_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!
[[BR]] 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)[[BR]]
As for the crash in this ticket, I did find a big issue yesterday (which is why I delayed the 0.12.6 release): 6469 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 howyes
might be different thanauto
(other than the obvious).
XPRA.CRASH4
(73.5 KiB)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 (6939) 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 ofBus error: 10
.Any debugging logs liable to be of use?
afarr: please see #593#comment:4. (different ticket, this one is unrelated and is already closed)
Issue migrated from trac ticket # 563
component: client | priority: major | resolution: fixed
2014-05-02 21:57:40: troycauble created the issue