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! ########