Foreman-installer crashes - /usr/lib/ruby/1.8/pathname.rb:287 [BUG] Segmentation fault

Hi,

I'm new to Foreman. I'm trying to install Foreman 1.5.0 using the yum
repository and foreman- installer on a fully updated CentOS 6.5 x86_64
system. The system already has Puppet 3.6.2 installed from the Puppet yum
repository.

foreman-installer fails with the following error:
[ INFO 2014-06-16 14:55:39 verbose] /usr/lib/ruby/1.8/pathname.rb:287:
[BUG] Segmentation fault

··· ==== [root@host ~]# foreman-installer Your puppet version does not support progress bar Preparing installation Done Something went wrong! Check the log for ERROR-level output The full log is at /var/log/foreman-installer/foreman-installer.log [root@host ~]# grep ERROR /var/log/foreman-installer/foreman-installer.log [ERROR 2014-06-16 14:54:55 main] Your puppet version does not support progress bar [root@host ~]# [root@host ~]# foreman-installer -v [ INFO 2014-06-16 14:55:32 verbose] Running validation checks [ INFO 2014-06-16 14:55:32 verbose] Executing hooks in group pre [ WARN 2014-06-16 14:55:32 verbose] Hook 'Kafo::HookContext' is using block with arguments which is DEPRECATED, access to kafo instance is provided by hook DSL, please remove |kafo| from your hook block [ INFO 2014-06-16 14:55:32 verbose] All hooks in group pre finished [ INFO 2014-06-16 14:55:32 verbose] Loading facts in /usr/share/foreman-installer/modules/concat/lib/facter/concat_basedir.rb [ INFO 2014-06-16 14:55:32 verbose] Loading facts in /usr/share/foreman-installer/modules/stdlib/lib/facter/facter_dot_d.rb [ INFO 2014-06-16 14:55:33 verbose] Loading facts in /usr/share/foreman-installer/modules/stdlib/lib/facter/puppet_vardir.rb [ INFO 2014-06-16 14:55:33 verbose] Loading facts in /usr/share/foreman-installer/modules/stdlib/lib/facter/pe_version.rb [ INFO 2014-06-16 14:55:33 verbose] Loading facts in /usr/share/foreman-installer/modules/stdlib/lib/facter/root_home.rb [ INFO 2014-06-16 14:55:33 verbose] Loading facts in /usr/share/foreman-installer/modules/firewall/lib/facter/iptables_persistent_version.rb [ INFO 2014-06-16 14:55:33 verbose] Loading facts in /usr/share/foreman-installer/modules/firewall/lib/facter/ip6tables_version.rb [ INFO 2014-06-16 14:55:33 verbose] Loading facts in /usr/share/foreman-installer/modules/firewall/lib/facter/iptables_version.rb [ WARN 2014-06-16 14:55:33 verbose] Config file /etc/puppet/hiera.yaml not found, using Hiera defaults [ INFO 2014-06-16 14:55:39 verbose] /usr/lib/ruby/1.8/pathname.rb:287: [BUG] Segmentation fault [ INFO 2014-06-16 14:55:39 verbose] ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] [ INFO 2014-06-16 14:55:39 verbose] [ INFO 2014-06-16 14:55:39 verbose] Puppet has finished, bye! [ INFO 2014-06-16 14:55:39 verbose] Executing hooks in group post [ INFO 2014-06-16 14:55:39 verbose] All hooks in group post finished Something went wrong! Check the log for ERROR-level output The full log is at /var/log/foreman-installer/foreman-installer.log [root@host ~]# rpm -qif /usr/lib/ruby/1.8/pathname.rb Name : ruby-libs Relocations: (not relocatable) Version : 1.8.7.352 Vendor: CentOS Release : 13.el6 Build Date: Tue 26 Nov 2013 12:24:16 PM CET Install Date: Tue 01 Apr 2014 03:47:57 PM CEST Build Host: c6b9.bsys.dev.centos.org Group : Development/Libraries Source RPM: ruby-1.8.7.352-13.el6.src.rpm Size : 5911073 License: (Ruby or GPLv2) and (GPL+ or Artistic) Signature : RSA/SHA1, Tue 26 Nov 2013 12:30:37 PM CET, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem URL : http://www.ruby-lang.org/ Summary : Libraries necessary to run Ruby Description : This package includes the libruby, necessary to run Ruby. ====

I’ve run “foreman-installer -v” again, and it then completes successfully:

====
[ INFO 2014-06-16 15:01:45 verbose] All hooks in group post finished
Success!
[…]

  • Puppetmaster is running at port 8140
    The full log is at /var/log/foreman-installer/foreman-installer.log
    ====

Regards,
Laurent.

You need to activate SCL repo so that ruby-1.9.3 is installed

Joop

··· On 16-6-2014 15:05, Laurent CREPET wrote: > Hi, > > I'm new to Foreman. I'm trying to install Foreman 1.5.0 using the yum > repository and foreman- installer on a fully updated CentOS 6.5 x86_64 > system. The system already has Puppet 3.6.2 installed from the Puppet yum > repository. > > foreman-installer fails with the following error: > [ INFO 2014-06-16 14:55:39 verbose] /usr/lib/ruby/1.8/pathname.rb:287: > [BUG] Segmentation fault > >

Hi Joop,

Thanks, you're right. I've missed this item. The quick start guide is
confusing:

··· On Monday, June 16, 2014 4:15:01 PM UTC+2, jvandewege wrote: > > On 16-6-2014 15:05, Laurent CREPET wrote: > > Hi, > > > > I'm new to Foreman. I'm trying to install Foreman 1.5.0 using the yum > > repository and foreman- installer on a fully updated CentOS 6.5 x86_64 > > system. The system already has Puppet 3.6.2 installed from the Puppet > yum > > repository. > > > > foreman-installer fails with the following error: > > [ INFO 2014-06-16 14:55:39 verbose] /usr/lib/ruby/1.8/pathname.rb:287: > > [BUG] Segmentation fault > > > > > You need to activate SCL repo so that ruby-1.9.3 is installed > > Joop > >

===
Red Hat Enterprise Linux 6 and derivatives (CentOS, Scientific Linux)

===

For CentOS, my understanding was to install only EPEL.

I’ve restarted the setup from scratch, and it starts working at the first
run.

Regards,
Laurent.

Today, I'm installing Foreman 1.5.1 on a new system.

I've done the following:
yum -y install centos-release-SCL
yum -y install
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install
http://yum.theforeman.org/releases/1.5/el6/x86_64/foreman-release-1.5.1-1.el6.noarch.rpm
yum -y install foreman-installer
foreman-installer -v

So, I have SCL, but still have the same error message:

[ INFO 2014-06-19 17:26:53 verbose] Loading facts in
/usr/share/foreman-installer/modules/firewall/lib/facter/iptables_version.rb
[ WARN 2014-06-19 17:26:54 verbose] Config file /etc/puppet/hiera.yaml not
found, using Hiera defaults
[ INFO 2014-06-19 17:27:00 verbose] /usr/lib/ruby/1.8/pathname.rb:287:
[BUG] Segmentation fault
[ INFO 2014-06-19 17:27:00 verbose] ruby 1.8.7 (2011-06-30 patchlevel 352)
[x86_64-linux]
[ INFO 2014-06-19 17:27:00 verbose]
[ INFO 2014-06-19 17:27:00 verbose] sh: line 1: 1608 Done
echo '$kafo_config_file="/etc/foreman/foreman-installer.yaml" include
kafo_configure'
[ INFO 2014-06-19 17:27:00 verbose] 1609 Aborted |
RUBYLIB=/usr/lib/ruby/gems/1.8/gems/kafo-0.5.4/lib/kafo/.

I'm missing something, but what ?

– Laurent.

··· On Monday, June 16, 2014 4:33:07 PM UTC+2, Laurent CREPET wrote: > > > On Monday, June 16, 2014 4:15:01 PM UTC+2, jvandewege wrote: >> >> On 16-6-2014 15:05, Laurent CREPET wrote: >> > Hi, >> > >> > I'm new to Foreman. I'm trying to install Foreman 1.5.0 using the yum >> > repository and foreman- installer on a fully updated CentOS 6.5 x86_64 >> > system. The system already has Puppet 3.6.2 installed from the Puppet >> yum >> > repository. >> > >> > foreman-installer fails with the following error: >> > [ INFO 2014-06-16 14:55:39 verbose] /usr/lib/ruby/1.8/pathname.rb:287: >> > [BUG] Segmentation fault >> > >> > >> You need to activate SCL repo so that ruby-1.9.3 is installed >> >> Joop >> >> > > Hi Joop, > > Thanks, you're right. I've missed this item. The quick start guide is > confusing: > === > Red Hat Enterprise Linux 6 and derivatives (CentOS, Scientific Linux) > > - EPEL > is > required > - On RHEL 6, additionally the Optional and RHSCL 1.0 > repositories/channels: > > === > > For CentOS, my understanding was to install only EPEL. > > I've restarted the setup from scratch, and it starts working at the first > run. > > Regards, > Laurent. >

Do I need to manually install ruby193 from SCL ?

Call me crazy but, even if a second run of foreman-installer works, I
sometimes like perfect setup without errors :wink:

I'm installing Foreman 1.5.1 on a CentOS 6.5 x86_64 with all updates. The
VM has been halted and snapshoted before I start to install Foreman.

Try #1:

Result #1 = KO with the following error:
[ INFO 2014-06-20 12:40:58 verbose]
/usr/lib/ruby/site_ruby/1.8/puppet/util/methodhelper.rb:14: [BUG]
Segmentation fault

Then, I've halted the VM and restore its state to previous snapshot, and
restarted the VM.

Try #2:

Result #2 = OK !

So, I don't really understand why the intermediate steps (rpm -qa, yum
repolist) would help…

··· On Monday, June 16, 2014 4:15:01 PM UTC+2, jvandewege wrote: > > On 16-6-2014 15:05, Laurent CREPET wrote: > > Hi, > > > > I'm new to Foreman. I'm trying to install Foreman 1.5.0 using the yum > > repository and foreman- installer on a fully updated CentOS 6.5 x86_64 > > system. The system already has Puppet 3.6.2 installed from the Puppet > yum > > repository. > > > > foreman-installer fails with the following error: > > [ INFO 2014-06-16 14:55:39 verbose] /usr/lib/ruby/1.8/pathname.rb:287: > > [BUG] Segmentation fault > > > > > You need to activate SCL repo so that ruby-1.9.3 is installed > > Joop > >

Running "foreman-installer -v" once again, and Foreman installed
successfully.

– Laurent.

··· On Thursday, June 19, 2014 5:32:42 PM UTC+2, Laurent CREPET wrote: > > Today, I'm installing Foreman 1.5.1 on a new system. > > I've done the following: > yum -y install centos-release-SCL > yum -y install > http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm > yum -y install > http://yum.theforeman.org/releases/1.5/el6/x86_64/foreman-release-1.5.1-1.el6.noarch.rpm > yum -y install foreman-installer > foreman-installer -v > > So, I have SCL, but still have the same error message: > > [ INFO 2014-06-19 17:26:53 verbose] Loading facts in > /usr/share/foreman-installer/modules/firewall/lib/facter/iptables_version.rb > [ WARN 2014-06-19 17:26:54 verbose] Config file /etc/puppet/hiera.yaml > not found, using Hiera defaults > [ INFO 2014-06-19 17:27:00 verbose] /usr/lib/ruby/1.8/pathname.rb:287: > [BUG] Segmentation fault > [ INFO 2014-06-19 17:27:00 verbose] ruby 1.8.7 (2011-06-30 patchlevel 352) > [x86_64-linux] > [ INFO 2014-06-19 17:27:00 verbose] > [ INFO 2014-06-19 17:27:00 verbose] sh: line 1: 1608 Done > echo '$kafo_config_file="/etc/foreman/foreman-installer.yaml" include > kafo_configure' > [ INFO 2014-06-19 17:27:00 verbose] 1609 Aborted | > RUBYLIB=/usr/lib/ruby/gems/1.8/gems/kafo-0.5.4/lib/kafo/. > > I'm missing something, but what ? > > >

This is a known bug in Ruby 1.8's GC code, which is only
intermittently hit - thus re-running the installer succeeds
eventually. Given the problem is in ruby rather than our code, we have
no ETA for a fix.

You can watch Bug #4244: Core dump during foreman-installer - Installer - Foreman for more
details, there's a possible workaround there you can test if you like.

Thanks for this info.

If I install ruby193 from SCL, do I need other stuff like 'scl enable
ruby193' to have foreman-installer use ruby 1.9.3 or will it detect it and
use it permanently ?

··· On Fri, Jun 20, 2014 at 1:12 PM, Greg Sutcliffe wrote:

This is a known bug in Ruby 1.8’s GC code, which is only
intermittently hit - thus re-running the installer succeeds
eventually. Given the problem is in ruby rather than our code, we have
no ETA for a fix.

You can watch Bug #4244: Core dump during foreman-installer - Installer - Foreman for more
details, there’s a possible workaround there you can test if you like.

The installer itself won't run under SCL, it's only "built" to run under
the default Ruby 1.8 runtime. It will install Foreman, which itself is
configured to run under the SCL.

I guess some of the "fixes" mentioned earlier in the thread were just
luck, since the problem is intermittent. Retrying it a lot of times, or
using an older (<= 3.3) version of Puppet - at least during
installation, works.

··· On 20/06/14 12:25, Laurent CREPET wrote: > > On Fri, Jun 20, 2014 at 1:12 PM, Greg Sutcliffe > <greg.sutcliffe@gmail.com > wrote: > > This is a known bug in Ruby 1.8's GC code, which is only > intermittently hit - thus re-running the installer succeeds > eventually. Given the problem is in ruby rather than our code, we have > no ETA for a fix. > > You can watch http://projects.theforeman.org/issues/4244 for more > details, there's a possible workaround there you can test if you like. > > > Thanks for this info. > > If I install ruby193 from SCL, do I need other stuff like 'scl enable > ruby193' to have foreman-installer use ruby 1.9.3 or will it detect it > and use it permanently ?


Dominic Cleal
Red Hat Engineering

> > You can watch Bug #4244: Core dump during foreman-installer - Installer - Foreman for more
> > details, there's a possible workaround there you can test if you like.
> >
> >
> Thanks for this info.
>
> If I install ruby193 from SCL, do I need other stuff like 'scl enable
> ruby193' to have foreman-installer use ruby 1.9.3 or will it detect it and
> use it permanently ?

The workaround is quite easy, just turn off GC and it will work just
fine.

··· -- Later,

Lukas “lzap” Zapletal
irc: lzap #theforeman

And don't be surprised when the installer eats up ~3GB of RAM

··· On Friday 20 of June 2014 17:13:46 Lukas Zapletal wrote: > > > You can watch http://projects.theforeman.org/issues/4244 for more > > > details, there's a possible workaround there you can test if you like. > > > > Thanks for this info. > > > > If I install ruby193 from SCL, do I need other stuff like 'scl enable > > ruby193' to have foreman-installer use ruby 1.9.3 or will it detect it and > > use it permanently ? > > The workaround is quite easy, just turn off GC and it will work just > fine.


Marek