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@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@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@entry=do_abort, fmt=fmt@entry=0x7ffff7b24f3e "%s\n") at ../sysdeps/posix/libc_fatal.c:181 #3 0x00007ffff7a1f3da in malloc_printerr (str=str@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 ()
signature.asc
Description: OpenPGP digital signature