Bug 1415329

Summary: Gnome will not start after updating to 7.3 on VMWare virtual machines
Product: Red Hat Enterprise Linux 7 Reporter: Joe Wright <jwright>
Component: mutterAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED WORKSFORME QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 7.3CC: alanm, cww, jwright, ldu, leiwang, mclasen, mkolbas, rstrode, tpelka, yacao
Target Milestone: rcKeywords: Desktop
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1481372 (view as bug list) Environment:
Last Closed: 2018-11-26 19:09:08 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: 1420851    

Description Joe Wright 2017-01-20 21:56:46 UTC
Description of problem:
- Gnome GUI will not start after updating to 7.3 on VMWare ESX virtual machines
- occurs regardless of 3d acceleration being enabled
- core dump shows gnome unable to find the display even though variables are set appropriately

Version-Release number of selected component (if applicable):
- 7.3 GA

How reproducible:
- Unable to reproduce in house, but several reports by customer. 

Steps to Reproduce:
1.Update to RHEL 7.3 and reboot
2.
3.

Actual results:
- Gnome GUI will not start

Expected results:


Additional info:

Dec  7 10:02:57 <hostname> gdm-launch-environment]: pam_unix(gdm-launch-environment:session): session opened for user gdm by (uid=0)
Dec  7 10:02:57 <hostname> gnome-session[21577]: WARNING: Error getting login monitor: -13
Dec  7 10:02:57 <hostname> gnome-session[21577]: WARNING: Error getting login monitor: -13
Dec  7 10:02:58 <hostname> spice-vdagent[21609]: Cannot access vdagent virtio channel /dev/virtio-ports/com.redhat.spice.0
Dec  7 10:02:58 <hostname> spice-vdagent[21609]: Cannot access vdagent virtio channel /dev/virtio-ports/com.redhat.spice.0
Dec  7 10:02:58 <hostname> gnome-session[21577]: WARNING: App 'spice-vdagent.desktop' exited with code 1
Dec  7 10:02:58 <hostname> gnome-session[21577]: WARNING: App 'spice-vdagent.desktop' exited with code 1
Dec  7 10:03:34 <hostname> gdm-password]: pam_unix(gdm-password:session): session opened for user root by (uid=0)
Dec  7 10:03:35 <hostname> gdm-launch-environment]: pam_unix(gdm-launch-environment:session): session closed for user gdm
Dec  7 10:03:36 <hostname> spice-vdagent[21993]: Cannot access vdagent virtio channel /dev/virtio-ports/com.redhat.spice.0
Dec  7 10:03:36 <hostname> spice-vdagent[21993]: Cannot access vdagent virtio channel /dev/virtio-ports/com.redhat.spice.0
Dec  7 10:03:36 <hostname> gnome-session[21797]: WARNING: App 'spice-vdagent.desktop' exited with code 1
Dec  7 10:03:36 <hostname> gnome-session[21797]: WARNING: App 'spice-vdagent.desktop' exited with code 1
Dec  7 10:03:53 <hostname> kernel: [84211.924922] gnome-shell[22014]: segfault at 80 ip 00007f43ccdefac0 sp 00007fffb8d75608 error 4 in libgnome-shell.so[7f43ccd97000+285000]
Dec  7 10:03:53 <hostname> kernel: [84211.924922] gnome-shell[22014]: segfault at 80 ip 00007f43ccdefac0 sp 00007fffb8d75608 error 4 in libgnome-shell.so[7f43ccd97000+285000]
Dec  7 10:03:54 <hostname> gnome-session[21797]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Dec  7 10:03:54 <hostname> gnome-session[21797]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Dec  7 10:03:59 <hostname> kernel: [84217.813926] gnome-shell[22283]: segfault at 80 ip 00007fe9a74ccac0 sp 00007ffc9886ac48 error 4 in libgnome-shell.so[7fe9a7474000+285000]
Dec  7 10:03:59 <hostname> kernel: [84217.813926] gnome-shell[22283]: segfault at 80 ip 00007fe9a74ccac0 sp 00007ffc9886ac48 error 4 in libgnome-shell.so[7fe9a7474000+285000]
Dec  7 10:03:59 <hostname> gnome-session[21797]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Dec  7 10:03:59 <hostname> gnome-session[21797]: WARNING: App 'gnome-shell.desktop' respawning too quickly
Dec  7 10:03:59 <hostname> gnome-session[21797]: WARNING: Application 'gnome-shell.desktop' killed by signal 11
Dec  7 10:03:59 <hostname> gnome-session[21797]: WARNING: App 'gnome-shell.desktop' respawnin


We cloned the VM and collected the following:
I get the following output from a terminal in a VNC session:

[linadmin@dor-pxe-test3 ~]$ xrandr --verbose > xrandr.log
RandR extension missing
[linadmin@dor-pxe-test3 ~]$ xdpyinfo -ext all >xdpyinfo.log
Xlib:  extension "Multi-Buffering" missing on display "127.0.0.1:1".
Xlib:  extension "XFree86-DGA" missing on display "127.0.0.1:1".
Xlib:  extension "XFree86-VidModeExtension" missing on display "127.0.0.1:1".
Xlib:  extension "XFree86-Misc" missing on display "127.0.0.1:1".
Xlib:  extension "XINERAMA" missing on display "127.0.0.1:1".

Not sure how the above are "missing", verified packages installation


-bash-4.2$ gdb `which gnome-shell` coredump 
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-94.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-shell...Reading symbols from /usr/lib/debug/usr/bin/gnome-shell.debug...done.
done.
[New LWP 12940]
[New LWP 12952]
[New LWP 12951]
[New LWP 12954]
[New LWP 12955]
[New LWP 12956]
[New LWP 12957]

warning: .dynamic section for "/lib64/libEGL.so.1" is not at the expected address (wrong library or version mismatch?)

warning: .dynamic section for "/lib64/libGL.so.1" is not at the expected address (wrong library or version mismatch?)
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/gnome-shell'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007fd44130f679 in update_move (window=window@entry=0x1bf9400, snap=snap@entry=0, x=410, y=47) at core/window.c:5620
5620          meta_window_get_work_area_for_monitor (window,
(gdb) bt
#0  0x00007fd44130f679 in update_move (window=window@entry=0x1bf9400 [MetaWindowX11], snap=snap@entry=0, x=410, y=47) at core/window.c:5620
#1  0x00007fd441310591 in meta_window_handle_mouse_grab_op_event (window=window@entry=0x1bf9400 [MetaWindowX11], event=event@entry=0x2066ce0)
    at core/window.c:6147
#2  0x00007fd4412f1d6b in event_callback (event=0x2066ce0, display=0xa5b2b0 [MetaDisplay]) at core/events.c:235
#3  0x00007fd4412f1d6b in event_callback (event=0x2066ce0, data=0xa5b2b0) at core/events.c:327
#4  0x00007fd44070339d in _clutter_event_process_filters (event=event@entry=0x2066ce0) at ./clutter-event.c:1768
#5  0x00007fd440715e33 in _clutter_process_event (device=0x8041c0 [ClutterInputDeviceXI2], event=0x2066ce0) at ./clutter-main.c:2248
#6  0x00007fd440715e33 in _clutter_process_event (context=0x62ce60, event=0x2066ce0, stage=<optimized out>) at ./clutter-main.c:2603
#7  0x00007fd440715e33 in _clutter_process_event (event=event@entry=0x2066ce0) at ./clutter-main.c:2763
#8  0x00007fd440730420 in _clutter_stage_process_queued_events (stage=0x85c610 [MetaStage]) at ./clutter-stage.c:1082
#9  0x00007fd440717b28 in clutter_clock_dispatch (master_clock=0xc4fc00 [ClutterMasterClock], stages=<optimized out>)
    at ./clutter-master-clock.c:372
#10 0x00007fd440717b28 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>)
    at ./clutter-master-clock.c:589
#11 0x00007fd43cec6d7a in g_main_context_dispatch (context=0x61e9f0) at gmain.c:3152
#12 0x00007fd43cec6d7a in g_main_context_dispatch (context=context@entry=0x61e9f0) at gmain.c:3767
#13 0x00007fd43cec70b8 in g_main_context_iterate (context=0x61e9f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at gmain.c:3838
#14 0x00007fd43cec738a in g_main_loop_run (loop=0x62ad40) at gmain.c:4032
#15 0x00007fd4412fa4c8 in meta_run () at core/main.c:476
#16 0x0000000000402455 in main (argc=1, argv=0x7fffa19f3e28) at main.c:471

So gnome-shell crashed while trying to move a window around on the screen

(gdb) f 0
#0  0x00007fd44130f679 in update_move (window=window@entry=0x1bf9400 [MetaWindowX11], snap=snap@entry=0, x=410, y=47) at core/window.c:5620
5620          meta_window_get_work_area_for_monitor (window,
(gdb) l
5615           * meta_screen_get_current_monitor() is slightly different: the former
5616           * refers to the monitor which contains the largest part of the window,
5617           * the latter to the one where the pointer is located.
5618           */
5619          monitor = meta_screen_get_current_monitor_info_for_pos (window->screen, x, y);
5620          meta_window_get_work_area_for_monitor (window,
5621                                                 monitor->number,
5622                                                 &work_area);
5623
5624          /* Check if the cursor is in a position which triggers tiling
(gdb) p window
$1 = 0x1bf9400 [MetaWindowX11]
(gdb) p monitor->number
Cannot access memory at address 0x0
(gdb) p work_area
$2 = {x = -1583400416, y = 32767, width = 106, height = 0}
(gdb) p monitor
$3 = (const MetaMonitorInfo *) 0x0

Monitor isn't supposed to be NULL

(gdb)
(gdb) info loc
monitor = 0x0
work_area = {x = -1583400416, y = 32767, width = 106, height = 0}
dx = 6
dy = 9
new_x = 6
new_y = 9
old = {x = -1583400416, y = 32767, width = 106, height = 0}
shake_threshold = 48
display = 0xa5b2b0 [MetaDisplay]
(gdb) p *window
$4 = {parent_instance = {g_type_instance = {g_class = 0x1d32d50}, ref_count = 4, qdata = 0xdea7e1}, display = 0xa5b2b0 [MetaDisplay], 
  screen = 0x63d5a0 [MetaScreen], stamp = 4294967300, monitor = 0x0, workspace = 0x0, client_type = META_WINDOW_CLIENT_TYPE_X11, 
  surface = 0x0, xwindow = 27262983, frame = 0x22c7800, depth = 32, xvisual = 0x8910a0, desc = 0x169fab0 "0x1a00007 (linadmin@d)", 
  title = 0xe28610 "linadmin@dor-pxe-test3:~", icon = 0x1761d20 [GdkPixbuf], mini_icon = 0x7fd414054120 [GdkPixbuf], 
  type = META_WINDOW_NORMAL, res_class = 0x2371bb0 "Gnome-terminal", res_name = 0x1301690 "gnome-terminal-server", 
  role = 0x10cff80 "gnome-terminal-window-b6f17707-8700-4fa9-befc-ca4901484c04", sm_client_id = 0x0, 
  wm_client_machine = 0x1aa5e80 "dor-pxe-test3", startup_id = 0x0, mutter_hints = 0x0, gtk_theme_variant = 0x0, 
  gtk_application_id = 0x20d05d0 "org.gnome.Terminal", gtk_unique_bus_name = 0x1f6b1d0 ":1.67", 
  gtk_application_object_path = 0x22232a0 "/org/gnome/Terminal", gtk_window_object_path = 0xda0670 "/org/gnome/Terminal/window/1", 
  gtk_app_menu_object_path = 0x2e04a50 "/org/gnome/Terminal/menus/appmenu", gtk_menubar_object_path = 0x0, hide_titlebar_when_maximized = 0, 
  net_wm_pid = 19319, xtransient_for = 0, xgroup_leader = 27262977, xclient_leader = 27262977, transient_for = 0x0, initial_workspace = 0, 
  initial_timestamp = 0, override_redirect = 0, maximized_horizontally = 0, maximized_vertically = 0, 
  maximize_horizontally_after_placement = 0, maximize_vertically_after_placement = 0, minimize_after_placement = 0, tile_mode = 0, 
  saved_maximize = 0, tile_monitor_number = -1, preferred_output_winsys_id = -1, shaded = 0, fullscreen = 0, urgent = 0, 
  fullscreen_monitors = {-1, 0, 0, 0}, require_fully_onscreen = 0, require_on_single_monitor = 0, require_titlebar_visible = 0, 
  on_all_workspaces = 1, on_all_workspaces_requested = 0, minimized = 0, tab_unminimized = 0, mapped = 1, hidden = 0, 
  visible_to_compositor = 1, known_to_compositor = 1, pending_compositor_effect = 4, iconic = 0, initially_iconic = 0, 
  initial_workspace_set = 0, initial_timestamp_set = 0, net_wm_user_time_set = 1, icon_geometry_set = 0, take_focus = 1, delete_window = 1, 
  can_ping = 1, input = 1, mwm_decorated = 1, mwm_border_only = 0, mwm_has_close_func = 1, mwm_has_minimize_func = 1, 
  mwm_has_maximize_func = 1, mwm_has_move_func = 1, mwm_has_resize_func = 1, decorated = 1, border_only = 0, always_sticky = 0, 
  has_close_func = 1, has_minimize_func = 1, has_maximize_func = 0, has_shade_func = 1, has_move_func = 1, has_resize_func = 1, 
  has_fullscreen_func = 1, skip_taskbar = 0, skip_pager = 0, wm_state_above = 0, wm_state_below = 0, wm_state_demands_attention = 0, 
  has_focus = 1, placed = 1, denied_focus_and_not_transient = 0, showing_for_first_time = 0, unmanaging = 0, constructing = 0, 
  is_in_queues = 0, keys_grabbed = 0, grab_on_frame = 1, all_keys_grabbed = 1, withdrawn = 0, calc_placement = 0, shaken_loose = 0, 
  have_focus_click_grab = 0, disable_sync = 0, attached = 0, is_remote = 0, frame_bounds = 0x28a7700, shape_region = 0x0, 
  opaque_region = 0x13b73a0, input_region = 0x0, opacity = 255 '\377', extended_sync_request_counter = 1, struts = 0x0, 
  sync_request_counter = 27262986, sync_request_serial = 18, sync_request_wait_serial = 0, sync_request_timeout_id = 0, 
  sync_request_alarm = 14680125, unmaps_pending = 0, stable_sequence = 5, net_wm_user_time = 504232665, user_time_window = 27262984, 
  has_custom_frame_extents = 0, custom_frame_extents = {left = 0, right = 0, top = 0, bottom = 0}, rect = {x = 0, y = 0, width = 737, 
    height = 503}, saved_rect = {x = 0, y = 0, width = 735, height = 463}, unconstrained_rect = {x = 0, y = 0, width = 737, height = 503}, 
  buffer_rect = {x = -9, y = -8, width = 755, height = 520}, icon_geometry = {x = 0, y = 0, width = 0, height = 0}, size_hints = {
    flags = 1008, x = 0, y = 0, width = 735, height = 463, min_width = 312, min_height = 85, max_width = 2147483647, 
    max_height = 2147483647, width_inc = 9, height_inc = 18, min_aspect = {x = 1, y = 2147483647}, max_aspect = {x = 2147483647, y = 1}, 
    base_width = 15, base_height = 31, win_gravity = 1}, layer = META_LAYER_NORMAL, stack_position = 1, dialog_pid = -1, is_alive = 0, 
  group = 0x2dc7470, compositor_private = 0x1bfb310 [MetaWindowActor], attached_focus_window = 0x0, tile_match = 0x0, bypass_compositor = 0}
(gdb) l
5615           * meta_screen_get_current_monitor() is slightly different: the former
5616           * refers to the monitor which contains the largest part of the window,
5617           * the latter to the one where the pointer is located.
5618           */
5619          monitor = meta_screen_get_current_monitor_info_for_pos (window->screen, x, y);
5620          meta_window_get_work_area_for_monitor (window,
5621                                                 monitor->number,
5622                                                 &work_area);
5623
5624          /* Check if the cursor is in a position which triggers tiling
(gdb) p window->screen
$5 = 0x63d5a0 [MetaScreen]
(gdb) p *window->screen
$6 = {parent_instance = {g_type_instance = {g_class = 0xb6fb70}, ref_count = 2, qdata = 0x11ea851}, display = 0xa5b2b0 [MetaDisplay], 
  number = 0, screen_name = 0x97c2c0 "127.0.0.1:1.0", xscreen = 0x8c6f70, xroot = 617, default_depth = 24, default_xvisual = 0x8ca460, 
  rect = {x = 0, y = 0, width = 1152, height = 864}, ui = 0xb6f240, tile_preview_timeout_id = 0, 
  active_workspace = 0x894810 [MetaWorkspace], no_focus_window = 14680075, workspaces = 0x9008e0 = {0x894810, 0xbf9340, 0xbf92b0, 0xbf9220}, 
  stack = 0xc8c810, stack_tracker = 0xb6e1b0, current_cursor = META_CURSOR_MOVE_OR_RESIZE_WINDOW, wm_sn_selection_window = 14680069, 
  wm_sn_atom = 396, wm_sn_timestamp = 504154520, monitor_infos = 0x0, n_monitor_infos = 0, primary_monitor_index = 0, 
  has_xinerama_indices = 0, last_monitor_index = 0, sn_context = 0xcc4b90, startup_sequences = 0x0, startup_sequence_timeout = 0, 
  wm_cm_selection_window = 14680070, wm_cm_timestamp = 504154590, work_area_later = 0, check_fullscreen_later = 0, rows_of_workspaces = -1, 
  columns_of_workspaces = 1, starting_corner = META_SCREEN_TOPLEFT, vertical_workspaces = 0, workspace_layout_overridden = 1, 
  keys_grabbed = 1, closing = 0, guard_window = 14680085, composite_overlay_window = 77}
(gdb) 

(gdb) l  meta_screen_get_current_monitor_info_for_pos
1610
1611    const MetaMonitorInfo*
1612    meta_screen_get_current_monitor_info_for_pos (MetaScreen *screen,
1613                                                  int x,
1614                                                  int y)
1615    {
1616        int monitor_index;
1617        monitor_index = meta_screen_get_current_monitor_for_pos (screen, x, y);
1618        return &screen->monitor_infos[monitor_index];
1619    }
(gdb) l meta_screen_get_current_monitor_for_pos
1631     */
1632    int
1633    meta_screen_get_current_monitor_for_pos (MetaScreen *screen,
1634                                             int x,
1635                                             int y)
1636    {
1637      if (screen->n_monitor_infos == 1)
1638        return 0;
1639      else if (screen->display->monitor_cache_invalidated)
1640        {


(gdb) p window->screen->monitor_infos
$7 = (MetaMonitorInfo *) 0x0
(gdb) 
(gdb) ptype window->screen->monitor_infos
type = struct _MetaMonitorInfo {
    int number;
    int xinerama_index;
    MetaRectangle rect;
    gboolean is_primary;
    gboolean is_presentation;
    gboolean in_fullscreen;
    glong winsys_id;
} *
(gdb)