Erro “Instrução ilegal (core dumping)” durante a execução do agente Puppet (versão 3.2.1)

2

Acabei de atualizar o fantoche para a versão 3.2.1 e, ao executar o agente, recebo um erro dizendo "Instrução ilegal (core dumping)". Aqui estão alguns detalhes:

O mestre e o agente são executados na mesma máquina

#cat /etc/redhat-release
CentOS release 6.2 (Final)

#uname -r
3.9.3-x86_64-linode33

#ruby --version
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

O RPM instalado é "puppet-3.2.1-1.el6.noarch.rpm"

No entanto, quando eu executo o agente fantoche com a mesma versão em outro host, tudo corre bem. O problema é apenas durante a execução do agente na mesma máquina que o mestre. Alguma ideia do que está acontecendo?

    
por aqs 28.05.2013 / 09:38

2 respostas

1

A solução foi atualizar glibc . Veja https://bugzilla.redhat.com/show_bug.cgi?id=752122 para detalhes

    
por 19.06.2013 / 13:01
0

Se a instalação do Ruby e suas bibliotecas dependentes não forem modificadas, há uma boa chance de você ter uma biblioteca em seu caminho de pesquisa da biblioteca que entre em conflito com a versão com a qual o Ruby foi compilado. Isso é muito comum se, por exemplo, você criou uma biblioteca como zlib ou openssl e a soltou em /usr/local/lib em vez de colocá-la em um prefixo personalizado e definir um RPATH / LD_LIBRARY_PATH para os programas que você precisa compilar contra isso.

Genericamente, a melhor maneira de diagnosticar um segfault é fazer o kernel despejar um arquivo principal (veja: ulimit e core_pattern sysctl), e então executá-lo através de um depurador como o GDB. Pode dar-lhe um backtrace que, se nada mais, pode facilmente apontar você exatamente qual chamada de função da biblioteca é a culpa.

    
por 29.05.2013 / 06:09