Limit the command line to 1024 characters when used as the title
- Set PS0 in the standard way shipped in Fedora:
PS0=$'\302\235777;preexec\302\234'
- Create a temporary space you're going to clutter with lots of files
mkdir ~/crash-pad
- Fill it with a bunch of files
cd ~/crash-pad
for foo in $(seq 1 20000) ; do touch this-is-a-really-long-filename:-so-long-i-just-need-to-fill-space-blah-blah-blah-$foo ; done
- Cause a glob expansion to be attempted to put in the prompt titlebar
cd ~/crash-pad
ls * | sleep 5
- Kaboom.
gdkdisplay-wayland.c:1399: Unable to create Cairo image surface: invalid value (typically too big) for the size of the input (surface, pattern, etc.)
Thread 1 "gnome-terminal-" received signal SIGSEGV, Segmentation fault.
_gdk_wayland_shm_surface_get_wl_buffer (surface=<optimized out>) at gdkdisplay-wayland.c:1410
1410 return data->buffer;
(gdb) bt
#0 _gdk_wayland_shm_surface_get_wl_buffer (surface=<optimized out>) at gdkdisplay-wayland.c:1410
#1 0x00007f4144a1097c in gdk_wayland_window_ensure_cairo_surface (window=<optimized out>)
at gdkwindow-wayland.c:889
#2 0x00007f4144a109ad in gdk_window_impl_wayland_begin_paint (window=<optimized out>) at gdkwindow-wayland.c:928
#3 0x00007f41449c4f7e in gdk_window_begin_paint_internal (region=0x555d37ddc0a0, window=0x555d3802d2a0)
at gdkwindow.c:2954
#4 gdk_window_begin_paint_internal (window=0x555d3802d2a0, region=0x555d37ddc0a0) at gdkwindow.c:2930
#5 0x00007f41449c54fe in gdk_window_begin_draw_frame (window=window@entry=0x555d3802d2a0,
region=region@entry=0x555d37ddc0a0) at gdkwindow.c:3257
#6 0x00007f4144e15cbb in gtk_widget_render (widget=widget@entry=0x555d37734720, window=0x555d3802d2a0,
region=0x555d37ddc0a0) at gtkwidget.c:17587
#7 0x00007f4144cbf2b9 in gtk_main_do_event (event=0x7fffb927e0a0) at gtkmain.c:1840
#8 gtk_main_do_event (event=<optimized out>) at gtkmain.c:1687
#9 0x00007f41449a7f79 in _gdk_event_emit (event=event@entry=0x7fffb927e0a0) at gdkevents.c:73
#10 0x00007f41449b9291 in _gdk_window_process_updates_recurse_helper (window=0x555d3802d2a0,
expose_region=<optimized out>) at gdkwindow.c:3874
#11 0x00007f41449ba465 in gdk_window_process_updates_internal (window=0x555d3802d2a0) at gdkwindow.c:4020
#12 0x00007f41449ba624 in gdk_window_process_updates_with_mode (recurse_mode=<optimized out>,
window=<optimized out>) at gdkwindow.c:4215
#13 gdk_window_process_updates_with_mode (window=<optimized out>, recurse_mode=<optimized out>)
at gdkwindow.c:4186
#14 0x00007f41446bb996 in _g_closure_invoke_va (closure=0x555d37fb6700, return_value=0x0,
instance=0x555d376fbf90, args=0x7fffb927e3e0, n_params=0, param_types=0x0) at ../gobject/gclosure.c:873
#15 0x00007f41446d8228 in g_signal_emit_valist (instance=0x555d376fbf90, signal_id=<optimized out>, detail=0,
var_args=var_args@entry=0x7fffb927e3e0) at ../gobject/gsignal.c:3306
#16 0x00007f41446d89d3 in g_signal_emit (instance=instance@entry=0x555d376fbf90, signal_id=<optimized out>,
detail=detail@entry=0) at ../gobject/gsignal.c:3453
#17 0x00007f41449b1383 in _gdk_frame_clock_emit_paint (frame_clock=frame_clock@entry=0x555d376fbf90)
at gdkframeclock.c:643
#18 0x00007f41449b1cc3 in gdk_frame_clock_paint_idle (data=0x555d376fbf90) at gdkframeclockidle.c:450
#19 0x00007f414499bf3d in gdk_threads_dispatch (data=data@entry=0x555d378c0ee0) at gdk.c:777
#20 0x00007f41445d2021 in g_timeout_dispatch (source=source@entry=0x555d383029c0,
callback=0x7f414499bf10 <gdk_threads_dispatch>, user_data=0x555d378c0ee0) at ../glib/gmain.c:4668
#21 0x00007f41445d1510 in g_main_dispatch (context=0x555d376f8350) at ../glib/gmain.c:3179
#22 g_main_context_dispatch (context=context@entry=0x555d376f8350) at ../glib/gmain.c:3844
#23 0x00007f41445d18a0 in g_main_context_iterate (context=context@entry=0x555d376f8350, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3917
#24 0x00007f41445d1943 in g_main_context_iteration (context=context@entry=0x555d376f8350,
may_block=may_block@entry=1) at ../glib/gmain.c:3978
#25 0x00007f41447e4d55 in g_application_run (application=0x555d379c20f0, argc=<optimized out>,
argv=<optimized out>) at ../gio/gapplication.c:2559
#26 0x0000555d365bb0c2 in main (argc=<optimized out>, argv=<optimized out>) at server.c:187
Initially discovered when running grep <some string> *
on a maildir, but applicable in general.
gnome-terminal-3.34.2-1.fc31.x86_64 gtk3-3.24.13-1.fc31.x86_64 libwayland-client-1.17.0-2.fc31.x86_64
Edited by Debarshi Ray