Bug 156311 - [GTK] gdk_x_error() and WebKitWebProcess crash
Summary: [GTK] gdk_x_error() and WebKitWebProcess crash
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-06 14:32 PDT by Joanmarie Diggs
Modified: 2022-06-23 02:58 PDT (History)
6 users (show)

See Also:


Attachments
backtrace (33.50 KB, text/plain)
2016-04-06 14:32 PDT, Joanmarie Diggs
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joanmarie Diggs 2016-04-06 14:32:25 PDT
Created attachment 275819 [details]
backtrace

Steps to reproduce:
1. Launch minibrowser
2. Load https://blogs.gnome.org/mcatanzaro/

Expected results: WebKitWebProcess would not crash

Actual results: WebKitWebProcess crashes (for me) 100% of the time:

(WebKitWebProcess:19243): Gdk-ERROR **: The program 'WebKitWebProcess' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 177 error_code 2 request_code 154 (GLX) minor_code 24)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Environment: Fedora 23, GNOME 3.18.x, X11, unmodified WebKitGtk+ jhbuild environment (including jhbuild-built dependencies).

I've attached a backtrace from debug build after doing what the error suggested.
Comment 1 Joanmarie Diggs 2016-04-06 14:39:40 PDT
Terminal spew I missed before (sorry for being noisy):

libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Comment 2 Carlos Alberto Lopez Perez 2016-04-19 16:46:18 PDT
Is OpenGL/glx working on your environment?

What does "glxinfo|grep render" says?


Can you try to:

1. export WEBKIT_DISABLE_COMPOSITING_MODE=1
2. Launch the minibrowser 

Is the problem still reproducible after setting that environment variable?
Comment 3 Joanmarie Diggs 2016-04-20 11:08:12 PDT
(In reply to comment #2)
> Is OpenGL/glx working on your environment?
> 
> What does "glxinfo|grep render" says?
> 
> 
> Can you try to:
> 
> 1. export WEBKIT_DISABLE_COMPOSITING_MODE=1
> 2. Launch the minibrowser 
> 
> Is the problem still reproducible after setting that environment variable?

The machine in question now has F24 and no crash.

$ glxinfo | grep render
direct rendering: Yes
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Gallium 0.4 on AMD RV730 (DRM 2.43.0, LLVM 3.8.0)
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 
    GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil, 
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 
    GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
Comment 4 Joanmarie Diggs 2022-06-23 02:58:27 PDT
I'm hitting this again (now on fedora 36). And, yes, setting:

    WEBKIT_DISABLE_COMPOSITING_MODE=1

Does indeed solve the problem. Thanks!

$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: NVIDIA GeForce GTX 1650/PCIe/SSE2
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 
    GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop, 
    GL_NV_compute_shader_derivatives, GL_NV_conditional_render, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range, 
    GL_NV_stereo_view_rendering, GL_NV_texgen_reflection, 
    GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop, 
    GL_NV_compute_shader_derivatives, GL_NV_conditional_render, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range, 
    GL_NV_stereo_view_rendering, GL_NV_texgen_reflection, 
    GL_EXT_multisample_compatibility, GL_EXT_multisampled_render_to_texture, 
    GL_EXT_multisampled_render_to_texture2, 
    GL_EXT_raster_multisample, GL_EXT_render_snorm, GL_EXT_robustness, 
    GL_NV_conditional_render, GL_NV_conservative_raster, 
    GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, 
    GL_NV_shadow_samplers_cube, GL_NV_stereo_view_rendering, 
    GL_OES_fbo_render_mipmap, GL_OES_geometry_point_size, 
    GL_OVR_multiview_multisampled_render_to_texture