In regard to: [Puppet Users] Re: workarounds for ruby segfaults on puppet...:

FWIW here's what I put in /etc/puppet/rack/config.ru that has resolved it
for me:

Thanks Trey!  It was your original post about the issue that got me
on a track that eventually got me a workaround.  We're now on 3.7.3,
and so far (fingers crossed) John's suggestion of just adding
"--profile", without any of the other options, has allowed us to
avoid the problem.

ARGV << "--confdir" << "/etc/puppet"
ARGV << "--vardir"  << "/var/lib/puppet"
*ARGV << "--debug"*
*ARGV << "--trace"*
*ARGV << "--profile"*
ARGV << "--logdest" << "/var/log/puppet/puppetmaster.log"

If I remove the lines the segfaults become a problem.  I'm now on Puppet
3.6.2 and this is still an issue that requires the above work around.


Just be sure if you use that work-around to update logrotate to clean out
puppetmaster.log as that file will get very large very quickly.  The
"--logdest" portion I used to keep the logs out of syslog and so they could
be cleaned up more easily using logrotate.

Yeah, I was worried about log growth when using those options, but just
--profile hasn't had any impact on our logs.  If it turns out that we
start having the segfaults again, I'll pursue your recommendation and
add the remaining options that you're using.

Thanks again!

Tim

On Wednesday, November 19, 2014 11:02:00 AM UTC-6, Tim.Mooney wrote:


All-

For those of you that are using puppet on RHEL 6.x (/CentOS/Oracle
Linux/Scientific Linux/etc.) and have experienced ruby segfaults on
your puppet master(s), what workaround or workarounds have you been
using?

We have been using puppet 3.4.2 (from Puppet Labs repos) for some time,
with a RHEL 6.x puppetmaster under mod_passenger.  RHEL 6.x currently
has ruby 1.8.7 patchlevel 374 as its default ruby version.

In the past couple weeks we've started to see a couple of different
clients that are triggering segfaults in ruby on the master during a
puppet agent run.  Examples include:

/usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:30: [BUG] Segmentation
fault ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

/usr/lib/ruby/site_ruby/1.8/puppet/parser/type_loader.rb:110: [BUG]
Segmentation fault ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

Web searches related to this issue turned up a thread from puppet-users
earlier this year started by treydock:

         https://groups.google.com/forum/#!topic/puppet-users/qWN6j-eNiZ0

Unfortunately, I've tried a lot of the workarounds suggested in that
thread, and none of them seem to reliably avoid the problem.

- I tried back-porting the small patch from PUP-1592 to our 3.4.2
   puppet master.  No luck.

- Yesterday, I bit the bullet and upgraded our entire puppet
   infrastructure from 3.4.2 to 3.7.3.  We still see the same
   segfaults on the master, both under mod_passenger and when
   running the master in standalone mode for testing.

Since RHEL 6.x has alternate versions of some packages (including ruby)
available via its Software Collections Library (SCL), I'm tempted to
try switching our puppet master to use the "ruby193-*" packages from
SCL.  A minor downside is that I won't be able to use the Puppet Labs
packages
anymore, at least on the master.

The big concern I have relates to how advisable it is to use a different
version of ruby on the master vs. all of the clients?  Have other RHEL
users tried this, with any success?

Thanks,

Tim
--
Tim Mooney                                             tim.m...@ndsu.edu
<javascript:>
Enterprise Computing & Infrastructure                  701-231-1076
(Voice)
Room 242-J6, Quentin Burdick Building                  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164




--
Tim Mooney                                             tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure                  701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building                  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164

Reply via email to