[Pkg-puppet-devel] Bug#962692: puppet: Crashes due to "missing" facts.d directories

Gabriel Filion gabriel at koumbit.org
Mon Jun 15 22:22:59 BST 2020


Hi,

>> A quick workaround to get facter to run is to create the three
>> directories:
> 
>> /etc/facter/facts.d
>> /etc/puppetlabs/facter/facts.d
>> /opt/puppetlabs/facter/facts.d
> 
> Yup, confirmed that works.  Thank you!

thanks for the workaround.

while it seems to work when running facter as root, I'm still getting
the same crash (back trace seems to be the same) when running facter as
an unprivileged user even though the three directories are world-readable.
I'm reporting this added detail since using puppet/facter as an
unprivileged user can be important for validating syntax, running spec
tests, etc. during development.


$ ls -ld /etc/facter/facts.d/ /etc/puppetlabs/facter/facts.d
/opt/puppetlabs/facter/facts.d
drwxr-xr-x 2 root root 4096 Jun 15 17:10 /etc/facter/facts.d/
drwxr-xr-x 2 root root 4096 Jun 15 17:10 /etc/puppetlabs/facter/facts.d
drwxr-xr-x 2 root root 4096 Jun 15 17:10 /opt/puppetlabs/facter/facts.d

$ facter
free(): invalid size
Aborted

$ gdb facter
[...]
Reading symbols from facter...
(No debugging symbols found in facter)
(gdb) r
Starting program: /usr/bin/facter
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Detaching after vfork from child process 1565235]
free(): invalid pointer

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff79bf55b in __GI_abort () at abort.c:79
#2  0x00007ffff7a18038 in __libc_message (action=action at entry=do_abort,
fmt=fmt at entry=0x7ffff7b24f3e "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff7a1f3da in malloc_printerr (str=str at entry=0x7ffff7b230e0
"free(): invalid pointer") at malloc.c:5339
#4  0x00007ffff7a20dcc in _int_free (av=<optimized out>, p=<optimized
out>, have_lock=0) at malloc.c:4173
#5  0x00007ffff7e775d4 in ?? () from
/usr/lib/x86_64-linux-gnu/libfacter.so.3.11.0
#6  0x00007ffff7e77bd8 in
facter::facts::collection::add_external_facts(std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > const&) () from
/usr/lib/x86_64-linux-gnu/libfacter.so.3.11.0
#7  0x000055555557154c in main ()

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-puppet-devel/attachments/20200615/59cb45f8/attachment.sig>


More information about the Pkg-puppet-devel mailing list