testfontoptions crashes when selecting Antialias = Best
TSIA really. I only tested on gtk-3-24
and X, i.e. what I was running; I can't switch session right now, nor was I having any luck building master
recently. This happens with both GTK+ 3.24 as provided by Debian unstable, and a build of gtk-3-24
HEAD
. Here's a synchronized debug backtrace.
~/jhbuild/checkout/gnome/gtk+-3$ GDK_SYNCHRONIZE=1 LD_LIBRARY_PATH=/opt/jhbuilt/gnome/lib gdb ~/.cache/jhbuild/build/gtk+-3/tests/.libs/testfontoptions
GNU gdb (Debian 8.1-4+b1) 8.1
Copyright (C) 2018 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-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 /home/daniel/.cache/jhbuild/build/gtk+-3/tests/.libs/testfontoptions...done.
(ins)(gdb) run
Starting program: /home/daniel/.cache/jhbuild/build/gtk+-3/tests/.libs/testfontoptions
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
(testfontoptions:9929): Gdk-ERROR **: 21:30:33.401: The program 'testfontoptions' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadLength (poly request too large or internal Xlib length erro'.
(Details: serial 3429 error_code 16 request_code 139 (RENDER) minor_code 20)
(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.)
Program received signal SIGTRAP, Trace/breakpoint trap.
_g_log_abort (breakpoint=1) at ../../../../jhbuild/checkout/gnome/glib/glib/gmessages.c:557
557 }
(ins)(gdb) bt
#0 _g_log_abort (breakpoint=1) at ../../../../jhbuild/checkout/gnome/glib/glib/gmessages.c:557
#1 0x00007ffff70df898 in g_log_writer_default (log_level=6, fields=0x7fffffff97b0, n_fields=6, user_data=0x0)
at ../../../../jhbuild/checkout/gnome/glib/glib/gmessages.c:2688
#2 0x00007ffff70de6c2 in g_log_structured_array (log_level=G_LOG_LEVEL_ERROR, fields=0x7fffffff97b0, n_fields=6)
at ../../../../jhbuild/checkout/gnome/glib/glib/gmessages.c:1923
#3 0x00007ffff70de92a in g_log_structured_standard (log_domain=0x7ffff773cf04 "Gdk", log_level=G_LOG_LEVEL_ERROR,
file=0x7ffff773cec0 "/home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/x11/gdkdisplay-x11.c", line=0x7ffff773d798 "2769",
func=0x7ffff773d980 <__func__.75258> "_gdk_x11_display_error_event", message_format=0x7ffff773d795 "%s")
at ../../../../jhbuild/checkout/gnome/glib/glib/gmessages.c:1980
#4 0x00007ffff76c6b11 in _gdk_x11_display_error_event (display=0x5555555820e0, error=0x7fffffff9a50)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/x11/gdkdisplay-x11.c:2769
#5 0x00007ffff76d623e in gdk_x_error (xdisplay=0x555555574ab0, error=0x7fffffff9a50)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/x11/gdkmain-x11.c:307
#6 0x00007ffff5d6d11a in _XError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#7 0x00007ffff5d6a077 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#8 0x00007ffff5d6a11d in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#9 0x00007ffff5d6b050 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#10 0x00007ffff5d6699d in XSync () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#11 0x00007ffff5d66a3b in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#12 0x00007ffff4ebd046 in XRenderAddGlyphs () from /usr/lib/x86_64-linux-gnu/libXrender.so.1
#13 0x00007ffff5a4ea2f in _cairo_xlib_surface_add_glyph (display=0x555555888000, font=0x5555558bc9e0, pscaled_glyph=0x7fffffff9e50)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-xlib-render-compositor.c:1341
#14 0x00007ffff5a4f1fe in composite_glyphs (surface=0x5555558fecb0, op=CAIRO_OPERATOR_IN, _src=0x555555573a90, src_x=0, src_y=0,
dst_x=0, dst_y=0, info=0x7fffffffa020) at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-xlib-render-compositor.c:1623
#15 0x00007ffff5a230c6 in composite_glyphs (compositor=0x7ffff5b14640 <compositor>, dst=0x5555558fecb0, closure=0x7fffffffa020,
op=CAIRO_OPERATOR_OVER, src=0x555555573a90, src_x=0, src_y=0, dst_x=0, dst_y=0, extents=0x7fffffffa0ec, clip=0x555555738e30)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-traps-compositor.c:2295
#16 0x00007ffff5a208e8 in clip_and_composite (compositor=0x7ffff5b14640 <compositor>, extents=0x7fffffffa0b0,
draw_func=0x7ffff5a23052 <composite_glyphs>, mask_func=0x0, draw_closure=0x7fffffffa020, need_clip=4)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-traps-compositor.c:1049
#17 0x00007ffff5a231cd in _cairo_traps_compositor_glyphs (_compositor=0x7ffff5b14640 <compositor>, extents=0x7fffffffa0b0,
scaled_font=0x5555558bc9e0, glyphs=0x7fffffffb010, num_glyphs=19, overlap=0)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-traps-compositor.c:2331
#18 0x00007ffff599dfa1 in _cairo_compositor_glyphs (compositor=0x7ffff5b14640 <compositor>, surface=0x5555558fecb0,
op=CAIRO_OPERATOR_OVER, source=0x7fffffffa6f0, glyphs=0x7fffffffb010, num_glyphs=19, scaled_font=0x5555558bc9e0,
clip=0x5555558ab800) at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-compositor.c:250
#19 0x00007ffff5a58310 in _cairo_xlib_surface_glyphs (_surface=0x5555558fecb0, op=CAIRO_OPERATOR_OVER, source=0x7fffffffa6f0,
glyphs=0x7fffffffb010, num_glyphs=19, scaled_font=0x5555558bc9e0, clip=0x5555558ab800)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-xlib-surface.c:1667
#20 0x00007ffff5a177b4 in _cairo_surface_show_text_glyphs (surface=0x5555558fecb0, op=CAIRO_OPERATOR_OVER, source=0x7fffffffa6f0,
utf8=0x0, utf8_len=0, glyphs=0x7fffffffb010, num_glyphs=19, clusters=0x0, num_clusters=0, cluster_flags=(unknown: 0),
scaled_font=0x5555558bc9e0, clip=0x5555558ab800) at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-surface.c:2891
#21 0x00007ffff59ac2fd in _cairo_gstate_show_text_glyphs (gstate=0x555555626a00, glyphs=0x7fffffffb900, num_glyphs=19, info=0x0)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-gstate.c:2077
#22 0x00007ffff59a2b39 in _cairo_default_context_glyphs (abstract_cr=0x5555557ef4a0, glyphs=0x7fffffffb900, num_glyphs=19, info=0x0)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo-default-context.c:1315
#23 0x00007ffff5a2c6a2 in cairo_show_glyphs (cr=0x5555557ef4a0, glyphs=0x7fffffffb900, num_glyphs=19)
at /home/daniel/jhbuild/checkout/gnome/cairo/src/cairo.c:3629
#24 0x00007ffff74a9753 in pango_cairo_renderer_show_text_glyphs (renderer=0x55555559adf0, text=0x0, text_len=0, glyphs=0x55555571c6c0,
clusters=0x0, num_clusters=0, backward=0, font=0x555555811130, x=0, y=14336)
at ../../../../jhbuild/checkout/gnome/pango/pango/pangocairo-render.c:531
#25 0x00007ffff74a98af in pango_cairo_renderer_draw_glyph_item (renderer=0x55555559adf0, text=0x5555555fc5d0 "Custom font options",
glyph_item=0x5555557c42b0, x=0, y=14336) at ../../../../jhbuild/checkout/gnome/pango/pango/pangocairo-render.c:576
#26 0x00007ffff747ebab in pango_renderer_draw_glyph_item (renderer=0x55555559adf0, text=0x5555555fc5d0 "Custom font options",
glyph_item=0x5555557c42b0, x=0, y=14336) at ../../../../jhbuild/checkout/gnome/pango/pango/pango-renderer.c:715
#27 0x00007ffff747e7f3 in pango_renderer_draw_layout_line (renderer=0x55555559adf0, line=0x5555556a0f70, x=0, y=14336)
at ../../../../jhbuild/checkout/gnome/pango/pango/pango-renderer.c:569
#28 0x00007ffff747ddaa in pango_renderer_draw_layout (renderer=0x55555559adf0, layout=0x5555556f3960, x=0, y=0)
at ../../../../jhbuild/checkout/gnome/pango/pango/pango-renderer.c:193
#29 0x00007ffff74aa767 in _pango_cairo_do_layout (cr=0x5555557ef4a0, layout=0x5555556f3960, do_path=0)
at ../../../../jhbuild/checkout/gnome/pango/pango/pangocairo-render.c:1041
#30 0x00007ffff74aaa36 in pango_cairo_show_layout (cr=0x5555557ef4a0, layout=0x5555556f3960)
at ../../../../jhbuild/checkout/gnome/pango/pango/pangocairo-render.c:1169
#31 0x00007ffff7ae156f in gtk_do_render_layout (context=0x555555686300, cr=0x5555557ef4a0, x=27, y=0, layout=0x5555556f3960)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkrender.c:490
#32 0x00007ffff7ae16e1 in gtk_render_layout (context=0x555555686300, cr=0x5555557ef4a0, x=27, y=0, layout=0x5555556f3960)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkrender.c:518
#33 0x00007ffff7a2d191 in gtk_label_render (gadget=0x55555564f510, cr=0x5555557ef4a0, x=0, y=0, width=179, height=17, data=0x0)
(ins)---Type <return> to continue, or q <return> to quit---
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtklabel.c:4339
#34 0x00007ffff793c5ed in gtk_css_custom_gadget_draw (gadget=0x55555564f510, cr=0x5555557ef4a0, x=0, y=0, width=179, height=17)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcsscustomgadget.c:159
#35 0x00007ffff794256a in gtk_css_gadget_draw (gadget=0x55555564f510, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcssgadget.c:885
#36 0x00007ffff7a2cff2 in gtk_label_draw (widget=0x555555582590, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtklabel.c:4292
#37 0x00007ffff7bffd45 in gtk_widget_draw_internal (widget=0x555555582590, cr=0x5555557ef4a0, clip_to_size=1)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkwidget.c:7032
#38 0x00007ffff7935bbc in gtk_container_propagate_draw (container=0x55555562b140, child=0x555555582590, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcontainer.c:3850
#39 0x00007ffff7935677 in gtk_container_draw (widget=0x55555562b140, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcontainer.c:3670
#40 0x00007ffff79f181b in gtk_grid_render (gadget=0x55555569db20, cr=0x5555557ef4a0, x=0, y=0, width=179, height=176, data=0x0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkgrid.c:1713
#41 0x00007ffff793c5ed in gtk_css_custom_gadget_draw (gadget=0x55555569db20, cr=0x5555557ef4a0, x=0, y=0, width=179, height=176)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcsscustomgadget.c:159
#42 0x00007ffff794256a in gtk_css_gadget_draw (gadget=0x55555569db20, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcssgadget.c:885
#43 0x00007ffff79f1852 in gtk_grid_draw (widget=0x55555562b140, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkgrid.c:1722
#44 0x00007ffff7bffd45 in gtk_widget_draw_internal (widget=0x55555562b140, cr=0x5555557ef4a0, clip_to_size=1)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkwidget.c:7032
#45 0x00007ffff7935bbc in gtk_container_propagate_draw (container=0x555555850260, child=0x55555562b140, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcontainer.c:3850
#46 0x00007ffff7935677 in gtk_container_draw (widget=0x555555850260, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkcontainer.c:3670
#47 0x00007ffff7c28b01 in gtk_window_draw (widget=0x555555850260, cr=0x5555557ef4a0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkwindow.c:10420
#48 0x00007ffff7bffd45 in gtk_widget_draw_internal (widget=0x555555850260, cr=0x5555557ef4a0, clip_to_size=1)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkwidget.c:7032
#49 0x00007ffff7c14218 in gtk_widget_render (widget=0x555555850260, window=0x5555555934c0, region=0x55555588f780)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkwidget.c:17542
#50 0x00007ffff7a49868 in gtk_main_do_event (event=0x7fffffffd5d0) at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkmain.c:1838
#51 0x00007ffff768b1e7 in _gdk_event_emit (event=0x7fffffffd5d0) at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkevents.c:73
#52 0x00007ffff76a5b80 in _gdk_window_process_updates_recurse_helper (window=0x5555555934c0, expose_region=0x55555561a880)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkwindow.c:3852
#53 0x00007ffff76a5da1 in _gdk_window_process_updates_recurse (window=0x5555555934c0, expose_region=0x55555561a880)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkwindow.c:3909
#54 0x00007ffff76b3270 in gdk_window_impl_process_updates_recurse (window=0x5555555934c0, region=0x55555561a880)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkwindowimpl.c:333
#55 0x00007ffff76a6035 in gdk_window_process_updates_internal (window=0x5555555934c0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkwindow.c:3998
#56 0x00007ffff76a64f6 in gdk_window_process_updates_with_mode (window=0x5555555934c0, recurse_mode=2)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkwindow.c:4193
#57 0x00007ffff76b1ebe in gdk_window_paint_on_clock (clock=0x5555555a7270, data=0x5555555934c0)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkwindow.c:11700
#58 0x00007ffff71cc1f6 in g_cclosure_marshal_VOID__VOID (closure=0x555555696eb0, return_value=0x0, n_param_values=1,
param_values=0x7fffffffd9d0, invocation_hint=0x7fffffffd910, marshal_data=0x0)
at ../../../../jhbuild/checkout/gnome/glib/gobject/gmarshal.c:875
#59 0x00007ffff71c8ef8 in g_closure_invoke (closure=0x555555696eb0, return_value=0x0, n_param_values=1, param_values=0x7fffffffd9d0,
invocation_hint=0x7fffffffd910) at ../../../../jhbuild/checkout/gnome/glib/gobject/gclosure.c:810
#60 0x00007ffff71e6a9a in signal_emit_unlocked_R (node=0x55555559d230, detail=0, instance=0x5555555a7270, emission_return=0x0,
instance_and_params=0x7fffffffd9d0) at ../../../../jhbuild/checkout/gnome/glib/gobject/gsignal.c:3635
#61 0x00007ffff71e5dab in g_signal_emit_valist (instance=0x5555555a7270, signal_id=32, detail=0, var_args=0x7fffffffdc78)
at ../../../../jhbuild/checkout/gnome/glib/gobject/gsignal.c:3391
#62 0x00007ffff71e632a in g_signal_emit (instance=0x5555555a7270, signal_id=32, detail=0)
at ../../../../jhbuild/checkout/gnome/glib/gobject/gsignal.c:3447
#63 0x00007ffff769792d in _gdk_frame_clock_emit_paint (frame_clock=0x5555555a7270)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkframeclock.c:640
#64 0x00007ffff769847d in gdk_frame_clock_paint_idle (data=0x5555555a7270)
at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdkframeclockidle.c:459
#65 0x00007ffff767bccf in gdk_threads_dispatch (data=0x55555571b820) at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gdk/gdk.c:755
#66 0x00007ffff70d5ad0 in g_timeout_dispatch (source=0x555555716b10, callback=0x7ffff767bc8a <gdk_threads_dispatch>,
user_data=0x55555571b820) at ../../../../jhbuild/checkout/gnome/glib/glib/gmain.c:4667
#67 0x00007ffff70d3c48 in g_main_dispatch (context=0x55555559c1d0) at ../../../../jhbuild/checkout/gnome/glib/glib/gmain.c:3182
#68 0x00007ffff70d4b07 in g_main_context_dispatch (context=0x55555559c1d0) at ../../../../jhbuild/checkout/gnome/glib/glib/gmain.c:3847
#69 0x00007ffff70d4ceb in g_main_context_iterate (context=0x55555559c1d0, block=1, dispatch=1, self=0x5555557aed20)
(ins)---Type <return> to continue, or q <return> to quit---
at ../../../../jhbuild/checkout/gnome/glib/glib/gmain.c:3920
#70 0x00007ffff70d5111 in g_main_loop_run (loop=0x5555558754b0) at ../../../../jhbuild/checkout/gnome/glib/glib/gmain.c:4116
#71 0x00007ffff7a48e88 in gtk_main () at /home/daniel/jhbuild/checkout/gnome/gtk+-3/gtk/gtkmain.c:1323
#72 0x00005555555557bc in main (argc=1, argv=0x7fffffffe0d8) at /home/daniel/jhbuild/checkout/gnome/gtk+-3/tests/testfontoptions.c:89
(ins)(gdb)
and the first bit of xdpyinfo
:
$ xdpyinfo
name of display: :0
version number: 11.0
vendor string: The X.Org Foundation
vendor release number: 12001000
X.Org version: 1.20.1
maximum request size: 16777212 bytes
motion buffer size: 256
bitmap unit, bit order, padding: 32, LSBFirst, 32
image byte order: LSBFirst
number of supported pixmap formats: 7
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad 32
depth 4, bits_per_pixel 8, scanline_pad 32
depth 8, bits_per_pixel 8, scanline_pad 32
depth 15, bits_per_pixel 16, scanline_pad 32
depth 16, bits_per_pixel 16, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
depth 32, bits_per_pixel 32, scanline_pad 32
keycode range: minimum 8, maximum 255
focus: window 0x22192f7, revert to Parent
number of extensions: 28
BIG-REQUESTS
Composite
DAMAGE
DOUBLE-BUFFER
DPMS
DRI2
DRI3
GLX
Generic Event Extension
MIT-SCREEN-SAVER
MIT-SHM
Present
RANDR
RECORD
RENDER
SECURITY
SHAPE
SYNC
X-Resource
XC-MISC
XFIXES
XFree86-DGA
XFree86-VidModeExtension
XINERAMA
XInputExtension
XKEYBOARD
XTEST
XVideo
default screen number: 0
number of screens: 1
screen #0:
dimensions: 3840x1080 pixels (1008x283 millimeters)
resolution: 97x97 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x16d
depth of root window: 24 planes
number of colormaps: minimum 1, maximum 1
default colormap: 0x20
default number of colormap cells: 256
preallocated pixels: black 0, white 16777215
options: backing-store WHEN MAPPED, save-unders NO
largest cursor: 256x256
current input event mask: 0xda0033
KeyPressMask KeyReleaseMask EnterWindowMask
LeaveWindowMask StructureNotifyMask SubstructureNotifyMask
SubstructureRedirectMask PropertyChangeMask ColormapChangeMask