WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
199666
[GTK][X11] X Error received in WebProcess on NVidia binary drivers
https://bugs.webkit.org/show_bug.cgi?id=199666
Summary
[GTK][X11] X Error received in WebProcess on NVidia binary drivers
Tomas Popela
Reported
2019-07-10 05:19:59 PDT
Using the following demo program inside the Toolbox running on T460p with GeFroce 940MX crashes the web process. I can reproduce it easily, so if anything is needed Miguel, I can provide it. // gcc demo.c -o demo `pkg-config --libs --cflags gtk±3.0 webkit2gtk-4.0 #include <gtk/gtk.h> #include <webkit2/webkit2.h> static void activate(GtkApplication *app, gpointer user_data); int main(int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new("org.test.test", G_APPLICATION_FLAGS_NONE); g_signal_connect(app, "activate", G_CALLBACK(activate), NULL); status = g_application_run(G_APPLICATION(app), argc, argv); g_object_unref(app); return status; } static void activate(GtkApplication *app, gpointer user_data) { GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); WebKitWebView *web_view; gtk_application_add_window(app, GTK_WINDOW(window)); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 400, 400); gtk_window_set_title(GTK_WINDOW(window), "Demo"); web_view = WEBKIT_WEB_VIEW(webkit_web_view_new()); gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(web_view)); gtk_widget_set_size_request(window, 100, 100); webkit_web_view_load_uri(web_view, "
https://www.youtube.com/embed/?v=vCoF21OXu2E
"); gtk_widget_show_all(window); } (WebKitWebProcess:12512): Gdk-ERROR **: 13:39:16.802: 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 300 error_code 2 request_code 53 (core protocol) minor_code 0) (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.) Thread 17 "eadedCompositor" received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 0x7fb6999fd700 (LWP 12603)] 0x00007fb726dae1c5 in _g_log_abort (breakpoint=1) at ../glib/gmessages.c:554 554 ../glib/gmessages.c: No such file or directory. (gdb) bt #0 0x00007fb726dae1c5 in _g_log_abort (breakpoint=1) at ../glib/gmessages.c:554 #1 0x00007fb726db0bbc in g_log_writer_default (log_level=6, log_level@entry=G_LOG_LEVEL_ERROR, fields=fields@entry=0x7fb6999fbec0, n_fields=n_fields@entry=6, user_data=user_data@entry=0x0) at ../glib/gmessages.c:2690 #2 0x00007fb726daee17 in g_log_structured_array (n_fields=6, fields=0x7fb6999fbec0, log_level=G_LOG_LEVEL_ERROR) at ../glib/gmessages.c:1923 #3 0x00007fb726daee17 in g_log_structured_array (log_level=G_LOG_LEVEL_ERROR, fields=0x7fb6999fbec0, n_fields=6) at ../glib/gmessages.c:1896 #4 0x00007fb726daf844 in g_log_structured_standard (log_domain=log_domain@entry=0x7fb72731a017 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_ERROR, file=file@entry=0x7fb7273381bc "gdkdisplay-x11.c", line=line@entry=0x7fb727338268 "2763", func=func@entry=0x7fb727338ed0 <__func__.76909> "_gdk_x11_display_error_event", message_format=message_format@entry=0x7fb727339238 "%s") at ../glib/gmessages.c:1980 #5 0x00007fb7272d8bea in _gdk_x11_display_error_event (display=display@entry=0x55a4f7b0f0e0 [GdkX11Display], error=error@entry=0x7fb6999fc510) at gdkdisplay-x11.c:2763 #6 0x00007fb7272e5b93 in gdk_x_error (error=0x7fb6999fc510, xdisplay=0x55a4f7afea20) at gdkmain-x11.c:307 #7 0x00007fb7272e5b93 in gdk_x_error (xdisplay=0x55a4f7afea20, error=0x7fb6999fc510) at gdkmain-x11.c:269 #8 0x00007fb724702402 in _XError (dpy=dpy@entry=0x55a4f7afea20, rep=rep@entry=0x7fb67800a410) at XlibInt.c:1444 #9 0x00007fb7246ff297 in handle_error (dpy=0x55a4f7afea20, err=0x7fb67800a410, in_XReply=<optimized out>) at xcb_io.c:199 #10 0x00007fb7246ff33d in handle_response (dpy=0x55a4f7afea20, response=0x7fb67800a410, in_XReply=<optimized out>) at xcb_io.c:324 #11 0x00007fb7247002b0 in _XReply (dpy=dpy@entry=0x55a4f7afea20, rep=rep@entry=0x7fb6999fc6c0, extra=extra@entry=0, discard=discard@entry=1) at xcb_io.c:634 #12 0x00007fb7246fbb01 in XSync (dpy=0x55a4f7afea20, discard=discard@entry=0) at Sync.c:44 #13 0x00007fb7246fbb9f in _XSyncFunction (dpy=<optimized out>) at Synchro.c:35 #14 0x00007fb7246de5e4 in XCreatePixmap (dpy=0x55a4f7afea20, d=586, width=1, height=1, depth=128) at CrPixmap.c:58 #15 0x00007fb6d9dc0429 in () at /lib64/libGLX_system.so.0 #16 0x00007fb7242bb2a9 in glXCreatePbuffer () at /lib64/libGLX.so.0 #17 0x00007fb72998e49b in WebCore::GLContextGLX::createPbufferContext(WebCore::PlatformDisplay&, __GLXcontextRec*) (platformDisplay=..., sharingContext=sharingContext@entry=0x0) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:233 #18 0x00007fb72998ec78 in WebCore::GLContextGLX::createSharingContext(WebCore::PlatformDisplay&) (platformDisplay=...) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:296 #19 0x00007fb72995ab26 in WebCore::GLContext::createSharingContext(WebCore::PlatformDisplay&) (display=...) at ../Source/WebCore/platform/graphics/GLContext.cpp:119 #20 0x00007fb72a0c409e in WebCore::PlatformDisplay::sharingGLContext() (this=this@entry=0x7fb6c0a03140) at ../Source/WebCore/platform/graphics/PlatformDisplay.cpp:163 #21 0x00007fb72998eb60 in WebCore::GLContextGLX::createContext(unsigned long, WebCore::PlatformDisplay&) (window=window@entry=52428804, platformDisplay=...) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:284 #22 0x00007fb72995a96b in WebCore::GLContext::createContextForWindow(unsigned long, WebCore::PlatformDisplay*) (windowHandle=52428804, platformDisplay=<optimized out>) at ../Source/WebCore/platform/graphics/GLContext.cpp:94 #23 0x00007fb72857cde0 in WebKit::ThreadedCompositor::createGLContext() (this=0x7fb69aa61660) at ../Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:90 #24 0x00007fb72857bdc7 in WTF::Function<void()>::CallableWrapper<WebKit::CompositingRunLoop::performTaskSync(WTF::Function<void()>&&)::<lambda()> >::call(void) (this=0x7fb69aa4b648) at /usr/include/c++/9/bits/unique_ptr.h:357 #25 0x00007fb72674b9d5 in WTF::RunLoop::performWork() () at /lib64/libjavascriptcoregtk-4.0.so.18 #26 0x00007fb726795cfd in () at /lib64/libjavascriptcoregtk-4.0.so.18 #27 0x00007fb726da7fd0 in g_main_dispatch (context=0x7fb678000b20) at ../glib/gmain.c:3189 #28 0x00007fb726da7fd0 in g_main_context_dispatch (context=context@entry=0x7fb678000b20) at ../glib/gmain.c:3854 #29 0x00007fb726da8368 in g_main_context_iterate (context=0x7fb678000b20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3927 #30 0x00007fb726da86b3 in g_main_loop_run (loop=0x7fb678002500) at ../glib/gmain.c:4123 #31 0x00007fb726796770 in WTF::RunLoop::run() () at /lib64/libjavascriptcoregtk-4.0.so.18 #32 0x00007fb72674cd68 in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) () at /lib64/libjavascriptcoregtk-4.0.so.18 #33 0x00007fb726796afd in () at /lib64/libjavascriptcoregtk-4.0.so.18 #34 0x00007fb72507a5a2 in start_thread () at /lib64/libpthread.so.0 #35 0x00007fb727c35023 in clone () at /lib64/libc.so.6 (gdb) bt full #0 0x00007fb726dae1c5 in _g_log_abort (breakpoint=1) at ../glib/gmessages.c:554 debugger_present = 1 #1 0x00007fb726db0bbc in g_log_writer_default (log_level=6, log_level@entry=G_LOG_LEVEL_ERROR, fields=fields@entry=0x7fb6999fbec0, n_fields=n_fields@entry=6, user_data=user_data@entry=0x0) at ../glib/gmessages.c:2690 initialized = 1 stderr_is_journal = 0 __FUNCTION__ = "g_log_writer_default" #2 0x00007fb726daee17 in g_log_structured_array (n_fields=6, fields=0x7fb6999fbec0, log_level=G_LOG_LEVEL_ERROR) at ../glib/gmessages.c:1923 writer_func = 0x7fb726db0a40 <g_log_writer_default> writer_user_data = 0x0 recursion = 0 depth = <optimized out> __FUNCTION__ = "g_log_structured_array" __FUNCTION__ = "g_log_structured_array" #3 0x00007fb726daee17 in g_log_structured_array (log_level=G_LOG_LEVEL_ERROR, fields=0x7fb6999fbec0, n_fields=6) at ../glib/gmessages.c:1896 __FUNCTION__ = "g_log_structured_array" #4 0x00007fb726daf844 in g_log_structured_standard (log_domain=log_domain@entry=0x7fb72731a017 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_ERROR, file=file@entry=0x7fb7273381bc "gdkdisplay-x11.c", line=line@entry=0x7fb727338268 "2763", func=func@entry=0x7fb727338ed0 <__func__.76909> "_gdk_x11_display_error_event", message_format=message_format@entry=0x7fb727339238 "%s") at ../glib/gmessages.c:1980 fields = {{key = 0x7fb726dff594 "PRIORITY", value = 0x7fb726df9223, length = -1}, {key = 0x7fb726dff59d "CODE_FILE", value = 0x7fb7273381bc, length = -1}, {key = 0x7fb726dff5a7 "CODE_LINE", value = 0x7fb727338268, length = -1}, {key = 0x7fb726dff5b1 "CODE_FUNC", value = 0x7fb727338ed0 <__func__.76909>, length = -1}, {key = 0x7fb726dff581 "MESSAGE", value = 0x7fb67801c240, length = -1}, {key = 0x7fb726dff5ee "GLIB_DOMAIN", value = 0x7fb72731a017, length = -1}} n_fields = 6 message_allocated = 0x7fb67801c240 "The program 'WebKitWebProcess' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadValue (integer parameter out of range for operation)'.\n (Details: seri"... buffer = "\240\266\317'\267\177\000\000\372q\336ٶ\177\000\000\340ğ\231\266\177\000\000D\b\272'\267\177\000\000\310\f\234\001\000\000\000\000\264\277\237\231\266\177\000\000\273\002\000\000\000\000\000\000\220\300\237\231\266\177\000\000\060\222\330ٶ\177\000\000\200\300\237\231\266\177\000\000\310\023\231!\267\177\000\000x", '\000' <repeats 24 times>, "\340\005\000\000\000\000\000\200\300\237\231\266\177\000\000\000\000\000\000\000\000\000\000\336\017\331ٶ\177\000\000(h\000x\266\177\000\000\220\300\237\231\v\000\000\000\006\062\003g\000\000\000\000\b\375\303*\267\177\000\000\062\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>... args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fb6999fc438, reg_save_area = 0x7fb6999fc360}} #5 0x00007fb7272d8bea in _gdk_x11_display_error_event (display=display@entry=0x55a4f7b0f0e0 [GdkX11Display], error=error@entry=0x7fb6999fc510) at gdkdisplay-x11.c:2763 buf = "BadValue (integer parameter out of range for operation)\000\000\000\000\000\000\000\000" msg = <optimized out> display_x11 = 0x55a4f7b0f0e0 [GdkX11Display] tmp_list = <optimized out> ignore = 0 __func__ = "_gdk_x11_display_error_event" #6 0x00007fb7272e5b93 in gdk_x_error (error=0x7fb6999fc510, xdisplay=0x55a4f7afea20) at gdkmain-x11.c:307 error_display = 0x55a4f7b0f0e0 [GdkX11Display] manager = <optimized out> displays = 0x0 #7 0x00007fb7272e5b93 in gdk_x_error (xdisplay=0x55a4f7afea20, error=0x7fb6999fc510) at gdkmain-x11.c:269 #8 0x00007fb724702402 in _XError (dpy=dpy@entry=0x55a4f7afea20, rep=rep@entry=0x7fb67800a410) at XlibInt.c:1444 rtn_val = <optimized out> event = 422238160496}, xunmap = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, event = 140422227703042, window = 140422238160496, from_configure = -139461408}, xmap = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, event = 140422227703042, window = 140422238160496, override_redirect = -139461408}, xmaprequest = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, parent = 140422227703042, window = 140422238160496}, xreparent = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, event = 140422227703042, window = 140422238160496, parent = 94167018503392, x = -1717582416, y = 32694, override_redirect = -1717582448}, xconfigure = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, event = 140422227703042, window = 140422238160496, x = -139461408, y = 21924, width = -1717582416, height = 32694, border_width = -1717582448, above = 301, override_redirect = -1717582456}, xgravity = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, event = 140422227703042, window = 140422238160496, x = -139461408, y = 21924}, xresizerequest = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, window = 140422227703042, width = -1717582224, height = 32694}, xconfigurerequest = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, parent = 140422227703042, window = 140422238160496, x = -139461408, y = 21924, width = -1717582416, height = 32694, border_width = -1717582448, above = 301, detail = -1717582456, value_mask = 140424558418985}, xcirculate = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, event = 140422227703042, window = 140422238160496, place = -139461408}, xcirculaterequest = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, parent = 140422227703042, window = 140422238160496, place = -139461408}, xproperty = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, window = 140422227703042, atom = 140422238160496, time = 94167018503392, state = -1717582416}, xselectionclear = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, window = 140422227703042, selection = 140422238160496, time = 94167018503392}, xselectionrequest = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, owner = 140422227703042, requestor = 140422238160496, selection = 94167018503392, target = 140422238160304, property = 140422238160272, time = 301}, xselection = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, requestor = 140422227703042, selection = 140422238160496, target = 94167018503392, property = 140422238160304, time = 140422238160272}, xcolormap = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, window = 140422227703042, colormap = 140422238160496, new = -139461408, state = 21924}, xclient = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, window = 140422227703042, message_type = 140422238160496, format = -139461408, data = {b = "\260ş\231\266\177\000\000\220ş\231\266\177\000\000-\001\000", s = {-14928, -26209, 32694, 0, -14960, -26209, 32694, 0, 301, 0}, l = {140422238160304, 140422238160272, 301, 140422238160264, 140424558418985}}}, xmapping = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, window = 140422227703042, request = -1717582224, first_keycode = 32694, count = -139461408}, xerror = {type = 0, display = 0x55a4f7afea20, resourceid = 128, serial = 300, error_code = 2 '\002', request_code = 53 '5', minor_code = 0 '\000'}, xkeymap = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, window = 140422227703042, key_vector = "pƟ\231\266\177\000\000\340\374\257\367\244U\000\000\260ş\231\266\177\000\000\220ş\231\266\177\000"}, xgeneric = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, extension = -1728039678, evtype = 32694}, xcookie = {type = 0, serial = 94167018498592, send_event = 128, display = 0x12c, extension = -1728039678, evtype = 32694, cookie = 2577385072, data = 0x55a4f7affce0}, pad = {94162862997504, 94167018498592, 128, 300, 140422227703042, 140422238160496, 94167018503392, 140422238160304, 140422238160272, 301, 140422238160264, 140424558418985, 301, 140424558419301, 0, 140421674118320, 301, 140422238160304, 0, 140422238160400, 0, 0, 0, 0}} async = <optimized out> next = <optimized out> #9 0x00007fb7246ff297 in handle_error (dpy=0x55a4f7afea20, err=0x7fb67800a410, in_XReply=<optimized out>) at xcb_io.c:199 ext = <optimized out> ret_code = 21924 #10 0x00007fb7246ff33d in handle_response (dpy=0x55a4f7afea20, response=0x7fb67800a410, in_XReply=<optimized out>) at xcb_io.c:324 async = <optimized out> next = <optimized out> #11 0x00007fb7247002b0 in _XReply (dpy=dpy@entry=0x55a4f7afea20, rep=rep@entry=0x7fb6999fc6c0, extra=extra@entry=0, discard=discard@entry=1) at xcb_io.c:634 event = <optimized out> req = <optimized out> response = 0x7fb678012cb0 error = 0x0 c = <optimized out> reply = <optimized out> current = 0x7fb67800e030 dpy_request = <optimized out> __PRETTY_FUNCTION__ = "_XReply" #12 0x00007fb7246fbb01 in XSync (dpy=0x55a4f7afea20, discard=discard@entry=0) at Sync.c:44 rep = {type = 112 'p', revertTo = 163 '\243', sequenceNumber = 30720, length = 32694, focus = 4155501088, pad1 = 21924, pad2 = 0, pad3 = 0, pad4 = 4155501088, pad5 = 21924} #13 0x00007fb7246fbb9f in _XSyncFunction (dpy=<optimized out>) at Synchro.c:35 #14 0x00007fb7246de5e4 in XCreatePixmap (dpy=0x55a4f7afea20, d=586, width=1, height=1, depth=128) at CrPixmap.c:58 pid = 52428811 req = <optimized out> #15 0x00007fb6d9dc0429 in () at /lib64/libGLX_system.so.0 #16 0x00007fb7242bb2a9 in glXCreatePbuffer () at /lib64/libGLX.so.0 #17 0x00007fb72998e49b in WebCore::GLContextGLX::createPbufferContext(WebCore::PlatformDisplay&, __GLXcontextRec*) (platformDisplay=..., sharingContext=sharingContext@entry=0x0) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:233 fbConfigAttributes = {32784, 4, 32785, 1, 8, 1, 9, 1, 10, 1, 11, 1, 5, 0, 0} returnedElements = 39 display = 0x55a4f7afea20 configs = std::unique_ptr<struct __GLXFBConfigRec *> = {get() = 0x7fb67801a910} pbufferAttributes = {32833, 1, 32832, 1, 0} pbuffer = {m_resource = 140424562083872} context = std::unique_ptr<struct __GLXcontextRec> = {get() = 0xfffffffffffffff0} #18 0x00007fb72998ec78 in WebCore::GLContextGLX::createSharingContext(WebCore::PlatformDisplay&) (platformDisplay=...) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:296 context = std::unique_ptr<class WebCore::GLContextGLX> = {get() = 0x7fb72a19d6fe} #19 0x00007fb72995ab26 in WebCore::GLContext::createSharingContext(WebCore::PlatformDisplay&) (display=...) at ../Source/WebCore/platform/graphics/GLContext.cpp:119 glxContext = std::unique_ptr<class WebCore::GLContextGLX> = {get() = 0x7fb72a19d6fe} #20 0x00007fb72a0c409e in WebCore::PlatformDisplay::sharingGLContext() (this=this@entry=0x7fb6c0a03140) at ../Source/WebCore/platform/graphics/PlatformDisplay.cpp:163 #21 0x00007fb72998eb60 in WebCore::GLContextGLX::createContext(unsigned long, WebCore::PlatformDisplay&) (window=window@entry=52428804, platformDisplay=...) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:284 glxSharingContext = <optimized out> context = std::unique_ptr<class WebCore::GLContextGLX> = {get() = 0x7fb6e0001810} #22 0x00007fb72995a96b in WebCore::GLContext::createContextForWindow(unsigned long, WebCore::PlatformDisplay*) (windowHandle=52428804, platformDisplay=<optimized out>) at ../Source/WebCore/platform/graphics/GLContext.cpp:94 glxContext = std::unique_ptr<class WebCore::GLContextGLX> = {get() = 0x7fb6e0001810} display = @0x7fb6c0a03140: {_vptr.PlatformDisplay = 0x7fb72ab58250 <vtable for WebCore::PlatformDisplayX11+16>, m_nativeDisplayOwned = WebCore::PlatformDisplay::NativeDisplayOwned::No, m_eglDisplay = 0x0, m_sharingGLContext = std::unique_ptr<class WebCore::GLContext> = {get() = 0x0}, m_eglDisplayInitialized = false, m_eglMajorVersion = 0, m_eglMinorVersion = 0} #23 0x00007fb72857cde0 in WebKit::ThreadedCompositor::createGLContext() (this=0x7fb69aa61660) at ../Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:90 #24 0x00007fb72857bdc7 in WTF::Function<void()>::CallableWrapper<WebKit::CompositingRunLoop::performTaskSync(WTF::Function<void()>&&)::<lambda()> >::call(void) (this=0x7fb69aa4b648) at /usr/include/c++/9/bits/unique_ptr.h:357 #25 0x00007fb72674b9d5 in WTF::RunLoop::performWork() () at /lib64/libjavascriptcoregtk-4.0.so.18 #26 0x00007fb726795cfd in () at /lib64/libjavascriptcoregtk-4.0.so.18 #27 0x00007fb726da7fd0 in g_main_dispatch (context=0x7fb678000b20) at ../glib/gmain.c:3189 dispatch = <optimized out> prev_source = 0x0 was_in_call = 0 user_data = 0x7fb69aa59000 callback = 0x7fb726795cf0 cb_funcs = 0x7fb726e7a280 <g_source_callback_funcs> cb_data = 0x7fb6780025b0 need_destroy = <optimized out> source = 0x7fb678002520 current = 0x7fb678002710 i = 0 __FUNCTION__ = "g_main_dispatch" #28 0x00007fb726da7fd0 in g_main_context_dispatch (context=context@entry=0x7fb678000b20) at ../glib/gmain.c:3854 #29 0x00007fb726da8368 in g_main_context_iterate (context=0x7fb678000b20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3927 max_priority = 2147483647 timeout = -1 some_ready = 1 nfds = <optimized out> allocated_nfds = 1 fds = 0x7fb678002660 #30 0x00007fb726da86b3 in g_main_loop_run (loop=0x7fb678002500) at ../glib/gmain.c:4123 __FUNCTION__ = "g_main_loop_run" #31 0x00007fb726796770 in WTF::RunLoop::run() () at /lib64/libjavascriptcoregtk-4.0.so.18 #32 0x00007fb72674cd68 in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) () at /lib64/libjavascriptcoregtk-4.0.so.18 #33 0x00007fb726796afd in () at /lib64/libjavascriptcoregtk-4.0.so.18 #34 0x00007fb72507a5a2 in start_thread () at /lib64/libpthread.so.0 #35 0x00007fb727c35023 in clone () at /lib64/libc.so.6
Attachments
Add attachment
proposed patch, testcase, etc.
Tomas Popela
Comment 1
2019-07-10 05:21:01 PDT
Reported in the Fedora Discussion -
https://discussion.fedoraproject.org/t/webkitwebprocess-error/1852
uwb17174
Comment 2
2020-06-28 08:54:01 PDT
Hi, I was redirected from this Epiphany Browser issue in:
https://gitlab.gnome.org/GNOME/epiphany/-/issues/1235
I am using NVidia GeForce GT 610 (binary driver from NVidia) & Intel Core 2 Duo with X11. Epiphany crashes in the tech preview (3.37.2-90-g6406a3481+), but it's working normal in the regular version in Debian Bulleye (3.36.2). Any idea? Thanks in advance! Here is the core dump: $ ./.local/share/bin/flatpak-coredumpctl org.gnome.Epiphany.Devel//master Executable /usr/libexec/webkit2gtk-4.0/WebKitWebProcess doesn't seem to be a flatpaked application. Running: `"flatpak" "run" "--filesystem=home" "--filesystem=/tmp" "--command=gdb" "--devel" "org.gnome.Epiphany.Devel//master" "/usr/libexec/webkit2gtk-4.0/WebKitWebProcess" "/tmp/tmpnd8qsr5o"` /usr/share/gdb/python/gdb/command/prompt.py:48: SyntaxWarning: "is not" with a literal. Did you mean "!="? if self.value is not '': /usr/share/gdb/python/gdb/command/prompt.py:60: SyntaxWarning: "is not" with a literal. Did you mean "!="? if self.value is not '': GNU gdb (GDB) 8.3.1 Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html
> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <
http://www.gnu.org/software/gdb/bugs/
>. Find the GDB manual and other documentation resources online at: <
http://www.gnu.org/software/gdb/documentation/
>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/libexec/webkit2gtk-4.0/WebKitWebProcess... Reading symbols from /usr/lib/debug//usr/libexec/webkit2gtk-4.0/WebKitWebProcess.debug... warning: core file may not match specified executable file. [New LWP 85] [New LWP 43] [New LWP 45] [New LWP 46] [New LWP 48] [New LWP 47] [New LWP 49] [New LWP 51] [New LWP 50] [New LWP 53] [New LWP 54] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1". could not find '.gnu_debugaltlink' file for /usr/lib/debug/usr/lib/x86_64-linux-gnu/libsystemd.so.0.28.0.debug warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libicudata.so.65.1.debug" does not match "/usr/lib/x86_64-linux-gnu/libicudata.so.65" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libicudata.so.65.1.debug" does not match "/usr/lib/x86_64-linux-gnu/libicudata.so.65" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0.debug" does not match "/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0.debug" does not match "/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//app/lib/libdazzle-1.0.so.0.debug" does not match "/app/lib/libdazzle-1.0.so.0" (CRC mismatch). Core was generated by `/usr/libexec/webkit2gtk-4.0/WebKitWebProcess 15 37'. Program terminated with signal SIGSEGV, Segmentation fault. #0 WebCore::GLContextGLX::createPbufferContext (platformDisplay=..., sharingContext=sharingContext@entry=0x0) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:232 --Type <RET> for more, q to quit, c to continue without paging--c 232 XUniqueGLXPbuffer pbuffer(glXCreatePbuffer(display, configs.get()[0], pbufferAttributes)); [Current thread is 1 (Thread 0x7f3b294ff700 (LWP 85))] (gdb) bt full #0 0x00007f3b83929718 in WebCore::GLContextGLX::createPbufferContext(WebCore::PlatformDisplay&, __GLXcontextRec*) (platformDisplay=..., sharingContext=sharingContext@entry=0x0) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:232 fbConfigAttributes = {32784, 4, 32785, 1, 8, 1, 9, 1, 10, 1, 11, 1, 5, 0, 0} returnedElements = 56 display = 0x55d0e47484c0 configs = std::unique_ptr<__GLXFBConfigRec *> = {get() = 0x0} pbufferAttributes = {32833, 1, 32832, 1, 0} pbuffer = {m_resource = 1} context = std::unique_ptr<__GLXcontextRec> = {get() = 0x3100000007} #1 0x00007f3b83929d18 in WebCore::GLContextGLX::createSharingContext(WebCore::PlatformDisplay&) (platformDisplay=...) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:295 context = std::unique_ptr<WebCore::GLContextGLX> = {get() = 0x7f3b7d834260 <__glvndPthreadFuncs>} #2 0x00007f3b838fb706 in WebCore::GLContext::createSharingContext(WebCore::PlatformDisplay&) (display=...) at ../Source/WebCore/platform/graphics/GLContext.cpp:115 glxContext = std::unique_ptr<WebCore::GLContextGLX> = {get() = 0x7f3b7d834260 <__gl--Type <RET> for more, q to quit, c to continue without paging-- vndPthreadFuncs>} #3 0x00007f3b838fc0ae in WebCore::PlatformDisplay::sharingGLContext() (this=this@entry=0x7f3b794fb270) at ../Source/WebCore/platform/graphics/PlatformDisplay.cpp:172 #4 0x00007f3b83929c00 in WebCore::GLContextGLX::createContext(unsigned long, WebCore::PlatformDisplay&) (window=window@entry=50331652, platformDisplay=...) at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:283 glxSharingContext = <optimized out> context = std::unique_ptr<WebCore::GLContextGLX> = {get() = 0x0} #5 0x00007f3b838fb52f in WebCore::GLContext::createContextForWindow(unsigned long, WebCore::PlatformDisplay*) (windowHandle=50331652, platformDisplay=<optimized out>) at ../Source/WebCore/platform/graphics/GLContext.cpp:89 glxContext = std::unique_ptr<WebCore::GLContextGLX> = {get() = 0x0} display = @0x7f3b794fb270: {_vptr.PlatformDisplay = 0x7f3b84d8ea28 <vtable for WebCore::PlatformDisplayX11+16>, m_nativeDisplayOwned = WebCore::PlatformDisplay::NativeDisplayOwned::No, m_eglDisplay = 0x0, m_sharingGLContext = std::unique_ptr<WebCore::GLContext> = {get() = 0x0}, m_eglDisplayInitialized = false, m_eglMajorVersion = 0, m_eglMinorVersion = 0, m_gstGLDisplay = {m_ptr = 0x0}, m_gstGLContext = {m_ptr = 0x0}} #6 0x00007f3b82336800 in WebKit::ThreadedCompositor::createGLContext() (this=0x7f3b29915f80) --Type <RET> for more, q to quit, c to continue without paging-- at ../Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:87 #7 0x00007f3b82334cf7 in WTF::Function<void ()>::operator()() const (this=<optimized out>) at /usr/include/c++/10.1.0/bits/unique_ptr.h:420 locker = <optimized out> #8 0x00007f3b82334cf7 in operator() (__closure=<optimized out>) at ../Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:90 locker = <optimized out> #9 0x00007f3b82334cf7 in WTF::Detail::CallableWrapper<WebKit::CompositingRunLoop::performTaskSync(WTF::Function<void()>&&)::<lambda()>, void>::call(void) (this=0x7f3b2990c288) at DerivedSources/ForwardingHeaders/wtf/Function.h:52 #10 0x00007f3b80bd78e9 in WTF::Function<void ()>::operator()() const (this=<synthetic pointer>) at ../Source/WTF/wtf/Vector.h:341 function = {m_callableWrapper = std::unique_ptr<WTF::Detail::CallableWrapperBase<void>> = {get() = 0x7f3b2990c288}} functionsHandled = 0 functionsToHandle = 1 didSuspendFunctions = false #11 0x00007f3b80bd78e9 in WTF::RunLoop::performWork() (this=0x7f3b295f8000) at ../Source/WTF/wtf/RunLoop.cpp:140 function = --Type <RET> for more, q to quit, c to continue without paging-- {m_callableWrapper = std::unique_ptr<WTF::Detail::CallableWrapperBase<void>> = {get() = 0x7f3b2990c288}} functionsHandled = 0 functionsToHandle = 1 didSuspendFunctions = false #12 0x00007f3b80c2558d in operator() (userData=<optimized out>, __closure=0x0) at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:68 #13 0x00007f3b80c2558d in _FUN(gpointer) () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:70 #14 0x00007f3b8129ce6f in g_main_dispatch (context=0x7f3b0c000b60) at ../glib/gmain.c:3313 dispatch = 0x7f3b80c255a0 <_FUN(GSource*, GSourceFunc, gpointer)> prev_source = 0x0 was_in_call = 0 user_data = 0x7f3b295f8000 callback = 0x7f3b80c25580 <_FUN(gpointer)> cb_funcs = <optimized out> cb_data = 0x7f3b0c001dd0 need_destroy = <optimized out> source = 0x7f3b0c001d60 current = 0x7f3b0c002b40 i = 0 __func__ = "g_main_dispatch" --Type <RET> for more, q to quit, c to continue without paging--c #15 0x00007f3b8129ce6f in g_main_context_dispatch (context=0x7f3b0c000b60) at ../glib/gmain.c:3978 #16 0x00007f3b8129d218 in g_main_context_iterate (context=0x7f3b0c000b60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4051 max_priority = 100 timeout = 0 some_ready = 1 nfds = <optimized out> allocated_nfds = <optimized out> fds = 0x7f3b0c002a90 #17 0x00007f3b8129d533 in g_main_loop_run (loop=loop@entry=0x7f3b0c001d40) at ../glib/gmain.c:4245 __func__ = "g_main_loop_run" #18 0x00007f3b80c260a0 in WTF::RunLoop::run() () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:96 runLoop = @0x7f3b295f8000: {<WTF::FunctionDispatcher> = {<WTF::ThreadSafeRefCounted<WTF::FunctionDispatcher, (WTF::DestructionThread)0>> = {<WTF::ThreadSafeRefCountedBase> = {m_refCount = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 2}, static is_always_lock_free = true}}, <No data fields>}, _vptr.FunctionDispatcher = 0x7f3b80f720d0 <vtable for WTF::RunLoop+16>}, m_functionQueueLock = {static isHeldBit = 1 '\001', static hasParkedBit = 2 '\002', m_byte = {value = {<std::__atomic_base<unsigned char>> = {static _S_alignment = 1, _M_i = 0 '\000'}, static is_always_lock_free = true}}}, m_functionQueue = {m_start = 1, m_end = 1, m_buffer = {<WTF::VectorBufferBase<WTF::Function<void()>, WTF::FastMalloc>> = {m_buffer = 0x7f3b295f6000, m_capacity = 16, m_size = 0}, <No data fields>}}, m_isFunctionDispatchSuspended = false, m_hasSuspendedFunctions = false, m_mainContext = {m_ptr = 0x7f3b0c000b60}, m_mainLoops = {<WTF::VectorBuffer<WTF::GRefPtr<_GMainLoop>, 0, WTF::FastMalloc>> = {<WTF::VectorBufferBase<WTF::GRefPtr<_GMainLoop>, WTF::FastMalloc>> = {m_buffer = 0x7f3b295f7000, m_capacity = 16, m_size = 1}, <No data fields>}, <No data fields>}, m_source = {m_ptr = 0x7f3b0c001d60}} mainContext = 0x7f3b0c000b60 innermostLoop = 0x7f3b0c001d40 nestedMainLoop = <optimized out> #19 0x00007f3b80bd90bd in WTF::Function<void ()>::operator()() const (this=<synthetic pointer>) at ../Source/WTF/wtf/Function.h:81 function = {m_callableWrapper = std::unique_ptr<WTF::Detail::CallableWrapperBase<void>> = {get() = 0x7f3b2990c258}} #20 0x00007f3b80bd90bd in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) (newThreadContext=0x7f3b29903e58) at ../Source/WTF/wtf/Threading.cpp:167 function = {m_callableWrapper = std::unique_ptr<WTF::Detail::CallableWrapperBase<void>> = {get() = 0x7f3b2990c258}} #21 0x00007f3b80c2764d in WTF::wtfThreadEntryPoint(void*) (context=<optimized out>) at ../Source/WTF/wtf/posix/ThreadingPOSIX.cpp:197 #22 0x00007f3b7f2994d2 in start_thread (arg=<optimized out>) at pthread_create.c:477 ret = <optimized out> pd = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139892072904448, 4951441610445275893, 140729881238750, 140729881238751, 139892072901952, 8396800, -4989601947617213707, -4989438931772652811}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = 0 #23 0x00007f3b817bd563 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb)
Michael Catanzaro
Comment 3
2020-06-28 18:37:43 PDT
(In reply to uwb17174 from
comment #2
)
> Hi, I was redirected from this Epiphany Browser issue in: >
https://gitlab.gnome.org/GNOME/epiphany/-/issues/1235
> > I am using NVidia GeForce GT 610 (binary driver from NVidia) & Intel Core 2 > Duo with X11. Epiphany crashes in the tech preview (3.37.2-90-g6406a3481+), > but it's working normal in the regular version in Debian Bulleye (3.36.2).
Epiphany version doesn't matter here, only WebKit version. First thing to check: could you try installing libwebkit2gtk-4.0-37 from Debian experimental and see if that introduces the crash? It should be version 2.29.2-1. If so, then we know we have a WebKit regression that can be bisected.
steph
Comment 4
2020-07-14 16:06:09 PDT
Hit this bug on a yelp page on a Flatpak application:
https://github.com/getting-things-gnome/gtg/issues/421
Not sure how to get the flatpak version of the webkit2gtk dependency. Can't reproduce with system yelp running on webkit2gtk 2.28.3-1
Enrique Ocaña
Comment 5
2020-10-05 11:20:04 PDT
(In reply to uwb17174 from
comment #2
)
> #0 0x00007f3b83929718 in > WebCore::GLContextGLX::createPbufferContext(WebCore::PlatformDisplay&, > __GLXcontextRec*) > (platformDisplay=..., sharingContext=sharingContext@entry=0x0) > at ../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:232 > fbConfigAttributes = > {32784, 4, 32785, 1, 8, 1, 9, 1, 10, 1, 11, 1, 5, 0, 0} > returnedElements = 56 > display = 0x55d0e47484c0 > configs = std::unique_ptr<__GLXFBConfigRec *> = {get() = 0x0} > pbufferAttributes = {32833, 1, 32832, 1, 0} > pbuffer = {m_resource = 1} > context = std::unique_ptr<__GLXcontextRec> = {get() = 0x3100000007}
I'm also experiencing a crash in this very same place here, using NVidia proprietary drivers. I've reported it as
bug 217323
. In both stacktraces, yours and mine, configs is pointing to null (so 0 elements have been returned by glXChooseFBConfig()) but returnedElements is different from zero. That's because glXChooseFBConfig() has an early return that leaves returnedElements untouched. It still holds its original uninitialized value, a random integer likely different from 0. Once fixed the crash is gone, but I'm getting a different error, more similar to the one originally reported in this bug and out of the scope of
bug 217323
: $ run-minibrowser --gtk
http://google.com
libEGL warning: DRI2: failed to authenticate (WebKitWebProcess:34): Gdk-WARNING **: 11:17:39.044: The program 'WebKitWebProcess' received an X Window System error. This probably reflects a bug in the program. The error was '179'. (Details: serial 193 error_code 179 request_code 154 (unknown) minor_code 21) (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.)
Philippe Normand
Comment 6
2021-09-29 03:56:41 PDT
Is this still an issue?
Enrique Ocaña
Comment 7
2021-09-29 04:24:39 PDT
Not anymore for me, at least. This issue disappeared after
https://bugs.webkit.org/show_bug.cgi?id=230891
landed. That patch uses the flatpack extension for the Nvidia proprietary drivers (on systems that have them). Still, I had to install the nvidia flatpak extensions manually in the WebKit flatpak with this command that Phil suggested to me (adapt the path for your case): FLATPAK_USER_DIR=$HOME/WebKit/WebKitBuild/UserFlatpak flatpak install --user org.freedesktop.Platform.GL.nvidia-460-91 Later, after considering Patrick's feedback, Phil suggested a new command to install it system-wide and avoid reinstalls every time the WebKit flatpack (UserFlatpak) is regenerated: flatpak install --system org.freedesktop.Platform.GL.nvidia-460-91 After this, both MiniBrowser and Epiphany Canary (following instructions from
https://base-art.net/Articles/introducing-the-gnome-web-canary-flavor/
) worked fine (including HTML5 video) in X11 using the proprietary drivers. They even worked in wayland in an X-Window weston session, something that I couldn't ever get working before. Phil, thanks for whatever you did to fix this! Now my nvidia laptop has changed from being an expensive paperweight to be a useful machine for upstream developing again. :-)))
Philippe Normand
Comment 8
2021-10-02 01:56:11 PDT
Alright, let's close this. Please re-open if folks still have issues about this :)
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug