Instant crash when clicking the Print button from the printing dialog
It does not matter what you are printing, it can even be a blank PDF. Clicking the blue "Print" button from the GTK printing dialog called by Papers nightly will instantly crash like this:
(papers:13): Gtk-WARNING **: 10:08:13.989: GtkPrintOperation::create-custom-widget not supported with portal
[New Thread 0x7fffafe006c0 (LWP 63)]
[New Thread 0x7fffaf4006c0 (LWP 64)]
[New Thread 0x7fffbaa006c0 (LWP 65)]
free(): invalid pointer
Thread 1 "papers" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt full
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {1}}
ret = <optimized out>
#1 0x00007ffff68dae83 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007ffff6888dce in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x00007ffff687083f in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {11501601614302065724, 144, 112, 140737488341840, 140737329918730, 2, 140737331235520, 288, 93825012180464, 140737488341856, 18446744073709551280, 0, 93825010232288, 144, 112, 140737488341904}}, sa_flags = -158426162, sa_restorer = 0x555556683cf8}
#4 0x00007ffff6871710 in __libc_message (fmt=fmt@entry=0x7ffff69f455b "%s\n") at ../sysdeps/posix/libc_fatal.c:150
ap = {{gp_offset = 16, fp_offset = 21845, overflow_arg_area = 0x7fffffffcc90, reg_save_area = 0x7fffffffcc20}}
fd = 2
list = <optimized out>
nlist = <optimized out>
cp = <optimized out>
#5 0x00007ffff68e4fe5 in malloc_printerr (str=str@entry=0x7ffff69f2024 "free(): invalid pointer") at malloc.c:5765
#6 0x00007ffff68e725c in _int_free (av=<optimized out>, p=p@entry=0x555555b98518, have_lock=have_lock@entry=0) at malloc.c:4500
size = <optimized out>
fb = <optimized out>
#7 0x00007ffff68e9bce in __GI___libc_free (mem=0x555555b98528) at malloc.c:3391
ar_ptr = <optimized out>
p = 0x555555b98518
err = 0
#8 0x00007ffff6ddeab9 in g_free (mem=<optimized out>) at ../glib/gmem.c:208
#9 0x00007ffff7580981 in prepare_print_response
(connection=<optimized out>, sender_name=<optimized out>, object_path=<optimized out>, interface_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>, data=0x55555795c4c0)
at ../gtk/print/gtkprintoperation-portal.c:457
filename = 0x555555b98528 ""
fd = <optimized out>
uri = 0x0
v = <optimized out>
settings = <optimized out>
page_setup = <optimized out>
printer = <optimized out>
portal = 0x55555795c4c0
response = 0
options = 0x7fffd80152e0
#10 0x00007ffff6fe5770 in emit_signal_instance_in_idle_cb (data=0x7fffd8014fe0) at ../gio/gdbusconnection.c:3798
signal_instance = 0x7fffd8014fe0
parameters = 0x7fffd8015330
has_subscription = 1
#11 0x00007ffff6dd5647 in g_main_dispatch (context=context@entry=0x555555ba71e0) at ../glib/gmain.c:3344
dispatch = 0x7ffff6dd3430 <g_idle_dispatch>
prev_source = 0x0
begin_time_nsec = 1513140684896484
was_in_call = 0
user_data = 0x7fffd8014fe0
callback = 0x7ffff6fe56f0 <emit_signal_instance_in_idle_cb>
cb_funcs = 0x7ffff6ec3260 <g_source_callback_funcs>
cb_data = 0x7fffd80222c0
need_destroy = <optimized out>
source = 0x7fffd8003320
current = 0x555555bb8510
i = 0
__func__ = "g_main_dispatch"
#12 0x00007ffff6dd7767 in g_main_context_dispatch_unlocked (context=0x555555ba71e0) at ../glib/gmain.c:4152
#13 g_main_context_iterate_unlocked (context=context@entry=0x555555ba71e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
max_priority = 2147483647
timeout = 2210
some_ready = 1
nfds = 2
allocated_nfds = <optimized out>
fds = 0x5555566d5a30
begin_time_nsec = 1513139410697905
#14 0x00007ffff6dd7e23 in g_main_context_iteration (context=context@entry=0x555555ba71e0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
retval = <optimized out>
#15 0x00007ffff6fbcfad in g_application_run (application=0x555555be85a0 [PpsApplication], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2712
arguments = 0x555555bc41e0
status = 0
context = 0x555555ba71e0
acquired_context = <optimized out>
__func__ = "g_application_run"
#16 0x00005555556273a2 in gio::application::ApplicationExtManual::run_with_args<papers_shell::auto::application::Application, alloc::string::String> (self=0x7fffffffd2d0, args=...)
at /run/build/papers/_flatpak_build/cargo-home/git/checkouts/gtk-rs-core-7be42ca38bd6361c/8e5054e/gio/src/application.rs:29
argc = 1
argv = alloc::vec::Vec<&str, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<&str, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<&str> {pointer: core::ptr::non_null::NonNull<&str> {pointer: 0x555555bc4a30}, _marker: core::marker::PhantomData<&str>}, cap: alloc::raw_vec::Cap (1), alloc: alloc::alloc::Global}, len: 1}
#17 0x00005555556274b9 in gio::application::ApplicationExtManual::run<papers_shell::auto::application::Application> (self=0x7fffffffd2d0)
at /run/build/papers/_flatpak_build/cargo-home/git/checkouts/gtk-rs-core-7be42ca38bd6361c/8e5054e/gio/src/application.rs:22
#18 0x00005555555e6396 in papers::main () at src/main.rs:53
log_builder = env_logger::logger::Builder {filter: env_logger::filter::Builder {directives: alloc::vec::Vec<env_logger::filter::Directive, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<env_logger::filter::Directive, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<env_logger::filter::Directive> {pointer: core::ptr::non_null::NonNull<env_logger::filter::Directive> {pointer: 0x8}, _marker: core::marker::PhantomData<env_logger::filter::Directive>}, cap: alloc::raw_vec::Cap (0), alloc: alloc::alloc::Global}, len: 0}, filter: core::option::Option<env_logger::filter::inner::Filter>::None, built: true}, writer: env_logger::fmt::writer::Builder {target: env_logger::fmt::writer::Target::Stderr, write_style: env_logger::fmt::writer::WriteStyle::Auto, is_test: false, built: true}, format: env_logger::fmt::Builder {format_timestamp: core::option::Option<env_logger::fmt::TimestampPrecision>::Some(env_logger::fmt::TimestampPrecision::Seconds), format_module_path: false, format_target: true, format_level: true, format_indent: core::option::Option<usize>::Some(4), custom_format: core::option::Option<alloc::boxed::Box<(dyn core::ops::function::Fn<(&mut env_logger::fmt::Formatter, &log::Record), Output=core::result::Result<(), std::io::error::Error>> + core::marker::Send + core::marker::Sync), alloc::alloc::Global>>::None, format_suffix: "\n", built: true}, built: true}
On the same machine with the same printer configured, Evince prints just fine.