xpra icon
Bug tracker and wiki

Opened 5 years ago

Closed 4 years ago

Last modified 3 years ago

#563 closed defect (fixed)

OSX client crashes with Intel opengl driver

Reported by: Troy Cauble Owned by: Nick Centanni
Priority: major Milestone: 0.14
Component: client Version: 0.12.x
Keywords: Cc:

Description

as frequently as every two minutes.

Attachments (9)

client.output (1.5 KB) - added by Troy Cauble 5 years ago.
Output from client Xpra instance
CALIBRE.CRASH (73.4 KB) - added by Troy Cauble 5 years ago.
Stack traces captured by OSX
XPRA.CRASH2 (73.5 KB) - added by Troy Cauble 5 years ago.
2nd crash type, using XPRA_ALPHA=0 and --opengl=yes …
XPRA.CRASH3 (77.4 KB) - added by Troy Cauble 5 years ago.
Beta build crash, --opengl not set
ticket563-clientSessionInfo_osx_r6434.png (25.4 KB) - added by alas 5 years ago.
Session Info osx client r6434
XPRA.CRASH4 (73.5 KB) - added by Troy Cauble 5 years ago.
other type of crash, using --opengl=yes
Xpra-0.14.0-r7232.CRASH (80.3 KB) - added by Troy Cauble 5 years ago.
r7237 crash
cal_crash (84.1 KB) - added by Troy Cauble 5 years ago.
Another crash
python_2014-09-16-103138_RS4-Laptop-2.crash (70.0 KB) - added by alas 5 years ago.
osx crash report with Intel 3000 driver, 0.14.3 client

Download all attachments as: .zip

Change History (71)

Changed 5 years ago by Troy Cauble

Attachment: client.output added

Output from client Xpra instance

Changed 5 years ago by Troy Cauble

Attachment: CALIBRE.CRASH added

Stack traces captured by OSX

comment:1 Changed 5 years ago by Troy Cauble

OSX client talking to Ubuntu 12.04 server.

comment:2 Changed 5 years ago by Antoine Martin

Owner: changed from Antoine Martin to Troy Cauble

Please give us some details to investigate - some generic guidelines can be found here: wiki/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..

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:3 Changed 5 years ago by Troy Cauble

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

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

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

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:4 Changed 5 years ago by Antoine Martin

Owner: changed from Troy Cauble to alas

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?

comment:5 Changed 5 years ago by alas

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

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

comment:6 in reply to:  3 Changed 5 years ago by Troy Cauble

Replying to troycauble:

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

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

Last edited 5 years ago by Troy Cauble (previous) (diff)

comment:7 Changed 5 years ago by Troy Cauble

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

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

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

comment:8 Changed 5 years ago by alas

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

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

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

comment:9 Changed 5 years ago by Troy Cauble

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

comment:10 Changed 5 years ago by Antoine Martin

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


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

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

does that also prevent the crashes?


Is that python environment up to date?


Excellent question. Short answer: yes.
Long answer:

  • #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)

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:11 Changed 5 years ago by Antoine Martin

Owner: changed from alas to Smo

smo: please see questions in comment:10

comment:12 Changed 5 years ago by Troy Cauble

After using

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

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

Changed 5 years ago by Troy Cauble

Attachment: XPRA.CRASH2 added

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

comment:13 Changed 5 years ago by Antoine Martin

Owner: changed from Smo to Troy Cauble

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.

comment:14 Changed 5 years ago by Troy Cauble

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

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

comment:15 Changed 5 years ago by Troy Cauble

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

** (OpenGL-Check:30307): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

** (OpenGL-Check:30307): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'

** (OpenGL-Check:30307): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

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

comment:16 Changed 5 years ago by Antoine Martin

So, is auto different from yes and no ??


Yes and no ;)

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


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

pygdkglext version=(1, 1, 0)

But in your (and mine) output I see:

pygdkglext_version=(1, 0, 0)

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

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

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

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:17 Changed 5 years ago by Troy Cauble

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

Beta build crashed in gtk_widget_set_colormap.
Attaching.

Last edited 5 years ago by Troy Cauble (previous) (diff)

Changed 5 years ago by Troy Cauble

Attachment: XPRA.CRASH3 added

Beta build crash, --opengl not set

comment:18 Changed 5 years ago by Antoine Martin

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

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

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

comment:19 Changed 5 years ago by Troy Cauble

$ ./Contents/Helpers/Python ./Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc -v

** (OpenGL-Check:943): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

** (OpenGL-Check:943): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'

** (OpenGL-Check:943): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

** (OpenGL-Check:943): WARNING **: Trying to register gtype '(null)' as enum when in fact it is of type '(null)'
2014-05-10 22:44:52,514 pygdkglext version=(1, 1, 0)
2014-05-10 22:44:52,514 gtkglext_version=(1, 2, 0)
2014-05-10 22:44:52,514 pygdkglext OpenGL version=(1, 0)
2014-05-10 22:44:52,549 GL props={'pygdkglext_version': (1, 1, 0), 'has_alpha': True, 'gdkgl_version': (1, 0), 'gdkglext_version': (1, 2, 0), 'rgba': True, 'display_mode': ['SINGLE'], 'glconfig': <gtk.gdkgl.Config object at 0x2b966c0 (GdkGLConfigImplQuartz at 0x94fb18)>}
2014-05-10 22:44:52,607 Unable to load ArrayDatatype accelerator from OpenGL_accelerate
2014-05-10 22:44:52,609 Unable to load converters accelerators (wrapper, arraydatatype) from OpenGL_accelerate
2014-05-10 22:44:52,610 Unable to load arrayhelpers accelerator from OpenGL_accelerate
2014-05-10 22:44:52,721 Unable to load VBO accelerator from OpenGL_accelerate
2014-05-10 22:44:52,723 found valid OpenGL version: 2.1
2014-05-10 22:44:52,723 OpenGL extensions found: GL_ARB_color_buffer_float, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_seamless_cube_map, GL_ARB_shader_objects, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_draw_buffers2, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc, GL_EXT_texture_env_add, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_rectangle, GL_EXT_texture_shared_exponent, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_flush_render, GL_APPLE_object_purgeable, GL_APPLE_packed_pixels, GL_APPLE_pixel_buffer, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_point_size, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_IBM_rasterpos_clip, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_fog_distance, GL_NV_light_max_exponent, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_SGIS_generate_mipmap, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod,
2014-05-10 22:44:52,724 found the following array handlers: set([])
2014-05-10 22:44:52,724 vendor: Intel Inc.
2014-05-10 22:44:52,724 renderer: Intel HD Graphics 3000 OpenGL Engine
2014-05-10 22:44:52,724 shading language version: 1.20
2014-05-10 22:44:52,743 GLU extensions:
2014-05-10 22:44:52,743 GLU version: 1.3 MacOSX
2014-05-10 22:44:52,743 Warning: vendor 'Intel Inc.' is blacklisted!
2014-05-10 22:44:52,746 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd
2014-05-10 22:44:52,747 All the required OpenGL functions are available: GL_FRAMEBUFFER (36160), GL_COLOR_ATTACHMENT0 (36064), glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D
2014-05-10 22:44:52,747 Extension GL_ARB_texture_rectangle is present
2014-05-10 22:44:52,747 Extension GL_ARB_vertex_program is present
2014-05-10 22:44:52,749 glInitFragmentProgramARB works
2014-05-10 22:44:52,749 glInitTextureRectangleARB works
2014-05-10 22:44:52,754 All the required OpenGL functions are available: glGenProgramsARB, glDeleteProgramsARB, glBindProgramARB, glProgramStringARB
2014-05-10 22:44:52,855 Unable to load numpy_formathandler accelerator from OpenGL_accelerate
2014-05-10 22:44:52,856 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB=8192, GL_MAX_TEXTURE_SIZE=8192
2014-05-10 22:44:52,856 PyOpenGL warning: OpenGL_accelerate module loaded
2014-05-10 22:44:52,858
2014-05-10 22:44:52,858
2014-05-10 22:44:52,858 OpenGL properties:
2014-05-10 22:44:52,858 * GLU extensions           :
2014-05-10 22:44:52,858 * GLU version              : 1.3 MacOSX
2014-05-10 22:44:52,859 * display_mode             : SINGLE
2014-05-10 22:44:52,859 * gdkgl_version            : 1.0
2014-05-10 22:44:52,859 * gdkglext_version         : 1.2.0
2014-05-10 22:44:52,859 * has_alpha                : True
2014-05-10 22:44:52,859 * opengl                   : 2.1
2014-05-10 22:44:52,859 * pygdkglext_version       : 1.1.0
2014-05-10 22:44:52,859 * pyopengl                 : 3.1.0b2
2014-05-10 22:44:52,859 * renderer                 : Intel HD Graphics 3000 OpenGL Engine
2014-05-10 22:44:52,859 * rgb_visual               : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 24, 'type': 'TRUE_COLOR'}
2014-05-10 22:44:52,859 * rgba                     : True
2014-05-10 22:44:52,859 * rgba_visual              : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 32, 'type': 'TRUE_COLOR'}
2014-05-10 22:44:52,867 * shading language version : 1.20
2014-05-10 22:44:52,867 * vendor                   : Intel Inc.

comment:20 Changed 5 years ago by Antoine Martin

Owner: changed from Troy Cauble to alas

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

comment:21 Changed 5 years ago by alas

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

$ ./Contents/Helpers/Python ./Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc -v

** (OpenGL-Check:2864): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

** (OpenGL-Check:2864): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'

** (OpenGL-Check:2864): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

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

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

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

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

Changed 5 years ago by alas

Session Info osx client r6434

comment:22 Changed 5 years ago by Antoine Martin

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

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

comment:23 Changed 5 years ago by alas

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

./Contents/Helpers/Python ./Contents/Resources/lib/python/xpra/client/gl/gl_check.pyc -v

** (OpenGL-Check:36602): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

** (OpenGL-Check:36602): WARNING **: Trying to register gtype 'glong' as enum when in fact it is of type 'glong'

** (OpenGL-Check:36602): WARNING **: Trying to register gtype '(null)' as flags when in fact it is of type '(null)'

** (OpenGL-Check:36602): WARNING **: Trying to register gtype '(null)' as enum when in fact it is of type '(null)'
2014-05-14 11:23:51,118 pygdkglext version=(1, 1, 0)
2014-05-14 11:23:51,118 gtkglext_version=(1, 2, 0)
2014-05-14 11:23:51,119 pygdkglext OpenGL version=(1, 0)
2014-05-14 11:23:51,145 GL props={'pygdkglext_version': (1, 1, 0), 'has_alpha': True, 'gdkgl_version': (1, 0), 'gdkglext_version': (1, 2, 0), 'rgba': True, 'display_mode': ['SINGLE'], 'glconfig': <gtk.gdkgl.Config object at 0x2b95648 (GdkGLConfigImplQuartz at 0x8acb18)>}
2014-05-14 11:23:51,278 Unable to load ArrayDatatype accelerator from OpenGL_accelerate
2014-05-14 11:23:51,287 Unable to load converters accelerators (wrapper, arraydatatype) from OpenGL_accelerate
2014-05-14 11:23:51,292 Unable to load arrayhelpers accelerator from OpenGL_accelerate
2014-05-14 11:23:51,596 Unable to load VBO accelerator from OpenGL_accelerate
2014-05-14 11:23:51,603 found valid OpenGL version: 2.1
2014-05-14 11:23:51,603 OpenGL extensions found: GL_ARB_color_buffer_float, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_instanced_arrays, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_seamless_cube_map, GL_ARB_shader_objects, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra, GL_ARB_vertex_blend, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_depth_bounds_test, GL_EXT_draw_buffers2, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc, GL_EXT_texture_env_add, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_rectangle, GL_EXT_texture_shared_exponent, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra, GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, GL_APPLE_flush_buffer_range, GL_APPLE_flush_render, GL_APPLE_object_purgeable, GL_APPLE_packed_pixels, GL_APPLE_pixel_buffer, GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, GL_APPLE_texture_range, GL_APPLE_transform_hint, GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, GL_APPLE_vertex_point_size, GL_APPLE_vertex_program_evaluators, GL_APPLE_ycbcr_422, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_IBM_rasterpos_clip, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_fog_distance, GL_NV_fragment_program_option, GL_NV_fragment_program2, GL_NV_light_max_exponent, GL_NV_multisample_filter_hint, GL_NV_point_sprite, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_vertex_program2_option, GL_NV_vertex_program3, GL_SGIS_generate_mipmap, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, 
2014-05-14 11:23:51,603 found the following array handlers: set([])
2014-05-14 11:23:51,603 vendor: NVIDIA Corporation
2014-05-14 11:23:51,604 renderer: NVIDIA GeForce 9400M OpenGL Engine
2014-05-14 11:23:51,604 shading language version: 1.20
2014-05-14 11:23:51,635 GLU extensions: 
2014-05-14 11:23:51,635 GLU version: 1.3 MacOSX
2014-05-14 11:23:51,642 All the required OpenGL functions are available: glActiveTexture, glTexSubImage2D, glTexCoord2i, glViewport, glMatrixMode, glLoadIdentity, glOrtho, glEnableClientState, glGenTextures, glDisable, glBindTexture, glPixelStorei, glEnable, glBegin, glFlush, glTexParameteri, glTexImage2D, glMultiTexCoord2i, glVertex2i, glEnd 
2014-05-14 11:23:51,644 All the required OpenGL functions are available: GL_FRAMEBUFFER (36160), GL_COLOR_ATTACHMENT0 (36064), glGenFramebuffers, glBindFramebuffer, glFramebufferTexture2D 
2014-05-14 11:23:51,644 Extension GL_ARB_texture_rectangle is present
2014-05-14 11:23:51,644 Extension GL_ARB_vertex_program is present
2014-05-14 11:23:51,648 glInitFragmentProgramARB works
2014-05-14 11:23:51,649 glInitTextureRectangleARB works
2014-05-14 11:23:51,657 All the required OpenGL functions are available: glGenProgramsARB, glDeleteProgramsARB, glBindProgramARB, glProgramStringARB 
2014-05-14 11:23:51,906 Unable to load numpy_formathandler accelerator from OpenGL_accelerate
2014-05-14 11:23:51,908 Texture size GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB=8192, GL_MAX_TEXTURE_SIZE=8192
2014-05-14 11:23:51,909 PyOpenGL warning: OpenGL_accelerate module loaded
2014-05-14 11:23:51,916 
2014-05-14 11:23:51,916 
2014-05-14 11:23:51,917 OpenGL properties:
2014-05-14 11:23:51,917 * GLU extensions           : 
2014-05-14 11:23:51,917 * GLU version              : 1.3 MacOSX
2014-05-14 11:23:51,917 * display_mode             : SINGLE
2014-05-14 11:23:51,917 * gdkgl_version            : 1.0
2014-05-14 11:23:51,917 * gdkglext_version         : 1.2.0
2014-05-14 11:23:51,917 * has_alpha                : True
2014-05-14 11:23:51,917 * opengl                   : 2.1
2014-05-14 11:23:51,917 * pygdkglext_version       : 1.1.0
2014-05-14 11:23:51,917 * pyopengl                 : 3.1.0b2
2014-05-14 11:23:51,917 * renderer                 : NVIDIA GeForce 9400M OpenGL Engine
2014-05-14 11:23:51,918 * rgb_visual               : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 24, 'type': 'TRUE_COLOR'}
2014-05-14 11:23:51,918 * rgba                     : True
2014-05-14 11:23:51,918 * rgba_visual              : {'bits_per_rgb': 0, 'byte_order': 'MSB', 'depth': 32, 'type': 'TRUE_COLOR'}
2014-05-14 11:23:51,918 * shading language version : 1.20
2014-05-14 11:23:51,918 * vendor                   : NVIDIA Corporation

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

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

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

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

comment:24 Changed 5 years ago by Troy Cauble

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

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

Last edited 5 years ago by Troy Cauble (previous) (diff)

comment:25 Changed 5 years ago by Antoine Martin

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


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


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

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

comment:26 Changed 5 years ago by Troy Cauble

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

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

comment:27 Changed 5 years ago by Antoine Martin

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

comment:28 Changed 5 years ago by Troy Cauble

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

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

Changed 5 years ago by Troy Cauble

Attachment: XPRA.CRASH4 added

other type of crash, using --opengl=yes

comment:29 Changed 5 years ago by Antoine Martin

Resolution: fixed
Status: newclosed
Summary: OSX client crashesOSX client crashes with Intel opengl driver

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.

comment:30 Changed 5 years ago by Troy Cauble

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

comment:31 Changed 5 years ago by Antoine Martin

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

comment:32 Changed 5 years ago by Troy Cauble

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

comment:33 Changed 5 years ago by Antoine Martin

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

comment:34 Changed 5 years ago by alas

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

After about 18 minutes, however, the client crashed.

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

Any debugging logs liable to be of use?

comment:35 Changed 5 years ago by Antoine Martin

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

comment:36 Changed 5 years ago by Antoine Martin

Resolution: fixed
Status: closedreopened

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

comment:37 Changed 5 years ago by alas

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
    

comment:38 Changed 5 years ago by Antoine Martin

Owner: changed from alas to Troy Cauble
Status: reopenednew

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/

Changed 5 years ago by Troy Cauble

Attachment: Xpra-0.14.0-r7232.CRASH added

r7237 crash

comment:39 Changed 5 years ago by Troy Cauble

Crash attached. :(

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

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

Last edited 5 years ago by Troy Cauble (previous) (diff)

comment:40 Changed 5 years ago by Antoine Martin

Owner: changed from Troy Cauble to alas

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.

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:41 Changed 5 years ago by Troy Cauble

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

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

Last edited 5 years ago by Troy Cauble (previous) (diff)

comment:42 Changed 5 years ago by Antoine Martin

Milestone: 0.14
Resolution: fixed
Status: newclosed

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.

comment:43 Changed 5 years ago by Antoine Martin

Resolution: fixed
Status: closedreopened

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?

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:44 Changed 5 years ago by Antoine Martin

Status: reopenednew

comment:45 Changed 5 years ago by cesarkawakami2

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

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

OpenGL: OpenGL driver and features
GLU extensions                   : 
GLU version                      : 1.3 MacOSX
display_mode                     : ['SINGLE']
extensions                       : ['GL_ARB_color_buffer_float', 'GL_ARB_depth_buffer_float', 'GL_ARB_depth_clamp', 'GL_ARB_depth_texture', 'GL_ARB_draw_buffers', 'GL_ARB_draw_elements_base_vertex', 'GL_ARB_draw_instanced', 'GL_ARB_fragment_program', 'GL_ARB_fragment_program_shadow', 'GL_ARB_fragment_shader', 'GL_ARB_framebuffer_object', 'GL_ARB_framebuffer_sRGB', 'GL_ARB_half_float_pixel', 'GL_ARB_half_float_vertex', 'GL_ARB_instanced_arrays', 'GL_ARB_multisample', 'GL_ARB_multitexture', 'GL_ARB_occlusion_query', 'GL_ARB_pixel_buffer_object', 'GL_ARB_point_parameters', 'GL_ARB_point_sprite', 'GL_ARB_provoking_vertex', 'GL_ARB_seamless_cube_map', 'GL_ARB_shader_objects', 'GL_ARB_shader_texture_lod', 'GL_ARB_shading_language_100', 'GL_ARB_shadow', 'GL_ARB_sync', 'GL_ARB_texture_border_clamp', 'GL_ARB_texture_compression', 'GL_ARB_texture_compression_rgtc', 'GL_ARB_texture_cube_map', 'GL_ARB_texture_env_add', 'GL_ARB_texture_env_combine', 'GL_ARB_texture_env_crossbar', 'GL_ARB_texture_env_dot3', 'GL_ARB_texture_float', 'GL_ARB_texture_mirrored_repeat', 'GL_ARB_texture_non_power_of_two', 'GL_ARB_texture_rectangle', 'GL_ARB_texture_rg', 'GL_ARB_transpose_matrix', 'GL_ARB_vertex_array_bgra', 'GL_ARB_vertex_blend', 'GL_ARB_vertex_buffer_object', 'GL_ARB_vertex_program', 'GL_ARB_vertex_shader', 'GL_ARB_window_pos', 'GL_EXT_abgr', 'GL_EXT_bgra', 'GL_EXT_blend_color', 'GL_EXT_blend_equation_separate', 'GL_EXT_blend_func_separate', 'GL_EXT_blend_minmax', 'GL_EXT_blend_subtract', 'GL_EXT_clip_volume_hint', 'GL_EXT_debug_label', 'GL_EXT_debug_marker', 'GL_EXT_draw_buffers2', 'GL_EXT_draw_range_elements', 'GL_EXT_fog_coord', 'GL_EXT_framebuffer_blit', 'GL_EXT_framebuffer_multisample', 'GL_EXT_framebuffer_object', 'GL_EXT_framebuffer_sRGB', 'GL_EXT_geometry_shader4', 'GL_EXT_gpu_program_parameters', 'GL_EXT_gpu_shader4', 'GL_EXT_multi_draw_arrays', 'GL_EXT_packed_depth_stencil', 'GL_EXT_packed_float', 'GL_EXT_provoking_vertex', 'GL_EXT_rescale_normal', 'GL_EXT_secondary_color', 'GL_EXT_separate_specular_color', 'GL_EXT_shadow_funcs', 'GL_EXT_stencil_two_side', 'GL_EXT_stencil_wrap', 'GL_EXT_texture_array', 'GL_EXT_texture_compression_dxt1', 'GL_EXT_texture_compression_s3tc', 'GL_EXT_texture_env_add', 'GL_EXT_texture_filter_anisotropic', 'GL_EXT_texture_integer', 'GL_EXT_texture_lod_bias', 'GL_EXT_texture_rectangle', 'GL_EXT_texture_shared_exponent', 'GL_EXT_texture_sRGB', 'GL_EXT_texture_sRGB_decode', 'GL_EXT_timer_query', 'GL_EXT_transform_feedback', 'GL_EXT_vertex_array_bgra', 'GL_APPLE_aux_depth_stencil', 'GL_APPLE_client_storage', 'GL_APPLE_element_array', 'GL_APPLE_fence', 'GL_APPLE_float_pixels', 'GL_APPLE_flush_buffer_range', 'GL_APPLE_flush_render', 'GL_APPLE_object_purgeable', 'GL_APPLE_packed_pixels', 'GL_APPLE_pixel_buffer', 'GL_APPLE_rgb_422', 'GL_APPLE_row_bytes', 'GL_APPLE_specular_vector', 'GL_APPLE_texture_range', 'GL_APPLE_transform_hint', 'GL_APPLE_vertex_array_object', 'GL_APPLE_vertex_array_range', 'GL_APPLE_vertex_point_size', 'GL_APPLE_vertex_program_evaluators', 'GL_APPLE_ycbcr_422', 'GL_ATI_separate_stencil', 'GL_ATI_texture_env_combine3', 'GL_ATI_texture_float', 'GL_ATI_texture_mirror_once', 'GL_IBM_rasterpos_clip', 'GL_NV_blend_square', 'GL_NV_conditional_render', 'GL_NV_depth_clamp', 'GL_NV_fog_distance', 'GL_NV_light_max_exponent', 'GL_NV_texgen_reflection', 'GL_NV_texture_barrier', 'GL_SGIS_generate_mipmap', 'GL_SGIS_texture_edge_clamp', 'GL_SGIS_texture_lod', '']
gdkgl_version                    : (1, 0)
gdkglext_version                 : (1, 2, 0)
glconfig                         : <gtk.gdkgl.Config object at 0x7c7a878 (GdkGLConfigImplQuartz at 0x18f6ad0)>
has_alpha                        : True
opengl                           : (2, 1)
pygdkglext_version               : (1, 0, 0)
pyopengl                         : 3.1.0
renderer                         : Intel HD Graphics 3000 OpenGL Engine
rgba                             : True
shading language version         : 1.20
vendor                           : Intel Inc.
Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:46 Changed 5 years ago by alas

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

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

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

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

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

comment:47 Changed 5 years ago by Antoine Martin

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

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

Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:48 Changed 5 years ago by alas

Owner: changed from alas to Antoine Martin

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.

comment:49 Changed 5 years ago by Antoine Martin

Status: newassigned

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.

comment:50 Changed 5 years ago by Troy Cauble

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

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

Attaching crash log.

Last edited 5 years ago by Troy Cauble (previous) (diff)

Changed 5 years ago by Troy Cauble

Attachment: cal_crash added

Another crash

comment:51 Changed 5 years ago by Antoine Martin

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

comment:52 Changed 5 years ago by Antoine Martin

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

comment:53 Changed 5 years ago by alas

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

Client-side CLI error traceback:

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

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

Last edited 4 years ago by alas (previous) (diff)

Changed 5 years ago by alas

osx crash report with Intel 3000 driver, 0.14.3 client

comment:54 Changed 5 years ago by Antoine Martin

Owner: changed from Antoine Martin to alas
Status: assignednew
  • 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
Last edited 5 years ago by Antoine Martin (previous) (diff)

comment:55 Changed 5 years ago by Antoine Martin

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

comment:56 Changed 5 years ago by Antoine Martin

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

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

comment:57 Changed 5 years ago by alas

Owner: changed from alas to Nick Centanni

comment:58 Changed 5 years ago by Antoine Martin

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

comment:59 Changed 4 years ago by Antoine Martin

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

comment:60 Changed 4 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

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

comment:61 Changed 4 years ago by Antoine Martin

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

comment:62 Changed 3 years ago by Antoine Martin

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

See wiki/ClientRendering/OpenGL

Note: See TracTickets for help on using tickets.