Bug 1737326

Summary: [abrt] [faf] gnome-shell: raise(): /usr/bin/gnome-shell killed by 5
Product: Red Hat Enterprise Linux 8 Reporter: Michal Odehnal <modehnal>
Component: gnome-shellAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: 8.1CC: jadahl, jkoten, rstrode, tpelka
Target Milestone: rcKeywords: Regression, TestBlocker
Target Release: 8.0   
Hardware: x86_64   
OS: Linux   
URL: http://faf.lab.eng.brq.redhat.com/faf/reports/bthash/e868184737708ad3b912f7be2eab950b02408b88/
Whiteboard:
Fixed In Version: mutter-3.32.2-9.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-05 22:14:45 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: 1735382    
Bug Blocks: 1678350    
Attachments:
Description Flags
iconcache: Avoid xrender picture formats when creating cairo surface none

Description Michal Odehnal 2019-08-05 06:16:52 UTC
This bug has been created based on an anonymous crash report requested by the package maintainer.

Report URL: http://faf.lab.eng.brq.redhat.com/faf/reports/bthash/e868184737708ad3b912f7be2eab950b02408b88/

Comment 5 Ray Strode [halfline] 2019-08-05 14:13:31 UTC
full trace:

(gdb) bt
#0  0x00007f21255795f5 in _g_log_abort (breakpoint=1) at gmessages.c:580
#1  0x00007f212557c00c in g_log_writer_default (log_level=6, log_level@entry=G_LOG_LEVEL_ERROR, fields=fields@entry=0x7ffe2e2f1e60, n_fields=n_fields@entry=6, user_data=user_data@entry=0x0) at gmessages.c:2735
#2  0x00007f212557a277 in g_log_structured_array (n_fields=6, fields=0x7ffe2e2f1e60, log_level=G_LOG_LEVEL_ERROR) at gmessages.c:1970
#3  g_log_structured_array (log_level=G_LOG_LEVEL_ERROR, fields=0x7ffe2e2f1e60, n_fields=6) at gmessages.c:1943
#4  0x00007f212557ac92 in g_log_structured_standard (log_domain=log_domain@entry=0x7f2122edca0e "Gdk", log_level=log_level@entry=G_LOG_LEVEL_ERROR, file=file@entry=0x7f2122efa90e "gdkdisplay-x11.c", 
    line=line@entry=0x7f2122efa9e0 "2766", func=func@entry=0x7f2122efb670 <__func__.75337> "_gdk_x11_display_error_event", message_format=message_format@entry=0x7f2122efbcf8 "%s") at gmessages.c:2027
#5  0x00007f2122e9da8b in _gdk_x11_display_error_event (display=display@entry=0x55a83f36e0f0, error=error@entry=0x7ffe2e2f24a0) at gdkdisplay-x11.c:2766
#6  0x00007f2122eaa8f3 in gdk_x_error (xdisplay=0x55a83f361cc0, error=0x7ffe2e2f24a0) at gdkmain-x11.c:307
#7  0x00007f212234e9a2 in _XError (dpy=dpy@entry=0x55a83f361cc0, rep=rep@entry=0x55a8418fd2d0) at XlibInt.c:1444
#8  0x00007f212234b837 in handle_error (dpy=0x55a83f361cc0, err=0x55a8418fd2d0, in_XReply=<optimized out>) at xcb_io.c:199
#9  0x00007f212234b8dd in handle_response (dpy=dpy@entry=0x55a83f361cc0, response=0x55a8418fd2d0, in_XReply=in_XReply@entry=1) at xcb_io.c:324
#10 0x00007f212234c850 in _XReply (dpy=dpy@entry=0x55a83f361cc0, rep=rep@entry=0x7ffe2e2f2650, extra=extra@entry=0, discard=discard@entry=1) at xcb_io.c:634
#11 0x00007f21223480a1 in XSync (dpy=0x55a83f361cc0, discard=discard@entry=0) at Sync.c:44
#12 0x00007f212234813f in _XSyncFunction (dpy=<optimized out>) at Synchro.c:35
#13 0x00007f211b35c238 in XShmPutImage (dpy=0x55a83f361cc0, d=6291765, gc=<optimized out>, image=image@entry=0x7ffe2e2f2810, src_x=src_x@entry=0, src_y=src_y@entry=0, dst_x=0, dst_y=0, src_width=16, src_height=16, send_event=1)
    at XShm.c:352
#14 0x00007f2122bbc0da in _cairo_xlib_surface_draw_image (surface=surface@entry=0x55a840dbbc00, image=image@entry=0x55a83fee0790, src_x=0, src_y=0, width=16, height=16, dst_x=0, dst_y=0) at cairo-xlib-surface.c:1346
#15 0x00007f2122bb8d96 in surface_source (sample=<optimized out>, src_y=0x7ffe2e2f2a80, src_x=0x7ffe2e2f2a7c, extents=0x7ffe2e2f31dc, is_mask=<optimized out>, pattern=0x7ffe2e2f3220, dst=0x55a83f481020) at cairo-xlib-source.c:1028
#16 _cairo_xlib_source_create_for_pattern (_dst=0x55a83f481020, pattern=0x7ffe2e2f3220, is_mask=<optimized out>, extents=0x7ffe2e2f31dc, sample=<optimized out>, src_x=0x7ffe2e2f2a7c, src_y=0x7ffe2e2f2a80) at cairo-xlib-source.c:1155
#17 0x00007f2122b98c79 in composite_aligned_boxes (boxes=0x7ffe2e2f2f10, extents=0x7ffe2e2f31a0, compositor=0x7f2122e37cc0 <compositor>) at cairo-traps-compositor.c:1292
#18 clip_and_composite_boxes (compositor=compositor@entry=0x7f2122e37cc0 <compositor>, extents=extents@entry=0x7ffe2e2f31a0, boxes=boxes@entry=0x7ffe2e2f2f10) at cairo-traps-compositor.c:1792
#19 0x00007f2122b98dec in clip_and_composite_boxes (compositor=0x7f2122e37cc0 <compositor>, extents=0x7ffe2e2f31a0, boxes=0x7ffe2e2f2f10) at cairo-traps-compositor.c:1742
#20 0x00007f2122b9946c in _cairo_traps_compositor_paint (_compositor=0x7f2122e37cc0 <compositor>, extents=0x7ffe2e2f31a0) at cairo-traps-compositor.c:2063
#21 0x00007f2122b3f2e1 in _cairo_compositor_paint (compositor=0x7f2122e37cc0 <compositor>, surface=0x55a83f481020, op=<optimized out>, source=<optimized out>, clip=<optimized out>) at cairo-compositor.c:65
#22 0x00007f2122b90fe4 in _cairo_surface_paint (surface=0x55a83f481020, op=op@entry=CAIRO_OPERATOR_OVER, source=0x7ffe2e2f34d0, clip=0x7f20a401a450) at cairo-surface.c:2198
#23 0x00007f2122b472fa in _cairo_gstate_paint (gstate=0x55a841f52870) at cairo-gstate.c:1061
#24 0x00007f2122b9df19 in INT_cairo_paint (cr=0x55a840483300) at cairo.c:2220
#25 0x00007f2123a2938b in meta_frame_layout_draw_with_style (mini_icon=0x55a83faee8c0, button_states=0x7ffe2e2f3890, 
    flags=(META_FRAME_ALLOWS_DELETE | META_FRAME_ALLOWS_MENU | META_FRAME_ALLOWS_MINIMIZE | META_FRAME_ALLOWS_MAXIMIZE | META_FRAME_ALLOWS_VERTICAL_RESIZE | META_FRAME_ALLOWS_HORIZONTAL_RESIZE | META_FRAME_ALLOWS_SHADE | META_FRAME_ALLOWS_MOVE), title_layout=0x55a841fa2020, fgeom=0x7ffe2e2f36a0, cr=<optimized out>, style_info=0x55a83fee0790, layout=0x55a83f8c4a50) at ../src/ui/theme.c:891
#26 meta_theme_draw_frame (theme=<optimized out>, style_info=style_info@entry=0x55a8415ceec0, cr=cr@entry=0x55a840483300, type=type@entry=META_FRAME_TYPE_NORMAL, 
    flags=flags@entry=(META_FRAME_ALLOWS_DELETE | META_FRAME_ALLOWS_MENU | META_FRAME_ALLOWS_MINIMIZE | META_FRAME_ALLOWS_MAXIMIZE | META_FRAME_ALLOWS_VERTICAL_RESIZE | META_FRAME_ALLOWS_HORIZONTAL_RESIZE | META_FRAME_ALLOWS_SHADE | META_FRAME_ALLOWS_MOVE), client_width=client_width@entry=734, client_height=462, title_layout=0x55a841fa2020, text_height=20, button_layout=0x7ffe2e2f38a0, button_states=0x7ffe2e2f3890, mini_icon=0x55a83faee8c0) at ../src/ui/theme.c:1266
#27 0x00007f2123a25bca in meta_ui_frame_paint (cr=<optimized out>, frame=<optimized out>) at ../src/ui/frames.c:1557
#28 meta_frames_draw (widget=<optimized out>, cr=<optimized out>) at ../src/ui/frames.c:1501
#29 0x00007f2124f9feb4 in gtk_widget_draw_internal (widget=0x55a83f3f0460, cr=0x55a840483300, clip_to_size=<optimized out>) at gtkwidget.c:7032
#30 0x00007f2124fa9150 in gtk_widget_render (widget=widget@entry=0x55a83f3f0460, window=0x55a83f376970, region=<optimized out>) at gtkwidget.c:17542
#31 0x00007f2124e46919 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1838
#32 0x00007f2122e73599 in _gdk_event_emit (event=event@entry=0x7ffe2e2f3a80) at gdkevents.c:73
#33 0x00007f2122e841e6 in _gdk_window_process_updates_recurse_helper (window=0x55a83f376970, expose_region=<optimized out>) at gdkwindow.c:3852
#34 0x00007f2122e853b6 in gdk_window_process_updates_internal (window=0x55a83f376970) at gdkwindow.c:3998
#35 0x00007f2122e8556c in gdk_window_process_updates_with_mode (window=<optimized out>, recurse_mode=<optimized out>) at gdkwindow.c:4192
#36 0x00007f212584f3bd in g_closure_invoke (closure=0x55a841458790, return_value=0x0, n_param_values=1, param_values=0x7ffe2e2f3d50, invocation_hint=0x7ffe2e2f3cd0) at gclosure.c:804
#37 0x00007f2125862945 in signal_emit_unlocked_R (node=node@entry=0x55a83ef62b10, detail=detail@entry=0, instance=instance@entry=0x55a83f3215c0, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffe2e2f3d50) at gsignal.c:3635
#38 0x00007f212586ba06 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffe2e2f3f10) at gsignal.c:3391
#39 0x00007f212586c043 in g_signal_emit (instance=instance@entry=0x55a83f3215c0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447
#40 0x00007f2122e7c8b3 in _gdk_frame_clock_emit_paint (frame_clock=frame_clock@entry=0x55a83f3215c0) at gdkframeclock.c:640
#41 0x00007f2122e7cffd in gdk_frame_clock_paint_idle (data=0x55a83f3215c0) at gdkframeclockidle.c:459
#42 0x00007f2122e677fc in gdk_threads_dispatch (data=data@entry=0x55a8401b7e40) at gdk.c:743
#43 0x00007f2125574141 in g_timeout_dispatch (source=0x55a841f4cba0, callback=0x7f2122e677d0 <gdk_threads_dispatch>, user_data=0x55a8401b7e40) at gmain.c:4649
#44 0x00007f212557367d in g_main_dispatch (context=0x55a83ef68670) at gmain.c:3176
#45 g_main_context_dispatch (context=context@entry=0x55a83ef68670) at gmain.c:3829
#46 0x00007f2125573a48 in g_main_context_iterate (context=0x55a83ef68670, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3902
#47 0x00007f2125573d72 in g_main_loop_run (loop=0x55a83f32b910) at gmain.c:4098
#48 0x00007f2123a08d40 in meta_run () at ../src/core/main.c:685
#49 0x000055a83d42a536 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:499

Comment 6 Ray Strode [halfline] 2019-08-05 18:38:52 UTC
so in bug 1735382 comment 4 I said:

> I just took a stab at the obvious mutter fix. I figured it would either crash, work, or make a black icon.  Seems to work.

but my stab was wrong, and while it didn't crash right away, it a poisoned the GC cache with the wrong bit depth GC that got reused later in a context where it wouldn't work.

The right fix is to stop using xrender pict formats for finding a visual for the icon.  xrender pict formats don't have a way to map back to 16bit visuals in a one to one fashion.

Comment 7 Ray Strode [halfline] 2019-08-05 18:48:27 UTC
Created attachment 1600715 [details]
iconcache: Avoid xrender picture formats when creating cairo  surface

mutter fix.

Comment 10 errata-xmlrpc 2019-11-05 22:14:45 UTC
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-2019:3553