Bug 1566101
Summary: | epoxy_glx_version & friends crash without GLX and hinder gtk3 startup | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Debarshi Ray <debarshir> | |
Component: | libepoxy | Assignee: | Debarshi Ray <debarshir> | |
Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | high | |||
Version: | 7.6 | CC: | alanm, tpelka | |
Target Milestone: | rc | Keywords: | ZStream | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | If docs needed, set a value | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1566585 (view as bug list) | Environment: | ||
Last Closed: | 2018-10-30 08:02:18 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1566585 |
Description
Debarshi Ray
2018-04-11 14:15:28 UTC
Note that the same happen with nautilus and gedit, originally found when testing bz1565096. Unfortunately with libepoxy-1.3.1-2.el7.x86_64 gtk3-3.22.26-4.el7_5.x86_64 still getting: # gdb /usr/bin/gnome-terminal GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7 Copyright (C) 2013 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-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/gnome-terminal...Reading symbols from /usr/lib/debug/usr/bin/gnome-terminal.debug...done. done. (gdb) r Starting program: /usr/bin/gnome-terminal [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. __strstr_sse2 (haystack_start=0x0, needle_start=0x7ffff6af1718 "GLX_ARB_create_context_profile") at ../string/strstr.c:63 63 while (*haystack && *needle) (gdb) thread appl all bt full Thread 1 (Thread 0x7ffff7f37a80 (LWP 32612)): #0 0x00007ffff423e5d1 in __strstr_sse2 (haystack_start=0x0, needle_start=0x7ffff6af1718 "GLX_ARB_create_context_profile") at ../string/strstr.c:63 haystack = 0x0 needle = 0x7ffff6af1718 "GLX_ARB_create_context_profile" needle_len = <optimized out> haystack_len = <optimized out> ok = true #1 0x00007ffff2499614 in epoxy_extension_in_string (extension_list=<optimized out>, ext=ext@entry=0x7ffff6af1718 "GLX_ARB_create_context_profile") at dispatch_common.c:355 ptr = 0x0 len = <optimized out> #2 0x00007ffff24db989 in epoxy_has_glx_extension (dpy=dpy@entry=0x651000, screen=screen@entry=0, ext=ext@entry=0x7ffff6af1718 "GLX_ARB_create_context_profile") at dispatch_glx.c:110 #3 0x00007ffff6aa2fd8 in gdk_x11_screen_init_gl (screen=screen@entry=0x662030 [GdkX11Screen]) at gdkglcontext-x11.c:871 display = 0x65d0f0 [GdkX11Display] display_x11 = 0x65d0f0 [GdkX11Display] dpy = 0x651000 error_base = 157 event_base = 95 screen_num = 0 __FUNCTION__ = "gdk_x11_screen_init_gl" #4 0x00007ffff6aa3528 in _gdk_x11_screen_update_visuals_for_gl (screen=screen@entry=0x662030 [GdkX11Screen]) at gdkglcontext-x11.c:1210 x11_screen = 0x662030 [GdkX11Screen] display = 0x65d0f0 [GdkX11Display] display_x11 = 0x65d0f0 [GdkX11Display] dpy = 0x651000 gl_info = <optimized out> i = <optimized out> system_visual_id = 6 rgba_visual_id = 6692912 #5 0x00007ffff6aac435 in _gdk_x11_screen_init_visuals (screen=screen@entry=0x662030 [GdkX11Screen]) at gdkvisual-x11.c:309 possible_depths = {32, 30, 24, 16, 15, 8, 4, 1} possible_types = {GDK_VISUAL_DIRECT_COLOR, GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_STATIC_COLOR, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_GRAY} x11_screen = 0x662030 [GdkX11Screen] visual_list = <optimized out> visual_template = {visual = 0x0, visualid = 6682864, screen = 0, depth = 0, class = 0, red_mask = 140737488344616, green_mask = 4301590528, blue_mask = 0, colormap_size = 0, bits_per_rgb = 0} temp_visual = <optimized out> default_xvisual = <optimized out> visuals = 0x62aa50 nxvisuals = 6 nvisuals = <optimized out> i = <optimized out> j = <optimized out> __FUNCTION__ = "_gdk_x11_screen_init_visuals" #6 0x00007ffff6aa92b0 in _gdk_x11_screen_new (display=display@entry=0x65d0f0 [GdkX11Display], screen_number=0) at gdkscreen-x11.c:940 screen = 0x662030 [GdkX11Screen] x11_screen = 0x662030 [GdkX11Screen] display_x11 = 0x65d0f0 [GdkX11Display] scale_str = <optimized out> #7 0x00007ffff6a98968 in _gdk_x11_display_open (display_name=<optimized out>) at gdkdisplay-x11.c:1603 xdisplay = <optimized out> display = 0x65d0f0 [GdkX11Display] display_x11 = 0x65d0f0 [GdkX11Display] attr = {title = 0x5 <Address 0x5 out of bounds>, event_mask = 0, x = 0, y = 0, width = 0, height = 1087953920, wclass = (GDK_INPUT_ONLY | unknown: 801181138), visual = 0x0, window_type = GDK_WINDOW_ROOT, cursor = 0x0, wmclass_name = 0x7fffffffd901 "\227d", wmclass_class = 0x630f80 "*", override_redirect = -156485521, type_hint = 32767} argc = <optimized out> argv = {0x0} class_hint = <optimized out> pid = 1 ignore = 147 maj = 0 min = 0 __FUNCTION__ = "_gdk_x11_display_open" #8 0x00007ffff6a6c7b9 in gdk_display_manager_open_display (manager=<optimized out>, name=0x0) at gdkdisplaymanager.c:472 backend = 0x630f80 "*" any = <optimized out> backend_list = <optimized out> display = 0x0 backends = 0x631120 i = <optimized out> allow_any = 1 __FUNCTION__ = "gdk_display_manager_open_display" #9 0x00007ffff6f58246 in post_parse_hook (context=<optimized out>, group=<optimized out>, data=0x62eac0, error=0x7fffffffd928) at gtkmain.c:801 info = 0x62eac0 #10 0x00007ffff51a8af8 in g_option_context_parse (context=context@entry=0x64a000, argc=argc@entry=0x7fffffffd91c, argv=argv@entry=0x7fffffffd910, error=error@entry=0x7fffffffd928) at goption.c:2165 group = <optimized out> i = 1 j = <optimized out> k = <optimized out> list = 0x64be00 = {0x64b9b0, 0x64c0d0, 0x64bc60, 0x64bd50, 0x64cd90} #11 0x0000000000409108 in terminal_options_parse (working_directory=working_directory@entry=0x649730 "/mnt/qa/scratch/x86-64-7s-m1/2018:33372/tps", startup_id=startup_id@entry=0x0, argcp=argcp@entry=0x7fffffffd91c, argvp=argvp@entry=0x7fffffffd910, error=error@entry=0x7fffffffd928) at terminal-options.c:868 options = 0x649820 context = 0x64a000 retval = <optimized out> i = <optimized out> argv = <optimized out> #12 0x0000000000405f89 in main (argc=1, argv=0x7fffffffdb78) at terminal.c:375 i = <optimized out> argv_copy = 0x62e620 startup_id = 0x0 display_name = <optimized out> display = <optimized out> options = 0x0 factory = 0x0 error = 0x0 working_directory = 0x649730 "/mnt/qa/scratch/x86-64-7s-m1/2018:33372/tps" exit_code = 1 service_name = <optimized out> Some more relevant fixes: commit 7a1a79ec3b68857f8a0b1d26811fec2d00ea4fb2 Author: Emmanuele Bassi <ebassi> Date: Wed Dec 7 15:12:15 2016 +0000 Avoid C99 declaration after statement The rest of the library is C89-only, so we should keep it that way. commit 31a1fd9d6dcf298b7ed61ac06d54e6f9cd2dee03 Author: Yaron Cohen-Tal <yaronct> Date: Fri Jul 29 17:55:49 2016 +0300 Check for NULL extensions string Some X server not supporting any OpenGL feature, glXQueryExtensionsString will return NULL and causes the function to fail. Thanks to Emmanuel Stapf (manus) for the original patch. This was verified running an application on macOS while the X server was running on Windows Xming 7.5.0.10 Signed-off-by: Emmanuele Bassi <ebassi> I believe bug 1395366 is the Fedora equivalent of this. Ideally, we'd rebase libepoxy to >= 1.4, and use this gtk+ fix from gtk4: https://bugzilla.gnome.org/show_bug.cgi?id=775279 Here's another scratch build: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15766924 Scratch build works. Are we going to incorporate into the same z-stream erratum for gtk3? (In reply to Tomas Pelka from comment #8) > Scratch build works. Are we going to incorporate into the same z-stream > erratum for gtk3? Yes, let's do that. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2018:3059 |