Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot
Linux: Rede Samba
Por mestrelee



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper


Artigo

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem
Linux user
cesarcardoso
19/12/2003
O que são NPTL, Exec-Shield e porque meus programas de uma hora para outra crasham adoidamente? Se você usa RedHat 9, Fedora Core 1, kernel 2.6 e/ou kernel 2.4 patcheado, seus problemas podem se resolver após a leitura deste artigo.
Por: Cesar Cardoso
[ Hits: 8532 ]
Conceito: 9.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

NPTL

NPTL, também conhecido como Native POSIX Thread Library, é o novo sistema de threading do kernel 2.6. O NPTL promete melhor compatibilidade com o padrão POSIX, maior escalabilidade e maior desempenho na criação e destruição de threads, colocando o Linux em pé de igualdade com os Unix comerciais em termos de alto desempenho (e custando muuuuuuuuito menos! :-) Para os chegados em tecnicalidades ou estudiosos de sistemas operacionais, vale a leitura do paper descritivo da biblioteca em: A RedHat vem implementando um backport do NPTL para os seus kernels 2.4 desde o RedHat 9 e o kernel do Fedora Core 1 tem o mesmo patch.

Só que alguns programas podem crashar alegremente, deixando você com um segfault na mão e uma cara de tacho. Exemplos clássicos são o IBM JRE e o Sun JVM (antes do 1.4.1, bem, você deveria estar utilizando o 1.4.2 mesmo...). Neste caso, LD_ASSUME_KERNEL é seu amigo.

LD_ASSUME_KERNEL é uma variável de ambiente que diz ao kernel para utilizar o velho LinuxThreads em vez do NPTL, com isso deixando o programa problemático mais feliz. Pode assumir os valores 2.2.5, 2.4.1 ou 2.4.19 (ou seja, emulação do comportamento de kernels específicos). Uma boa política é utilizar um alias do shell para o programa crashento, por exemplo:

alias programa_crashento="LD_ASSUME_KERNEL=2.4.1 programa_crashento"
Próxima página >>


Páginas do artigo
   1. NPTL
   2. Exec-Shield
   3. Palavras finais

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por arknoid em 22/12/2003 - 16:52h:

bahm blz de artigo cesar ficou bem tri e agora posso tentar rodar as tralhas que me encomodavam!
qualquer coisa vou te encomodar!

[2] Comentário enviado por PlainSpooky em 23/12/2003 - 16:34h:

Só uma correção...

ao invés de "cat 0 > /proc/sys/kernel/exec-shield" usa-se "echo 0 > /proc/sys/kernel/exec-shield", uma distração boba que vez ou outra em também cometo. :)


Contribuir com comentário
CAPTCHA
[ Recarregar imagem ]

Digite o código acima:

  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.