I'm supposing that ".......CRASH" means "more of the same syscall, with similar results, until the trace ends on account of a system crash.
The second trace says nothing useful, as far as I can tell. The last thing it shows before all the signal mask handling is the successful completion of a fact evaluation.
The first trace is not much more helpful. The last thing it shows is Facter reading the Ruby code for the 'osfamily' fact. That might indicate that it is during evaluation of that fact that the system crashed, but it's too far removed from fact evaluation for me to have any confidence in that.
My bet would be that the crash cuts off communication before its cause is reported in the trace, as I warned might be the case.
Here's another thing you could try: since facter doesn't always crash the system (if I understand correctly), you should be able to get a list of all the facts it is evaluating (and their values) by running "facter -p" from the command line. Take that list, and use it to stress test facter on each fact individually (i.e. run facter -p <factname> many times in a loop), in a way that lets you be sure you always know which fact is currently under test. In this way you may be able to identify one or more facts whose evaluation sometimes crashes the machine.
Note: don't neglect the "or more" above. It is conceivable that your problem is deeper than just one fact.
Once you know the facts with which the problem is associated, we can investigate the commands facter is running, and thereby narrow down the cause of the crash.
John