Dear Maintainer,
I just tried to collect some more info from this crash.

I got this by using "peek --backend=gnome-shell"
inside a gnome/wayland session.

Using some reverse debugging, I guess all happens below function
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co,
that seems to translate to function generate_animation_async
in ffmpeg-post-processor.vala.

As I have near to no knowledge of vala I just guess,
that the args array gets automatically destructed at function end.
But before the content gets appended to argv.
There function append_vals may not do a deep copy,
which leads then at argv destruction to the double free.

This should be checked by someone with more vala
knowledge than me.
At least a package built with attached patch does
not crash and could produce a animated gif.
Also attached some more details on the debugging.

Kind regards,
Bernhard


benutzer@debian:~/source/peek/orig3/peek-1.3.1$ cat -n 
./src/post-processing/ffmpeg-post-processor.vala | grep -E "^   100" -B24 -A12
    76
    77      private async File? generate_animation_async (File input_file, File 
palette_file) throws RecordingError {
    78        try {
    79          var extension = Utils.get_file_extension_for_format 
(config.output_format);
    80          var output_file = Utils.create_temp_file (extension);
    81
    82          string[] args = {
    83            "ffmpeg", "-y",
    84            "-i", input_file.get_path (),
    85            "-i", palette_file.get_path (),
    86            "-filter_complex", "fps=%d,paletteuse".printf 
(config.framerate)
    87          };
    88
    89          var argv = new Array<string> ();
    90          argv.append_vals (args, args.length);
    91
    92          if (config.output_format == OutputFormat.APNG) {
    93            argv.append_val ("-plays");
    94            argv.append_val ("0");
    95          }
    96
    97          argv.append_val (output_file);
    98
    99          try {
   100            yield spawn_command_async (argv.data);
   101          } catch (RecordingError e) {
   102            FileUtils.remove (output_file);
   103            throw e;
   104          }
   105
   106          return File.new_for_path (output_file);
   107        } catch (FileError e) {
   108          throw new RecordingError.POSTPROCESSING_ABORTED (e.message);
   109        }
   110      }
   111    }
   112  }


(rr) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fcc71571535 in __GI_abort () at abort.c:79
#2  0x00007fcc715c8778 in __libc_message (action=action@entry=do_abort, 
fmt=fmt@entry=0x7fcc716d328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007fcc715cee6a in malloc_printerr (str=str@entry=0x7fcc716d4f58 
"free(): double free detected in tcache 2") at malloc.c:5341
#4  0x00007fcc715d094d in _int_free (av=0x7fcc7170ac40 <main_arena>, 
p=0x55c5839da7a0, have_lock=<optimized out>) at malloc.c:4193
#5  0x000055c5815ab82e in _vala_array_destroy (destroy_func=<optimized out>, 
array_length=<optimized out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1103
#6  _vala_array_free (destroy_func=<optimized out>, array_length=<optimized 
out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1115
#7  peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1010
#8  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x55c583742110, 
user_data=user_data@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#9  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583742110) at 
../../../gio/gtask.c:1148
#10 0x00007fcc71b2c196 in g_task_return (task=0x55c583742110, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#11 0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d7b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#12 0x00007fcc71b2b719 in g_task_return_now (task=0x55c583710a70) at 
../../../gio/gtask.c:1148
#13 0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c583710a70) at 
../../../gio/gtask.c:1162
#14 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#15 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#16 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#17 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#18 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#19 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#20 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#21 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#22 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#23 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#24 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#25 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#26 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#27 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#28 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#29 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#30 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#31 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#32 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#33 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#34 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#35 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#36 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#37 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55
Description: Avoid double free when passing string array to async function
Author: Bernhard Übelacker <bernha...@mailbox.org>
Bug-Debian: https://bugs.debian.org/926386
Last-Update: 2019-04-20

--- peek-1.3.1.orig/src/post-processing/ffmpeg-post-processor.vala
+++ peek-1.3.1/src/post-processing/ffmpeg-post-processor.vala
@@ -79,15 +79,19 @@ namespace Peek.PostProcessing {
         var extension = Utils.get_file_extension_for_format (config.output_format);
         var output_file = Utils.create_temp_file (extension);
 
-        string[] args = {
-          "ffmpeg", "-y",
-          "-i", input_file.get_path (),
-          "-i", palette_file.get_path (),
-          "-filter_complex", "fps=%d,paletteuse".printf (config.framerate)
-        };
-
         var argv = new Array<string> ();
-        argv.append_vals (args, args.length);
+
+        argv.append_val ("ffmpeg");
+        argv.append_val ("-y");
+
+        argv.append_val ("-i");
+        argv.append_val (input_file.get_path ());
+
+        argv.append_val ("-i");
+        argv.append_val (palette_file.get_path ());
+
+        argv.append_val ("-filter_complex");
+        argv.append_val ("fps=%d,paletteuse".printf (config.framerate));
 
         if (config.output_format == OutputFormat.APNG) {
           argv.append_val ("-plays");
# Buster amd64 qemu VM 2019-04-20


apt update
apt dist-upgrade


apt install dpkg-dev devscripts mc systemd-coredump xserver-xorg dbus-x11 gdm3 
gnome rr gdb peek peek-dbgsym libglib2.0-0-dbgsym libgtk-3-0-dbgsym 
apt build-dep peek



mkdir /home/benutzer/source/peek/orig -p
cd    /home/benutzer/source/peek/orig
apt source peek
cd peek-1.3.1
dpkg-buildpackage
cd



reboot


echo 1 > /proc/sys/kernel/perf_event_paranoid


export DISPLAY=:0
rr peek --backend=gnome-shell


##########



# start
# stop


benutzer@debian:~$ rr peek --backend=gnome-shell
rr: Saving execution to trace directory `/home/benutzer/.local/share/rr/peek-0'.
Requested screen recorder backend gnome-shell
Recording to file /home/benutzer/.cache/peek/peekM5M4ZZ.webm
free(): double free detected in tcache 2
Abgebrochen



##########



benutzer@debian:~$ rr replay
GNU gdb (Debian 8.2.1-2) 8.2.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 /usr/bin/peek...(no debugging symbols found)...done.
Really redefine built-in command "restart"? (y or n) [answered Y; input not 
from terminal]
Remote debugging using 127.0.0.1:2364
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from 
/usr/lib/debug/.build-id/75/5312dcb2382eb2fde78494879bb2104028ae80.debug...done.
done.
0x00007fcc725ea090 in _start () from /lib64/ld-linux-x86-64.so.2
(rr) cont
Continuing.
Requested screen recorder backend gnome-shell
Recording to file /home/benutzer/.cache/peek/peekM5M4ZZ.webm
free(): double free detected in tcache 2
[New Thread 2133.2134]
[New Thread 2133.2135]
[New Thread 2133.2136]
[New Thread 2133.2160]

Thread 1 received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht 
gefunden.
(rr) set width 0
(rr) set pagination off
(rr) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fcc71571535 in __GI_abort () at abort.c:79
#2  0x00007fcc715c8778 in __libc_message (action=action@entry=do_abort, 
fmt=fmt@entry=0x7fcc716d328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007fcc715cee6a in malloc_printerr (str=str@entry=0x7fcc716d4f58 
"free(): double free detected in tcache 2") at malloc.c:5341
#4  0x00007fcc715d094d in _int_free (av=0x7fcc7170ac40 <main_arena>, 
p=0x55c5839da7a0, have_lock=<optimized out>) at malloc.c:4193
#5  0x000055c5815ab82e in ?? ()
#6  0x000055c5815a9912 in ?? ()
#7  0x00007fcc71b2b719 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#8  0x00007fcc71b2c196 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#9  0x000055c5815a9bc4 in ?? ()
#10 0x00007fcc71b2b719 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#11 0x00007fcc71b2b759 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#12 0x00007fcc71961dd8 in g_main_context_dispatch () from 
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007fcc719621c8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007fcc719624c2 in g_main_loop_run () from 
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007fcc72052583 in gtk_dialog_run () from 
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x000055c5815b67df in ?? ()
#17 0x00007fcc71a43c7d in g_closure_invoke () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007fcc71a57345 in ?? () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fcc71a6025e in g_signal_emit_valist () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007fcc71a60df4 in g_signal_emit_by_name () from 
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording ()
#22 0x000055c5815b2423 in ?? ()
#23 0x00007fcc71962863 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fcc71961dd8 in g_main_context_dispatch () from 
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fcc719621c8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fcc7196225c in g_main_context_iteration () from 
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fcc71b5699d in g_application_run () from 
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#28 0x000055c58159bbe6 in _vala_main ()
#29 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#30 0x000055c58159baaa in _start ()




(rr) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fcc71571535 in __GI_abort () at abort.c:79
#2  0x00007fcc715c8778 in __libc_message (action=action@entry=do_abort, 
fmt=fmt@entry=0x7fcc716d328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007fcc715cee6a in malloc_printerr (str=str@entry=0x7fcc716d4f58 
"free(): double free detected in tcache 2") at malloc.c:5341
#4  0x00007fcc715d094d in _int_free (av=0x7fcc7170ac40 <main_arena>, 
p=0x55c5839da7a0, have_lock=<optimized out>) at malloc.c:4193
#5  0x000055c5815ab82e in _vala_array_destroy (destroy_func=<optimized out>, 
array_length=<optimized out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1103
#6  _vala_array_free (destroy_func=<optimized out>, array_length=<optimized 
out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1115
#7  peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1010
#8  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x55c583742110, 
user_data=user_data@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#9  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583742110) at 
../../../gio/gtask.c:1148
#10 0x00007fcc71b2c196 in g_task_return (task=0x55c583742110, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#11 0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d7b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#12 0x00007fcc71b2b719 in g_task_return_now (task=0x55c583710a70) at 
../../../gio/gtask.c:1148
#13 0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c583710a70) at 
../../../gio/gtask.c:1162
#14 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#15 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#16 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#17 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#18 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#19 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#20 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#21 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#22 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#23 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#24 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#25 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#26 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#27 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#28 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#29 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#30 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#31 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#32 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#33 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#34 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#35 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#36 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#37 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55






rr replay

set width 0
set pagination off
directory /home/benutzer/source/peek/orig/peek-1.3.1
display/i $pc
cont
bt
when
reverse-finish
reverse-finish
reverse-finish
reverse-finish
reverse-finish
reverse-finish
display mem
reverse-next
reverse-next
reverse-next
reverse-next
reverse-next
reverse-next
reverse-next
reverse-stepi
reverse-stepi
reverse-stepi
reverse-stepi
bt
when
b __GI___libc_free if mem == 0x55c5839da7b0
reverse-cont
bt
when
watch *0x55c583656660
reverse-cont
when
disa 2
watch *0x55c5839da760
reverse-cont
when
disa 3
watch *0x55c5839f2150
reverse-cont
when
disa 4
display/x $rax
reverse-stepi
disassemble $pc-0x20,$pc+0x20
b *0x000055c5815aba1f
dele 5
bt
when








# Second deallocation:
(rr) bt
#0  __GI___libc_free (mem=0x55c5839da7b0) at malloc.c:3083
#1  0x000055c5815ab82e in _vala_array_destroy (destroy_func=<optimized out>, 
array_length=<optimized out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1103
#2  _vala_array_free (destroy_func=<optimized out>, array_length=<optimized 
out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1115
#3  peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1010
#4  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x55c583742110, 
user_data=user_data@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#5  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583742110) at 
../../../gio/gtask.c:1148
#6  0x00007fcc71b2c196 in g_task_return (task=0x55c583742110, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#7  0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d7b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#8  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583710a70) at 
../../../gio/gtask.c:1148
#9  0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c583710a70) at 
../../../gio/gtask.c:1162
#10 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#11 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#12 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#13 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#14 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#15 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#16 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#17 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#18 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#19 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#20 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#21 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#22 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#23 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#24 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#25 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#26 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#27 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#28 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#29 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#30 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#31 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#32 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#33 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55


# First deallocation:
(rr) bt
#0  __GI___libc_free (mem=0x55c5839da7b0) at malloc.c:3083
#1  0x00007fcc719327df in array_free (array=0x55c583680ad0, 
flags=flags@entry=FREE_SEGMENT) at ../../../glib/garray.c:369
#2  0x00007fcc71932bde in g_array_unref (array=<optimized out>) at 
../../../glib/garray.c:292
#3  0x000055c5815ab7ec in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1009
#4  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x55c583742110, 
user_data=user_data@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#5  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583742110) at 
../../../gio/gtask.c:1148
#6  0x00007fcc71b2c196 in g_task_return (task=0x55c583742110, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#7  0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d7b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#8  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583710a70) at 
../../../gio/gtask.c:1148
#9  0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c583710a70) at 
../../../gio/gtask.c:1162
#10 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#11 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#12 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#13 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#14 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#15 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#16 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#17 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#18 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#19 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#20 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#21 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#22 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#23 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#24 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#25 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#26 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#27 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#28 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#29 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#30 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#31 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#32 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#33 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55



# Allocation:
(rr) bt
#0  0x000055c5815aba1f in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=_data_@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:912
#1  0x000055c5815aca4b in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async 
(_callback_=0x55c5815aceb0 
<peek_post_processing_ffmpeg_post_processor_process_async_ready>, 
_user_data_=<optimized out>, palette_file=0x55c5839b1820, input_file=<optimized 
out>, self=<optimized out>) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:829
#2  peek_post_processing_ffmpeg_post_processor_real_process_async_co 
(_data_=<optimized out>) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:447
#3  0x000055c5815ab532 in 
peek_post_processing_ffmpeg_post_processor_generate_palette_async_async_ready_wrapper
 (source_object=0x55c5837482a0, res=0x7fcc64002ed0, 
user_data=user_data@entry=0x55c58347d2b0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:575
#4  0x00007fcc71b2b719 in g_task_return_now (task=0x7fcc64002ed0) at 
../../../gio/gtask.c:1148
#5  0x00007fcc71b2c196 in g_task_return (task=0x7fcc64002ed0, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#6  0x000055c5815ac07e in 
peek_post_processing_ffmpeg_post_processor_generate_palette_async_co 
(_data_=0x55c583873010) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:737
#7  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x7fcc64002d30, 
user_data=user_data@entry=0x55c583873010) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#8  0x00007fcc71b2b719 in g_task_return_now (task=0x7fcc64002d30) at 
../../../gio/gtask.c:1148
#9  0x00007fcc71b2c196 in g_task_return (task=0x7fcc64002d30, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#10 0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d3b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#11 0x00007fcc71b2b719 in g_task_return_now (task=0x55c5837108d0) at 
../../../gio/gtask.c:1148
#12 0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c5837108d0) at 
../../../gio/gtask.c:1162
#13 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#14 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#15 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#16 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#17 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#18 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#19 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#20 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#21 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#22 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#23 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#24 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#25 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#26 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#27 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#28 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#29 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#30 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#31 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#32 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#33 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#34 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#35 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#36 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55












benutzer@debian:~$ rr replay
GNU gdb (Debian 8.2.1-2) 8.2.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 /usr/bin/peek...Reading symbols from 
/usr/lib/debug/.build-id/8e/b1d3d6d1f348300eddfb97117b6803abad202b.debug...done.
done.
Really redefine built-in command "restart"? (y or n) [answered Y; input not 
from terminal]
Remote debugging using 127.0.0.1:18984
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from 
/usr/lib/debug/.build-id/75/5312dcb2382eb2fde78494879bb2104028ae80.debug...done.
done.
0x00007fcc725ea090 in _start () from /lib64/ld-linux-x86-64.so.2
(rr) set width 0
(rr) set pagination off
(rr) display/i $pc
1: x/i $pc
=> 0x7fcc725ea090 <_start>:     mov    %rsp,%rdi
(rr) cont
Continuing.
Requested screen recorder backend gnome-shell
Recording to file /home/benutzer/.cache/peek/peekM5M4ZZ.webm
free(): double free detected in tcache 2
[New Thread 2133.2134]
[New Thread 2133.2135]
[New Thread 2133.2136]
[New Thread 2133.2160]

Thread 1 received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht 
gefunden.
1: x/i $pc
=> 0x7fcc715868bb <__GI_raise+267>:     mov    0x108(%rsp),%rcx
(rr) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fcc71571535 in __GI_abort () at abort.c:79
#2  0x00007fcc715c8778 in __libc_message (action=action@entry=do_abort, 
fmt=fmt@entry=0x7fcc716d328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007fcc715cee6a in malloc_printerr (str=str@entry=0x7fcc716d4f58 
"free(): double free detected in tcache 2") at malloc.c:5341
#4  0x00007fcc715d094d in _int_free (av=0x7fcc7170ac40 <main_arena>, 
p=0x55c5839da7a0, have_lock=<optimized out>) at malloc.c:4193
#5  0x000055c5815ab82e in _vala_array_destroy (destroy_func=<optimized out>, 
array_length=<optimized out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1103
#6  _vala_array_free (destroy_func=<optimized out>, array_length=<optimized 
out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1115
#7  peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1010
#8  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x55c583742110, 
user_data=user_data@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#9  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583742110) at 
../../../gio/gtask.c:1148
#10 0x00007fcc71b2c196 in g_task_return (task=0x55c583742110, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#11 0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d7b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#12 0x00007fcc71b2b719 in g_task_return_now (task=0x55c583710a70) at 
../../../gio/gtask.c:1148
#13 0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c583710a70) at 
../../../gio/gtask.c:1162
#14 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#15 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#16 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#17 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#18 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#19 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#20 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#21 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#22 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#23 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#24 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#25 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#26 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#27 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#28 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#29 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#30 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#31 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#32 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#33 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#34 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#35 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#36 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#37 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55
(rr) when
Current event: 18963
(rr) reverse-finish
Run back to call of #0  __GI_raise (sig=sig@entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:50

Thread 1 received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      in ../sysdeps/unix/sysv/linux/raise.c
1: x/i $pc
=> 0x7fcc715868bb <__GI_raise+267>:     mov    0x108(%rsp),%rcx
(rr) reverse-finish
Run back to call of #0  __GI_raise (sig=sig@entry=6) at 
../sysdeps/unix/sysv/linux/raise.c:50
0x00007fcc71571530 in __GI_abort () at abort.c:79
79      abort.c: Datei oder Verzeichnis nicht gefunden.
1: x/i $pc
=> 0x7fcc71571530 <__GI_abort+284>:     callq  0x7fcc715867b0 <__GI_raise>
(rr) reverse-finish
Run back to call of #0  0x00007fcc71571530 in __GI_abort () at abort.c:79
__libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fcc716d328d 
"%s\n") at ../sysdeps/posix/libc_fatal.c:181
181     ../sysdeps/posix/libc_fatal.c: Datei oder Verzeichnis nicht gefunden.
1: x/i $pc
=> 0x7fcc715c8773 <__libc_message+707>: callq  0x7fcc71571414 <__GI_abort>
(rr) reverse-finish
Run back to call of #0  __libc_message (action=action@entry=do_abort, 
fmt=fmt@entry=0x7fcc716d328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
0x00007fcc715cee65 in malloc_printerr (str=str@entry=0x7fcc716d4f58 "free(): 
double free detected in tcache 2") at malloc.c:5341
5341    malloc.c: Datei oder Verzeichnis nicht gefunden.
1: x/i $pc
=> 0x7fcc715cee65 <malloc_printerr+21>: callq  0x7fcc715c84b0 <__libc_message>
(rr) reverse-finish
Run back to call of #0  0x00007fcc715cee65 in malloc_printerr 
(str=str@entry=0x7fcc716d4f58 "free(): double free detected in tcache 2") at 
malloc.c:5341
0x00007fcc715d0948 in _int_free (av=0x7fcc7170ac40 <main_arena>, 
p=0x55c5839da7a0, have_lock=0) at malloc.c:4193
4193    in malloc.c
1: x/i $pc
=> 0x7fcc715d0948 <_int_free+1608>:     callq  0x7fcc715cee50 <malloc_printerr>
(rr) reverse-finish
Run back to call of #0  0x00007fcc715d0948 in _int_free (av=0x7fcc7170ac40 
<main_arena>, p=0x55c5839da7a0, have_lock=0) at malloc.c:4193
0x00007fcc715d3c39 in __GI___libc_free (mem=<optimized out>) at malloc.c:3116
3116    in malloc.c
1: x/i $pc
=> 0x7fcc715d3c39 <__GI___libc_free+89>:        jmpq   0x7fcc715d0300 
<_int_free>
(rr) display mem
2: mem = <optimized out>
(rr) reverse-next
3116    in malloc.c
1: x/i $pc
=> 0x7fcc715d3c32 <__GI___libc_free+82>:        add    $0x10,%rsp
2: mem = <optimized out>
(rr) reverse-next
3115    in malloc.c
1: x/i $pc
=> 0x7fcc715d3c1b <__GI___libc_free+59>:        lea    0x13701e(%rip),%rdi      
  # 0x7fcc7170ac40 <main_arena>
2: mem = <optimized out>
(rr) reverse-next
3113    in malloc.c
1: x/i $pc
=> 0x7fcc715d3c09 <__GI___libc_free+41>:        mov    0x136168(%rip),%rdx      
  # 0x7fcc71709d78
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-next
3095    in malloc.c
1: x/i $pc
=> 0x7fcc715d3c05 <__GI___libc_free+37>:        test   $0x2,%al
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-next
3093    in malloc.c
1: x/i $pc
=> 0x7fcc715d3bfd <__GI___libc_free+29>:        mov    -0x8(%rdi),%rax
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-next
3090    in malloc.c
1: x/i $pc
=> 0x7fcc715d3bf8 <__GI___libc_free+24>:        test   %rdi,%rdi
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-next
3084    in malloc.c
1: x/i $pc
=> 0x7fcc715d3bef <__GI___libc_free+15>:        test   %rax,%rax
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-stepi
0x00007fcc715d3bec      3083    in malloc.c
1: x/i $pc
=> 0x7fcc715d3bec <__GI___libc_free+12>:        mov    (%rax),%rax
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-stepi
0x00007fcc715d3be5      3083    in malloc.c
1: x/i $pc
=> 0x7fcc715d3be5 <__GI___libc_free+5>: mov    0x13630c(%rip),%rax        # 
0x7fcc71709ef8
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-stepi
0x00007fcc715d3be1      3083    in malloc.c
1: x/i $pc
=> 0x7fcc715d3be1 <__GI___libc_free+1>: sub    $0x10,%rsp
2: mem = (void *) 0x55c5839da7b0
(rr) reverse-stepi
3083    in malloc.c
1: x/i $pc
=> 0x7fcc715d3be0 <__GI___libc_free>:   push   %rbx
2: mem = (void *) 0x55c5839da7b0
(rr) bt
#0  __GI___libc_free (mem=0x55c5839da7b0) at malloc.c:3083
#1  0x000055c5815ab82e in _vala_array_destroy (destroy_func=<optimized out>, 
array_length=<optimized out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1103
#2  _vala_array_free (destroy_func=<optimized out>, array_length=<optimized 
out>, array=0x55c5839da760) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1115
#3  peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1010
#4  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x55c583742110, 
user_data=user_data@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#5  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583742110) at 
../../../gio/gtask.c:1148
#6  0x00007fcc71b2c196 in g_task_return (task=0x55c583742110, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#7  0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d7b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#8  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583710a70) at 
../../../gio/gtask.c:1148
#9  0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c583710a70) at 
../../../gio/gtask.c:1162
#10 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#11 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#12 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#13 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#14 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#15 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#16 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#17 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#18 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#19 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#20 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#21 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#22 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#23 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#24 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#25 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#26 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#27 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#28 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#29 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#30 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#31 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#32 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#33 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55
(rr) when
Current event: 18943
(rr) b __GI___libc_free if mem == 0x55c5839da7b0
Breakpoint 1 at 0x7fcc715d3be0: file malloc.c, line 3083.
(rr) reverse-cont
Continuing.

Thread 1 hit Breakpoint 1, __GI___libc_free (mem=0x55c5839da7b0) at 
malloc.c:3083
3083    in malloc.c
1: x/i $pc
=> 0x7fcc715d3be0 <__GI___libc_free>:   push   %rbx
2: mem = (void *) 0x55c5839da7b0
(rr) bt
#0  __GI___libc_free (mem=0x55c5839da7b0) at malloc.c:3083
#1  0x00007fcc719327df in array_free (array=0x55c583680ad0, 
flags=flags@entry=FREE_SEGMENT) at ../../../glib/garray.c:369
#2  0x00007fcc71932bde in g_array_unref (array=<optimized out>) at 
../../../glib/garray.c:292
#3  0x000055c5815ab7ec in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:1009
#4  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x55c583742110, 
user_data=user_data@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#5  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583742110) at 
../../../gio/gtask.c:1148
#6  0x00007fcc71b2c196 in g_task_return (task=0x55c583742110, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#7  0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d7b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#8  0x00007fcc71b2b719 in g_task_return_now (task=0x55c583710a70) at 
../../../gio/gtask.c:1148
#9  0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c583710a70) at 
../../../gio/gtask.c:1162
#10 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#11 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#12 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#13 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#14 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#15 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#16 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#17 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#18 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#19 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#20 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#21 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#22 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#23 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#24 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#25 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#26 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#27 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#28 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#29 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#30 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#31 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#32 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#33 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55
(rr) when
Current event: 18943
(rr) watch *0x55c583656660
Hardware watchpoint 2: *0x55c583656660
(rr) reverse-cont
Continuing.
[New Thread 2133.2152]
[New Thread 2133.2153]
[New Thread 2133.2158]

Thread 1 hit Hardware watchpoint 2: *0x55c583656660

Old value = -2086819920
New value = 0
__memmove_sse2_unaligned_erms () at 
../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:353
353     ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: Datei oder 
Verzeichnis nicht gefunden.
1: x/i $pc
=> 0x7fcc715f13d8 <__memmove_sse2_unaligned_erms+200>:  movups %xmm0,(%rdi)
(rr) when
Current event: 11934
(rr) disa 2
(rr) watch *0x55c5839da760
Hardware watchpoint 3: *0x55c5839da760
(rr) reverse-cont
Continuing.

Thread 1 hit Hardware watchpoint 3: *0x55c5839da760

Old value = -2086819920
New value = 0
0x000055c5815abb14 in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=_data_@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:931
931     ./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c: 
Datei oder Verzeichnis nicht gefunden.
1: x/i $pc
=> 0x55c5815abb14 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+1172>:  
      movups %xmm2,(%rax)
(rr) when
Current event: 11934
(rr) disa 3
(rr) watch *0x55c5839f2150
Hardware watchpoint 4: *0x55c5839f2150
(rr) reverse-cont
Continuing.

Thread 1 hit Hardware watchpoint 4: *0x55c5839f2150

Old value = -2086819920
New value = 0
0x000055c5815aba2b in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=_data_@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:912
912     in ./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c
1: x/i $pc
=> 0x55c5815aba2b 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+939>: 
mov    %rax,0x90(%rbx)
(rr) when
Current event: 11934
(rr) disa 4
(rr) display/x $rax
3: /x $rax = 0x55c5839da7b0
(rr) reverse-stepi
0x000055c5815aba24      912     in 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c
1: x/i $pc
=> 0x55c5815aba24 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+932>: 
lea    0x13bbc(%rip),%rdi        # 0x55c5815bf5e7
3: /x $rax = 0x55c5839da7b0
(rr) 
0x00007fcc719814e3 in g_strdup (str=str@entry=0x55c5815bf5d9 "ffmpeg") at 
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
34      /usr/include/x86_64-linux-gnu/bits/string_fortified.h: Datei oder 
Verzeichnis nicht gefunden.
1: x/i $pc
=> 0x7fcc719814e3 <g_strdup+51>:        retq   
3: /x $rax = 0x55c5839da7b0
(rr) stepi
0x000055c5815aba24 in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=_data_@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:912
912     ./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c: 
Datei oder Verzeichnis nicht gefunden.
1: x/i $pc
=> 0x55c5815aba24 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+932>: 
lea    0x13bbc(%rip),%rdi        # 0x55c5815bf5e7
3: /x $rax = 0x55c5839da7b0
(rr) disassemble $pc-0x20,$pc+0x20
Dump of assembler code from 0x55c5815aba04 to 0x55c5815aba44:
   0x000055c5815aba04 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+900>:   
  lea    0x11975(%rip),%rdx        # 0x55c5815bd380
   0x000055c5815aba0b 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+907>:   
  push   %rax
   0x000055c5815aba0c 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+908>:   
  jmpq   0x55c5815abd21 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+1697>
   0x000055c5815aba11 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+913>:   
  nopl   0x0(%rax)
   0x000055c5815aba18 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+920>:   
  lea    0x13bba(%rip),%rdi        # 0x55c5815bf5d9
   0x000055c5815aba1f 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+927>:   
  callq  0x55c58159a800 <g_strdup@plt>
=> 0x000055c5815aba24 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+932>:   
  lea    0x13bbc(%rip),%rdi        # 0x55c5815bf5e7
   0x000055c5815aba2b 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+939>:   
  mov    %rax,0x90(%rbx)
   0x000055c5815aba32 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+946>:   
  callq  0x55c58159a800 <g_strdup@plt>
   0x000055c5815aba37 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+951>:   
  lea    0x13bac(%rip),%rdi        # 0x55c5815bf5ea
   0x000055c5815aba3e 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+958>:   
  mov    %rax,0x98(%rbx)
End of assembler dump.
(rr) b *0x000055c5815aba1f
Breakpoint 5 at 0x55c5815aba1f: file 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c, line 912.
(rr) reverse-cont
Continuing.

Thread 1 hit Breakpoint 5, 0x000055c5815aba1f in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=_data_@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:912
912     in ./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c
1: x/i $pc
=> 0x55c5815aba1f 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+927>: 
callq  0x55c58159a800 <g_strdup@plt>
3: /x $rax = 0x55c58384f090
(rr) dele 5
(rr) when
Current event: 11934
(rr) bt
#0  0x000055c5815aba1f in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async_co 
(_data_=_data_@entry=0x55c5839f20c0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:912
#1  0x000055c5815aca4b in 
peek_post_processing_ffmpeg_post_processor_generate_animation_async 
(_callback_=0x55c5815aceb0 
<peek_post_processing_ffmpeg_post_processor_process_async_ready>, 
_user_data_=<optimized out>, palette_file=0x55c5839b1820, input_file=<optimized 
out>, self=<optimized out>) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:829
#2  peek_post_processing_ffmpeg_post_processor_real_process_async_co 
(_data_=<optimized out>) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:447
#3  0x000055c5815ab532 in 
peek_post_processing_ffmpeg_post_processor_generate_palette_async_async_ready_wrapper
 (source_object=0x55c5837482a0, res=0x7fcc64002ed0, 
user_data=user_data@entry=0x55c58347d2b0) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:575
#4  0x00007fcc71b2b719 in g_task_return_now (task=0x7fcc64002ed0) at 
../../../gio/gtask.c:1148
#5  0x00007fcc71b2c196 in g_task_return (task=0x7fcc64002ed0, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#6  0x000055c5815ac07e in 
peek_post_processing_ffmpeg_post_processor_generate_palette_async_co 
(_data_=0x55c583873010) at 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c:737
#7  0x000055c5815a9912 in 
peek_post_processing_cli_post_processor_spawn_command_async_async_ready_wrapper 
(source_object=0x55c5837482a0, res=0x7fcc64002d30, 
user_data=user_data@entry=0x55c583873010) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:147
#8  0x00007fcc71b2b719 in g_task_return_now (task=0x7fcc64002d30) at 
../../../gio/gtask.c:1148
#9  0x00007fcc71b2c196 in g_task_return (task=0x7fcc64002d30, type=<optimized 
out>) at ../../../gio/gtask.c:1206
#10 0x000055c5815a9bc4 in 
peek_post_processing_cli_post_processor_spawn_command_async_co 
(_data_=0x55c58347d3b0) at 
./obj-x86_64-linux-gnu/src/post-processing/cli-post-processor.c:310
#11 0x00007fcc71b2b719 in g_task_return_now (task=0x55c5837108d0) at 
../../../gio/gtask.c:1148
#12 0x00007fcc71b2b759 in complete_in_idle_cb (task=0x55c5837108d0) at 
../../../gio/gtask.c:1162
#13 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#14 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#15 0x00007fcc719621c8 in g_main_context_iterate (context=0x55c58346d320, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:3920
#16 0x00007fcc719624c2 in g_main_loop_run (loop=0x55c583931e80) at 
../../../glib/gmain.c:4116
#17 0x00007fcc72052583 in gtk_dialog_run (dialog=dialog@entry=0x55c58387e2d0) 
at ../../../../gtk/gtkdialog.c:1398
#18 0x000055c5815b67df in peek_ui_application_window_show_file_chooser 
(self=0x55c58376e4f0) at ./obj-x86_64-linux-gnu/src/ui/application-window.c:2349
#19 __lambda5_ (self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:365
#20 ___lambda5__peek_recording_screen_recorder_recording_postprocess_started 
(_sender=<optimized out>, self=0x55c58376e4f0) at 
./obj-x86_64-linux-gnu/src/ui/application-window.c:373
#21 0x00007fcc71a43c7d in g_closure_invoke (closure=0x55c5836967e0, 
return_value=0x0, n_param_values=1, param_values=0x7ffd7f9b0490, 
invocation_hint=0x7ffd7f9b0410) at ../../../gobject/gclosure.c:810
#22 0x00007fcc71a57345 in signal_emit_unlocked_R 
(node=node@entry=0x55c583626b80, detail=detail@entry=0, 
instance=instance@entry=0x55c583737f00, 
emission_return=emission_return@entry=0x0, 
instance_and_params=instance_and_params@entry=0x7ffd7f9b0490) at 
../../../gobject/gsignal.c:3635
#23 0x00007fcc71a6025e in g_signal_emit_valist 
(instance=instance@entry=0x55c583737f00, signal_id=signal_id@entry=238, 
detail=detail@entry=0, var_args=var_args@entry=0x7ffd7f9b0688) at 
../../../gobject/gsignal.c:3391
#24 0x00007fcc71a60df4 in g_signal_emit_by_name 
(instance=instance@entry=0x55c583737f00, 
detailed_signal=detailed_signal@entry=0x55c5815c0158 
"recording-postprocess-started") at ../../../gobject/gsignal.c:3487
#25 0x000055c5815b003b in 
peek_recording_base_screen_recorder_finalize_recording (self=0x55c583737f00) at 
./obj-x86_64-linux-gnu/src/recording/base-screen-recorder.c:274
#26 0x000055c5815b2423 in ____lambda21_ (self=0x55c583737f00, self@entry=<error 
reading variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:509
#27 _____lambda21__gsource_func (self=0x55c583737f00, self@entry=<error reading 
variable: value has been optimized out>) at 
./obj-x86_64-linux-gnu/src/recording/gnome-shell-dbus-recorder.c:519
#28 0x00007fcc71962863 in g_timeout_dispatch (source=0x55c5838535f0, 
callback=<optimized out>, user_data=<optimized out>) at 
../../../glib/gmain.c:4667
#29 0x00007fcc71961dd8 in g_main_dispatch (context=0x55c58346d320) at 
../../../glib/gmain.c:3182
#30 g_main_context_dispatch (context=context@entry=0x55c58346d320) at 
../../../glib/gmain.c:3847
#31 0x00007fcc719621c8 in g_main_context_iterate 
(context=context@entry=0x55c58346d320, block=block@entry=1, 
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3920
#32 0x00007fcc7196225c in g_main_context_iteration 
(context=context@entry=0x55c58346d320, may_block=may_block@entry=1) at 
../../../glib/gmain.c:3981
#33 0x00007fcc71b5699d in g_application_run (application=0x55c5834690f0, 
argc=<optimized out>, argv=0x7ffd7f9b0a98) at ../../../gio/gapplication.c:2470
#34 0x000055c58159bbe6 in _vala_main (args=0x7ffd7f9b0a98, args_length1=2) at 
./obj-x86_64-linux-gnu/src/main.c:45
#35 0x00007fcc7157309b in __libc_start_main (main=0x55c58159ba60 <main>, 
argc=2, argv=0x7ffd7f9b0a98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>, stack_end=0x7ffd7f9b0a88) at ../csu/libc-start.c:308
#36 0x000055c58159baaa in _start () at ./obj-x86_64-linux-gnu/src/main.c:55
(rr) nexti
0x000055c5815aba24      912     in 
./obj-x86_64-linux-gnu/src/post-processing/ffmpeg-post-processor.c
1: x/i $pc
=> 0x55c5815aba24 
<peek_post_processing_ffmpeg_post_processor_generate_animation_async_co+932>: 
lea    0x13bbc(%rip),%rdi        # 0x55c5815bf5e7
3: /x $rax = 0x55c5839da7b0
(rr) print (char*)0x55c5839da7b0
$1 = 0x55c5839da7b0 "ffmpeg"
(rr) info b
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x00007fcc715d3be0 in __GI___libc_free at 
malloc.c:3083
        stop only if mem == 0x55c5839da7b0 (target evals)
        breakpoint already hit 1 time
2       hw watchpoint  keep n                      *0x55c583656660
        breakpoint already hit 1 time
3       hw watchpoint  keep n                      *0x55c5839da760
        breakpoint already hit 1 time
4       hw watchpoint  keep n                      *0x55c5839f2150
        breakpoint already hit 1 time





##########




rr replay

set width 0
set pagination off
directory /home/benutzer/source/peek/orig/peek-1.3.1
display/i $pc
b *0x000055c5815aba1f
cont
stepi
finish
bt
when



##########



benutzer@debian:~/source/peek/orig3/peek-1.3.1$ cat -n 
./src/post-processing/ffmpeg-post-processor.vala | grep -E "^   100" -B24 -A12
    76
    77      private async File? generate_animation_async (File input_file, File 
palette_file) throws RecordingError {
    78        try {
    79          var extension = Utils.get_file_extension_for_format 
(config.output_format);
    80          var output_file = Utils.create_temp_file (extension);
    81
    82          string[] args = {
    83            "ffmpeg", "-y",
    84            "-i", input_file.get_path (),
    85            "-i", palette_file.get_path (),
    86            "-filter_complex", "fps=%d,paletteuse".printf 
(config.framerate)
    87          };
    88
    89          var argv = new Array<string> ();
    90          argv.append_vals (args, args.length);
    91
    92          if (config.output_format == OutputFormat.APNG) {
    93            argv.append_val ("-plays");
    94            argv.append_val ("0");
    95          }
    96
    97          argv.append_val (output_file);
    98
    99          try {
   100            yield spawn_command_async (argv.data);
   101          } catch (RecordingError e) {
   102            FileUtils.remove (output_file);
   103            throw e;
   104          }
   105
   106          return File.new_for_path (output_file);
   107        } catch (FileError e) {
   108          throw new RecordingError.POSTPROCESSING_ABORTED (e.message);
   109        }
   110      }
   111    }
   112  }


https://valadoc.org/glib-2.0/GLib.Array.append_vals.html

   append_vals -->  we only copy ptrs but not the strings!




########

Reply via email to