Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSX client crashes with Intel opengl driver #563

Closed
totaam opened this issue May 2, 2014 · 94 comments
Closed

OSX client crashes with Intel opengl driver #563

totaam opened this issue May 2, 2014 · 94 comments

Comments

@totaam
Copy link
Collaborator

totaam commented May 2, 2014

Issue migrated from trac ticket # 563

component: client | priority: major | resolution: fixed

2014-05-02 21:57:40: troycauble created the issue


as frequently as every two minutes.

@totaam
Copy link
Collaborator Author

totaam commented May 2, 2014

2014-05-02 21:59:36: troycauble uploaded file client.output (1.5 KiB)

Output from client Xpra instance

@totaam
Copy link
Collaborator Author

totaam commented May 2, 2014

2014-05-02 22:00:02: troycauble uploaded file CALIBRE.CRASH (73.4 KiB)

Stack traces captured by OSX

@totaam
Copy link
Collaborator Author

totaam commented May 3, 2014

2014-05-03 00:44:18: troycauble commented


OSX client talking to Ubuntu 12.04 server.

@totaam
Copy link
Collaborator Author

totaam commented May 3, 2014

2014-05-03 05:18:08: totaam changed owner from antoine to troycauble

@totaam
Copy link
Collaborator Author

totaam commented May 3, 2014

2014-05-03 05:18:08: totaam commented


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..

@totaam
Copy link
Collaborator Author

totaam commented May 3, 2014

2014-05-03 13:51:48: troycauble commented


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.

@totaam
Copy link
Collaborator Author

totaam commented May 4, 2014

2014-05-04 15:44:09: totaam changed owner from troycauble to afarr

@totaam
Copy link
Collaborator Author

totaam commented May 4, 2014

2014-05-04 15:44:09: totaam commented


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 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.

[[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?

@totaam
Copy link
Collaborator Author

totaam commented May 5, 2014

2014-05-05 21:28:44: afarr commented


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?

@totaam
Copy link
Collaborator Author

totaam commented May 5, 2014

2014-05-05 22:00:24: troycauble commented


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.

@totaam
Copy link
Collaborator Author

totaam commented May 5, 2014

2014-05-05 23:25:43: troycauble commented


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).

@totaam
Copy link
Collaborator Author

totaam commented May 6, 2014

2014-05-06 02:09:14: afarr commented


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?

@totaam
Copy link
Collaborator Author

totaam commented May 6, 2014

2014-05-06 03:14:53: troycauble commented


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.

@totaam
Copy link
Collaborator Author

totaam commented May 8, 2014

2014-05-08 15:56:39: totaam commented


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:

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)

@totaam
Copy link
Collaborator Author

totaam commented May 8, 2014

2014-05-08 15:57:05: totaam changed owner from afarr to smo

@totaam
Copy link
Collaborator Author

totaam commented May 8, 2014

2014-05-08 15:57:05: totaam commented


smo: please see questions in comment:10

@totaam
Copy link
Collaborator Author

totaam commented May 8, 2014

2014-05-08 23:59:37: troycauble commented


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.

@totaam
Copy link
Collaborator Author

totaam commented May 9, 2014

2014-05-09 00:00:26: troycauble uploaded file XPRA.CRASH2 (73.5 KiB)

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

@totaam
Copy link
Collaborator Author

totaam commented May 9, 2014

2014-05-09 02:02:59: totaam changed owner from smo to troycauble

@totaam
Copy link
Collaborator Author

totaam commented May 9, 2014

2014-05-09 02:02:59: totaam commented


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.

@totaam
Copy link
Collaborator Author

totaam commented May 9, 2014

2014-05-09 03:10:12: troycauble commented


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 ??

@totaam
Copy link
Collaborator Author

totaam commented May 9, 2014

2014-05-09 03:13:11: troycauble commented


$ ./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

@totaam
Copy link
Collaborator Author

totaam commented May 9, 2014

2014-05-09 05:38:05: totaam commented


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 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?

@totaam
Copy link
Collaborator Author

totaam commented May 10, 2014

2014-05-10 00:24:34: troycauble commented


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

Beta build crashed in gtk_widget_set_colormap.
Attaching.

@totaam
Copy link
Collaborator Author

totaam commented May 10, 2014

2014-05-10 00:25:13: troycauble uploaded file XPRA.CRASH3 (77.4 KiB)

Beta build crash, --opengl not set

@totaam
Copy link
Collaborator Author

totaam commented May 10, 2014

2014-05-10 04:48:08: totaam commented


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.

@totaam
Copy link
Collaborator Author

totaam commented May 11, 2014

2014-05-11 03:47:25: troycauble commented


$ ./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.

@totaam
Copy link
Collaborator Author

totaam commented May 11, 2014

2014-05-11 05:23:45: totaam changed owner from troycauble to afarr

@totaam
Copy link
Collaborator Author

totaam commented May 11, 2014

2014-05-11 05:23:45: totaam commented


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).

@totaam
Copy link
Collaborator Author

totaam commented May 13, 2014

2014-05-13 23:32:11: afarr commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Sep 12, 2014

2014-09-12 04:03:20: troycauble commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Sep 12, 2014

2014-09-12 04:05:27: troycauble uploaded file cal_crash (84.1 KiB)

Another crash

@totaam
Copy link
Collaborator Author

totaam commented Sep 12, 2014

2014-09-12 04:18:27: totaam commented


@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.

@totaam
Copy link
Collaborator Author

totaam commented Sep 16, 2014

2014-09-16 16:37:03: totaam commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Sep 24, 2014

2014-09-24 02:30:20: afarr commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Sep 24, 2014

2014-09-24 02:31:36: afarr uploaded file python_2014-09-16-103138_RS4-Laptop-2.crash (70.0 KiB)

osx crash report with Intel 3000 driver, 0.14.3 client

@totaam
Copy link
Collaborator Author

totaam commented Sep 24, 2014

2014-09-24 03:06:50: totaam changed status from assigned to new

@totaam
Copy link
Collaborator Author

totaam commented Sep 24, 2014

2014-09-24 03:06:50: totaam changed owner from totaam to afarr

@totaam
Copy link
Collaborator Author

totaam commented Sep 24, 2014

2014-09-24 03:06:50: totaam commented


  • the Intel 4000 is blacklisted again as of r7775 (will backport) - if you can get a crash with another Intel chipset, we'll have to blacklist all Intel chipsets..
  • the second crash is unrelated to this: it seems to be in the system tray setup code. Was this crash on startup or was there an app trying to setup a new system tray? (either way, does not look like it belongs in this ticket). It may well be tray icon breaks xpra attach on gnome 3.12 #681 (also similar to Traceback found connecting osx 0.14.3 client session #677), both are fixed already, please check if you can reproduce with the latest stable version

@totaam
Copy link
Collaborator Author

totaam commented Sep 27, 2014

2014-09-27 07:55:13: totaam commented


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

@totaam
Copy link
Collaborator Author

totaam commented Sep 30, 2014

2014-09-30 03:15:38: totaam commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Oct 1, 2014

2014-10-01 02:23:12: afarr changed owner from afarr to nickc

@totaam
Copy link
Collaborator Author

totaam commented Oct 2, 2014

2014-10-02 03:40:10: totaam commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Oct 27, 2014

2014-10-27 17:54:32: totaam commented


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.

@totaam
Copy link
Collaborator Author

totaam commented Jan 15, 2015

2015-01-15 16:16:42: totaam changed status from new to closed

@totaam
Copy link
Collaborator Author

totaam commented Jan 15, 2015

2015-01-15 16:16:42: totaam changed resolution from ** to fixed

@totaam
Copy link
Collaborator Author

totaam commented Jan 15, 2015

2015-01-15 16:16:42: totaam commented


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

@totaam totaam closed this as completed Jan 15, 2015
@totaam
Copy link
Collaborator Author

totaam commented May 10, 2015

2015-05-10 13:01:37: antoine commented


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

@totaam
Copy link
Collaborator Author

totaam commented Dec 16, 2015

2015-12-16 03:39:51: antoine commented


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

See ClientRendering OpenGL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant