Bug 1888993 - metacity crashes / dies in installer images, preventing installer from running (crash in meta_window_get_client_pid)
Summary: metacity crashes / dies in installer images, preventing installer from runnin...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libXres
Version: rawhide
Hardware: All
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Yaakov Selkowitz
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: openqa
Depends On:
Blocks: F34BetaBlocker
TreeView+ depends on / blocked
 
Reported: 2020-10-16 17:30 UTC by Adam Williamson
Modified: 2020-10-21 21:33 UTC (History)
21 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-10-21 21:31:52 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
freedesktop.org Gitlab xorg/lib libxres merge_requests 1 0 None None None 2020-10-21 16:39:21 UTC

Description Adam Williamson 2020-10-16 17:30:17 UTC
This is kind of a follow-on from https://bugzilla.redhat.com/show_bug.cgi?id=1887969 . We fixed *that* crash, but metacity is now crashing a bit later in startup:

Stack trace of thread 1825:
#0  0x00007f4bc77a0975 raise (libc.so.6 + 0x3d975)
#1  0x00007f4bc77898a4 abort (libc.so.6 + 0x268a4)
#2  0x00007f4bc77e3127 __libc_message (libc.so.6 + 0x80127)
#3  0x00007f4bc77eae1c malloc_printerr (libc.so.6 + 0x87e1c)
#4  0x00007f4bc77ed2d2 free_check (libc.so.6 + 0x8a2d2)
#5  0x00007f4bc8a5c99d XResClientIdsDestroy (libXRes.so.1 + 0x199d)
#6  0x00005578b8fabb5f meta_window_get_client_pid (metacity + 0x46b5f)
#7  0x00005578b8fabbf9 set_title_text (metacity + 0x46bf9)
#8  0x00005578b8fabf0a set_window_title (metacity + 0x46f0a)
#9  0x00005578b8faf8d8 reload_net_wm_name.lto_priv.0 (metacity + 0x4a8d8)
#10 0x00005578b8fa2f0a meta_window_new (metacity + 0x3df0a)
#11 0x00005578b8f89904 meta_display_open (metacity + 0x24904)
#12 0x00005578b8f781b9 main (metacity + 0x131b9)
#13 0x00007f4bc778b182 __libc_start_main (libc.so.6 + 0x28182)
#14 0x00005578b8f7885e _start (metacity + 0x1385e)

and this still prevents the installer from working at all. I'm working on getting a full backtrace, but just from that one it looks like we're crashing in the code changed in this commit:

https://gitlab.gnome.org/GNOME/metacity/-/commit/8430e8436cb6bac732c00de5b5a3c3d73be62871

Comment 1 Adam Williamson 2020-10-16 17:45:23 UTC
Here's the full backtrace:

#0  __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:49
49	  return ret;
[Current thread is 1 (Thread 0x7f92fd50ca80 (LWP 1804))]
(gdb) bt full
#0  __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:49
        set = {__val = {0, 0, 140721216334560, 1, 140721216334640, 0, 0, 6871404107517253120, 94372277956736, 422, 
            94372278304720, 140721216334808, 94372276055648, 94372278304720, 94372276055648, 140269306626572}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007f92fe2b88a4 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x7ffc361cad00, sa_sigaction = 0x7ffc361cad00}, sa_mask = {
            __val = {140721216335064, 94372276055648, 140269300313377, 94372276055648, 140269300318013, 
              94372276055648, 94372276055672, 3, 94372278341024, 423, 140721216335104, 0, 140269306630728, 0, 0, 
              0}}, sa_flags = 0, sa_restorer = 0x400000000}
        sigs = {__val = {32, 0, 17179869184, 6871404107517253120, 3, 423, 94372277628192, 140721216335064, 
            94372276055648, 94372277628192, 94372276055648, 140269306626572, 140721216335296, 423, 140721216335296, 
            140721216335072}}
#2  0x00007f92fe312127 in __libc_message (action=<optimized out>, fmt=<optimized out>)
    at ../sysdeps/posix/libc_fatal.c:155
        ap = {{gp_offset = 24, fp_offset = 21972, overflow_arg_area = 0x7ffc361cae50, 
            reg_save_area = 0x7ffc361cade0}}
        fd = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
#3  0x00007f92fe319e1c in malloc_printerr (str=str@entry=0x7f92fe4225cc "free(): invalid pointer") at malloc.c:5414
No locals.
#4  0x00007f92fe31c2d2 in free_check (mem=0x55d4c215ad20, caller=<optimized out>) at hooks.c:255
        p = <optimized out>
#5  0x00007f92ff58b99d in XResClientIdsDestroy (num_ids=<optimized out>, client_ids=0x55d4c2222bd0) at XRes.c:323
        c = 0
#6  0x000055d4c0bfdb5f in meta_window_get_client_pid (self=self@entry=0x55d4c2392160) at core/window.c:9306
        spec = {client = 4194316, mask = 2}
        num_ids = 1
        client_ids = 0x55d4c2222bd0
        i = <optimized out>
#7  0x000055d4c0bfdbf9 in set_title_text (window=window@entry=0x55d4c2392160, previous_was_modified=0, 
    title=0x55d4c2220cd0 "metacity", atom=375, target=target@entry=0x55d4c23921c0) at core/window-props.c:552
        hostname = "fedora\000\000\000ֹ(\241!\\_\b\000\000\000\000\000\000\000\250I\035\302\324U\000\000\020J\035\302\324U\000\000\002\000\000\000\000\000\000\000\020J\035\302\324U\000\000\340S\032\302\324U\000\000\377"
        modified = 0
#8  0x000055d4c0bfdf0a in set_window_title (window=0x55d4c2392160, title=<optimized out>) at core/window-props.c:641
        modified = <optimized out>
#9  0x000055d4c0c018d8 in reload_net_wm_name (window=0x55d4c2392160, value=<optimized out>, initial=<optimized out>)
    at core/window-props.c:665
No locals.
#10 0x000055d4c0bf4f0a in reload_prop_value (initial=1, value=0x55d4c21a9ed8, hooks=<optimized out>, window=0x55d4c2392160) at core/window-props.c:202
No locals.
#11 meta_window_load_initial_properties (window=0x55d4c2392160) at core/window-props.c:166
        hooks = <optimized out>
        i = 1
        j = 1
        values = 0x55d4c21a9eb0
        n_properties = <optimized out>
        i = <optimized out>
        j = <optimized out>
        values = <optimized out>
        n_properties = <optimized out>
        __n = <optimized out>
        __s = <optimized out>
        __p = <optimized out>
        hooks = <optimized out>
        hooks = <optimized out>
#12 meta_window_new (display=0x55d4c2368c00, xwindow=<optimized out>, must_be_viewable=<optimized out>, effect=<optimized out>) at core/window.c:611
        attrs = {x = -200, y = -200, width = 1, height = 1, border_width = 0, depth = 24, visual = 0x55d4c1fe7110, root = 1333, class = 1, bit_gravity = 1, win_gravity = 1, backing_store = 0, backing_planes = 4294967295, backing_pixel = 0, save_under = 1, colormap = 4194315, map_installed = 0, map_state = 2, all_event_masks = 6529151, your_event_mask = 6529151, do_not_propagate_mask = 0, override_redirect = 1, screen = 0x55d4c1fd92e0}
        window = 0x55d4c2392160
        space = <optimized out>
        existing_wm_state = <optimized out>
        event_mask = <optimized out>
        flags = <optimized out>
#13 0x000055d4c0bdb904 in meta_screen_manage_all_windows (screen=0x55d4c2166240) at core/screen.c:603
        windows = 0x55d4c21e8ac0
        n_windows = 7
        xwindows = <optimized out>
        i = <optimized out>
        windows = <optimized out>
        n_windows = <optimized out>
        xwindows = <optimized out>
        i = <optimized out>
#14 meta_display_open () at core/display.c:785
        xdisplay = <optimized out>
        i = <optimized out>
        timestamp = 44310
        screen = <optimized out>
        old_active_xwindow = 0
        atom_names = {0x55d4c0c15928 "WM_PROTOCOLS", 0x55d4c0c15935 "WM_TAKE_FOCUS", 0x55d4c0c15943 "WM_DELETE_WINDOW", 0x55d4c0c15bcc "WM_STATE", 0x55d4c0c15954 "_MOTIF_WM_HINTS", 0x55d4c0c15964 "WM_CHANGE_STATE", 0x55d4c0c15974 "SM_CLIENT_ID", 0x55d4c0c15981 "WM_CLIENT_LEADER", 0x55d4c0c15992 "WM_WINDOW_ROLE", 0x55d4c0c159a1 "UTF8_STRING", 0x55d4c0c159ad "WM_ICON_SIZE", 0x55d4c0c159ba "_KWM_WIN_ICON", 0x55d4c0c159c8 "_METACITY_RESTART_MESSAGE", 0x55d4c0c18148 "_METACITY_RELOAD_THEME_MESSAGE", 0x55d4c0c18168 "_METACITY_SET_KEYBINDINGS_MESSAGE", 0x55d4c0c18190 "_METACITY_SET_MOUSEMODS_MESSAGE", 0x55d4c0c159e2 "_METACITY_TOGGLE_VERBOSE", 0x55d4c0c159fb "_GTK_THEME_VARIANT", 0x55d4c0c15a0e "_GTK_FRAME_EXTENTS", 0x55d4c0c15a21 "_GTK_SHOW_WINDOW_MENU", 0x55d4c0c15a37 "_GTK_WORKAREAS", 0x55d4c0c15a46 "_GNOME_PANEL_ACTION", 0x55d4c0c15a5a "_GNOME_PANEL_ACTION_MAIN_MENU", 0x55d4c0c181b0 "_GNOME_PANEL_ACTION_RUN_DIALOG", 0x55d4c0c15a78 "_GNOME_WM_STRUT_AREA", 0x55d4c0c15a8d "_METACITY_TIMESTAMP_PING", 0x55d4c0c15aa6 "_METACITY_FOCUS_SET", 0x55d4c0c15aba "_METACITY_SENTINEL", 0x55d4c0c15acd "_METACITY_VERSION", 0x55d4c0c15adf "WM_CLIENT_MACHINE", 0x55d4c0c15af1 "MANAGER", 0x55d4c0c15af9 "TARGETS", 0x55d4c0c15b01 "MULTIPLE", 0x55d4c0c15b0a "TIMESTAMP", 0x55d4c0c15ad7 "VERSION", 0x55d4c0c15b14 "ATOM_PAIR", 0x55d4c0c15b1e "_XROOTPMAP_ID", 0x55d4c0c15b2c "_XSETROOT_ID", 0x55d4c0c15b39 "_NET_WM_SYNC_REQUEST", 0x55d4c0c15b4e "_NET_WM_SYNC_REQUEST_COUNTER", 0x55d4c0c15b6b "_NET_WM_VISIBLE_NAME", 0x55d4c0c15b80 "_NET_SUPPORTING_WM_CHECK", 0x55d4c0c15b99 "_NET_SUPPORTED", 0x55d4c0c15ba8 "_NET_WM_NAME", 0x55d4c0c15bb5 "_NET_CLOSE_WINDOW", 0x55d4c0c15bc7 "_NET_WM_STATE", 0x55d4c0c15bd5 "_NET_WM_STATE_SHADED", 0x55d4c0c15bea "_NET_WM_STATE_MAXIMIZED_HORZ", 0x55d4c0c15c07 "_NET_WM_STATE_MAXIMIZED_VERT", 0x55d4c0c15c24 "_NET_WM_DESKTOP", 0x55d4c0c15c34 "_NET_NUMBER_OF_DESKTOPS", 0x55d4c0c15c4c "_NET_CURRENT_DESKTOP", 0x55d4c0c15c61 "_NET_WM_WINDOW_TYPE", 0x55d4c0c15c75 "_NET_WM_WINDOW_TYPE_DESKTOP", 0x55d4c0c15c91 "_NET_WM_WINDOW_TYPE_DOCK", 0x55d4c0c15caa "_NET_WM_WINDOW_TYPE_TOOLBAR", 0x55d4c0c15cc6 "_NET_WM_WINDOW_TYPE_MENU", 0x55d4c0c15cdf "_NET_WM_WINDOW_TYPE_UTILITY", 0x55d4c0c15cfb "_NET_WM_WINDOW_TYPE_SPLASH", 0x55d4c0c15d16 "_NET_WM_WINDOW_TYPE_DIALOG", 0x55d4c0c181d0 "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU", 0x55d4c0c181f8 "_NET_WM_WINDOW_TYPE_POPUP_MENU", 0x55d4c0c15d31 "_NET_WM_WINDOW_TYPE_TOOLTIP", 0x55d4c0c18218 "_NET_WM_WINDOW_TYPE_NOTIFICATION", 0x55d4c0c15d4d "_NET_WM_WINDOW_TYPE_COMBO", 0x55d4c0c15d67 "_NET_WM_WINDOW_TYPE_DND", 0x55d4c0c15d7f "_NET_WM_WINDOW_TYPE_NORMAL", 0x55d4c0c15d9a "_NET_WM_STATE_MODAL", 0x55d4c0c15dae "_NET_CLIENT_LIST", 0x55d4c0c15dbf "_NET_CLIENT_LIST_STACKING", 0x55d4c0c15dd9 "_NET_WM_STATE_SKIP_TASKBAR", 0x55d4c0c15df4 "_NET_WM_STATE_SKIP_PAGER", 0x55d4c0c15e0d "_NET_WM_ICON", 0x55d4c0c15e1a "_NET_WM_ICON_GEOMETRY", 0x55d4c0c15e30 "_NET_WM_MOVERESIZE", 0x55d4c0c15e43 "_NET_ACTIVE_WINDOW", 0x55d4c0c15e56 "_NET_WM_STRUT", 0x55d4c0c15e64 "_NET_WM_STATE_HIDDEN", 0x55d4c0c15e79 "_NET_WM_STATE_FULLSCREEN", 0x55d4c0c15e92 "_NET_WM_PING", 0x55d4c0c15e9f "_NET_WM_PID", 0x55d4c0c15eab "_NET_WORKAREA", 0x55d4c0c15eb9 "_NET_SHOWING_DESKTOP", 0x55d4c0c15ece "_NET_DESKTOP_LAYOUT", 0x55d4c0c15ee2 "_NET_DESKTOP_NAMES", 0x55d4c0c15ef5 "_NET_WM_ALLOWED_ACTIONS", 0x55d4c0c15f0d "_NET_WM_ACTION_MOVE", 0x55d4c0c15f21 "_NET_WM_ACTION_RESIZE", 0x55d4c0c15f37 "_NET_WM_ACTION_SHADE", 0x55d4c0c15f4c "_NET_WM_ACTION_STICK", 0x55d4c0c15f61 "_NET_WM_ACTION_MAXIMIZE_HORZ", 0x55d4c0c15f7e "_NET_WM_ACTION_MAXIMIZE_VERT", 0x55d4c0c15f9b "_NET_WM_ACTION_CHANGE_DESKTOP", 0x55d4c0c15fb9 "_NET_WM_ACTION_CLOSE", 0x55d4c0c15fce "_NET_WM_STATE_ABOVE", 0x55d4c0c15fe2 "_NET_WM_STATE_BELOW", 0x55d4c0c15ff6 "_NET_STARTUP_ID", 0x55d4c0c16006 "_NET_WM_STRUT_PARTIAL", 0x55d4c0c1601c "_NET_WM_ACTION_FULLSCREEN", 0x55d4c0c16036 "_NET_WM_ACTION_MINIMIZE", 0x55d4c0c1604e "_NET_FRAME_EXTENTS", 0x55d4c0c16061 "_NET_REQUEST_FRAME_EXTENTS", 0x55d4c0c1607c "_NET_WM_USER_TIME", 0x55d4c0c18240 "_NET_WM_STATE_DEMANDS_ATTENTION", 0x55d4c0c1608e "_NET_MOVERESIZE_WINDOW", 0x55d4c0c160a5 "_NET_DESKTOP_GEOMETRY", 0x55d4c0c160bb "_NET_DESKTOP_VIEWPORT", 0x55d4c0c160d1 "_NET_WM_USER_TIME_WINDOW", 0x55d4c0c160ea "_NET_WM_ACTION_ABOVE", 0x55d4c0c160ff "_NET_WM_ACTION_BELOW", 0x55d4c0c16114 "_NET_WM_STATE_STICKY", 0x55d4c0c16129 "_NET_WM_FULLSCREEN_MONITORS", 0x55d4c0c16145 "_NET_WM_STATE_FOCUSED", 0x55d4c0c1615b "_NET_WM_OPAQUE_REGION", 0x55d4c0c16171 "_NET_RESTACK_WINDOW", 0x55d4c0c16185 "_NET_WM_WINDOW_OPACITY"}
        atoms = {300, 301, 298, 348, 349, 350, 351, 297, 302, 285, 38, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 36, 370, 281, 283, 284, 371, 372, 373, 374, 325, 326, 375, 295, 376, 311, 377, 314, 378, 321, 320, 308, 379, 304, 327, 380, 381, 382, 332, 336, 383, 329, 331, 334, 335, 384, 328, 330, 333, 319, 385, 386, 322, 323, 309, 387, 388, 303, 389, 318, 317, 313, 312, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 315, 316, 306, 403, 404, 405, 305, 406, 337, 407, 408, 409, 410, 338, 411, 412, 324, 413, 341, 414, 415, 416}
        __func__ = "meta_display_open"
#15 0x000055d4c0bca1b9 in main (argc=<optimized out>, argv=<optimized out>) at core/main.c:564
        act = {__sigaction_handler = {sa_handler = 0x55d4c0be2ec0 <sigterm_handler>, sa_sigaction = 0x55d4c0be2ec0 <sigterm_handler>}, sa_mask = {__val = {0, 94372276006176, 0, 140269306632441, 94372276006176, 0, 11, 94358765376641, 0, 193, 13, 140269306623678, 33, 3, 219043332109, 140269306632227}}, sa_flags = 0, sa_restorer = 0x50}
        empty_mask = {__val = {0, 94372276006176, 0, 140269306632441, 94372276006176, 0, 11, 94358765376641, 0, 193, 13, 140269306623678, 33, 3, 219043332109, 140269306632227}}
        meta_args = {save_file = 0x0, display_name = 0x55d4c1fd7830 "minimize", client_id = 0x0, replace_wm = <optimized out>, disable_sm = 1, print_version = <optimized out>, sync = <optimized out>, composite = <optimized out>, no_composite = <optimized out>, no_force_fullscreen = <optimized out>, compositor = <optimized out>, compositor_set = <optimized out>}
        channel = 0x7ffc361cc270
        __func__ = "main"

Comment 2 Alberts Muktupāvels 2020-10-17 17:49:45 UTC
Can you check if https://gitlab.gnome.org/GNOME/metacity/-/merge_requests/16 fixes crash?

Comment 3 Martin Pitt 2020-10-19 13:20:43 UTC
@Alberts: I did check it now (took a while, had to learn how), and it does *not* fix it yet. See upstream PR for details.

Comment 4 Jan Kaluža 2020-10-21 05:56:36 UTC
I can also reproduce it in Fedora ELN (which is based on the same metacity/anaconda version it seems).

Comment 5 Adam Williamson 2020-10-21 06:18:03 UTC
We're mostly discussing this on the upstream MR, FWIW. It's proving a bit recalcitrant. https://gitlab.gnome.org/GNOME/metacity/-/merge_requests/16#note_939936

Comment 6 Adam Williamson 2020-10-21 16:38:48 UTC
So this turns out to be a bug in libXres. halfline found it and sent a fix, I tested it:

https://gitlab.freedesktop.org/xorg/lib/libxres/-/merge_requests/1

I'll backport it in an official build in a couple hours, I have to run out first.

Comment 7 Adam Williamson 2020-10-21 21:31:52 UTC
https://koji.fedoraproject.org/koji/buildinfo?buildID=1628561 fixes this, I just tested. Will be in next Rawhide compose. Thanks Ray for the fix.

Comment 8 Adam Williamson 2020-10-21 21:33:20 UTC
Oh, for the record - that fixes it with no change in metacity necessary. Fixing metacity to handle XResQueryClientIds failing is still a good idea, but not necessary to fix this bug.


Note You need to log in before you can comment on or make changes to this bug.