Xpra-org / xpra

Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.
https://xpra.org/
GNU General Public License v2.0
1.91k stars 164 forks source link

OSX client crashes with Intel opengl driver #563

Closed totaam closed 9 years ago

totaam commented 10 years ago

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 commented 10 years ago

2014-08-08 02:43:12: totaam changed resolution from fixed to **

totaam commented 10 years ago

2014-08-08 02:43:12: totaam commented


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

totaam commented 10 years ago

2014-08-08 20:57:44: afarr commented


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

  • With an osx 10.9.4 mac-mini, opengl default setting: vendor ‘Intel Inc.’ is blacklisted!

  • With osx 10.9.4 mac-mini, —opengl=on:

    Intel Inc. / Intel HD Graphics 4000 OpenGL Engine
    single buffering
  • With older osx 10.6.8, —opengl=on:

    some required OpenGL functions are not available:
    glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
    n/a
totaam commented 10 years ago

2014-08-09 04:25:35: totaam changed status from reopened to new

totaam commented 10 years ago

2014-08-09 04:25:35: totaam changed owner from afarr to troycauble

totaam commented 10 years ago

2014-08-09 04:25:35: totaam commented


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/]

totaam commented 10 years ago

2014-08-12 03:36:34: troycauble uploaded file Xpra-0.14.0-r7232.CRASH (80.3 KiB)

r7237 crash

totaam commented 10 years ago

2014-08-12 03:39:28: troycauble commented


Crash attached. :(

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

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

totaam commented 10 years ago

2014-08-12 03:53:34: totaam changed owner from troycauble to afarr

totaam commented 10 years ago

2014-08-12 03:53:34: totaam commented


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.

totaam commented 10 years ago

2014-08-12 05:25:29: troycauble commented


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.

totaam commented 10 years ago

2014-08-17 15:14:02: totaam changed status from new to closed

totaam commented 10 years ago

2014-08-17 15:14:02: totaam changed resolution from * to fixed*

totaam commented 10 years ago

2014-08-17 15:14:02: totaam commented


I don't believe anyone has recreated this crash with another application. [[BR]] 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.

totaam commented 10 years ago

2014-09-08 05:04:19: totaam changed status from closed to reopened

totaam commented 10 years ago

2014-09-08 05:04:19: totaam changed resolution from fixed to **

totaam commented 10 years ago

2014-09-08 05:04:19: totaam commented


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?

totaam commented 10 years ago

2014-09-08 05:04:32: totaam changed status from reopened to new

totaam commented 10 years ago

2014-09-08 05:31:21: cesarkawakami2 commented


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.
totaam commented 10 years ago

2014-09-10 01:05:19: afarr commented


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.

totaam commented 10 years ago

2014-09-10 01:53:06: totaam commented


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

totaam commented 10 years ago

2014-09-12 01:14:30: afarr changed owner from afarr to totaam

totaam commented 10 years ago

2014-09-12 01:14:30: afarr commented


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.

totaam commented 10 years ago

2014-09-12 02:48:54: totaam changed status from new to assigned

totaam commented 10 years ago

2014-09-12 02:48:54: totaam commented


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.

totaam commented 10 years ago

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 commented 10 years ago

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

Another crash

totaam commented 10 years ago

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 commented 10 years ago

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 commented 9 years ago

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 commented 9 years ago

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 commented 9 years ago

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

totaam commented 9 years ago

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

totaam commented 9 years ago

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 #681 (also similar to #677), both are fixed already, please check if you can reproduce with the latest stable version
totaam commented 9 years ago

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


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

totaam commented 9 years ago

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 commented 9 years ago

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

totaam commented 9 years ago

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 commented 9 years ago

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 commented 9 years ago

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

totaam commented 9 years ago

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

totaam commented 9 years ago

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 commented 9 years ago

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 commented 8 years ago

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


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

See ClientRendering OpenGL