Package: facter
Version: 3.11.0-4.1
Severity: grave

Running facter crashes right away on startup with an invalid pointer being passed to free().

~# facter
free(): invalid pointer
Aborted

Stacktrace:
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff79c255b in __GI_abort () at abort.c:79
#2 0x00007ffff7a1b038 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7b27f3e "%s\n") at ../sysdeps/posix/libc_fatal.c:181 #3 0x00007ffff7a223da in malloc_printerr (str=str@entry=0x7ffff7b260e0 "free(): invalid pointer") at malloc.c:5339 #4 0x00007ffff7a23dcc in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:4173 #5 0x00007ffff7e7a5d4 in __gnu_cxx::new_allocator<char>::deallocate (this=0x7fffffffdca0, __p=<optimized out>) at /usr/include/c++/9/ext/new_allocator.h:119 #6 std::allocator_traits<std::allocator<char> >::deallocate (__a=..., __n=<optimized out>, __p=<optimized out>) at /usr/include/c++/9/bits/alloc_traits.h:470 #7 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy (__size=<optimized out>, this=0x7fffffffdca0) at /usr/include/c++/9/bits/basic_string.h:237 #8 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose (this=0x7fffffffdca0) at /usr/include/c++/9/bits/basic_string.h:232 #9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string (this=0x7fffffffdca0, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/basic_string.h:658 #10 facter::facts::collection::add_external_facts_dir (this=0x7fffffffe1e0, resolvers=std::vector of length 4, capacity 4 = {...}, dir=..., warn=<optimized out>) at ./lib/src/facts/collection.cc:160 #11 0x00007ffff7e7abd8 in facter::facts::collection::add_external_facts (this=0x7fffffffe1e0, directories=std::vector of length 0, capacity 0) at ./lib/src/facts/collection.cc:197
#12 0x000055555557154c in main ()

I noticed this starting 2020-06-08 on all Debian Unstable machines I admin. Only notable thing done on the machines has been `apt update && apt upgrade`. Presumably this issue is caused in combination with an update of another package.

I've re-compiled facter 3.11.0 myself from source and was unable to replicate the issue this way.
Maybe a recompile would be sufficient to fix this crash?

I'd be happy to do further testing, as this prevents Puppet from running on any of the Debian Unstable machines I'm an admin of.

Reply via email to