Ir para o conteúdo

 Voltar a OpenACS: Des...
Tela cheia

"Fatal: received fatal signal 11" quando faz login (usando nsldap)

21 de Setembro de 2012, 11:02 , por Desconhecido - | 1 Pessoa seguindo este artigo.
Visualizado 44 vezes

Pessoal,

 

Estamos migrando um servidor que roda OpenACS autenticando com OpenLDAP.

O problema que surgiu é o seguinte:

Cerca de 90% das vezes que alguém faz login o log do Aolserver aponta apenas isso e nada mais:

     Fatal: received fatal signal 11

 Aí reinicia o servidor automaticamente, que volta sem problemas.

Navegação que não envolve fazer autenticação não causa esse problema.

Quando dá isso, no log do LDAP mostra apenas "Connection reset by peer ."

 

Não consegui identificar o que faz a autenticação funcionar numa boas às vezes e outras não. 

 

Acompanhei o uso de memória nas máquinas e está normal, baixo uso.

Os parâmetros do config.tcl no que diz respeito ao nsldap estão iguais à máquina que atualmente roda em produção.

Todos os outros serviços que usam o nosso OpenLDAP não encontram problemas (SVN, etc).

 

Encontrei esse post que relata exatamente nosso problema:

 http://viarobits.wordpress.com/2010/08/05/using-ldapactive-directory-with-openacs/

Ele diz "The nsldap plugin does not work in 64-bit architecture, when using it you will get an error “Fatal: received fatal signal 11” and the openacs service will restart"

 

Lá no ambiente de migração realmente é 64-bits, mas hoje ela roda em produção numa arquitetura de 64-bits também e não tem problemas.

 

Alguém consegue dar uma luz?

 

Obrigado.

Abraço

 

Autor: Daniel Teles


1111 comentários

  • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
    21 de Setembro de 2012, 11:47

     

    Daniel,

    Estou lembrando aqui que havia um problema no módulo nsldap para arquitetura de 64bits. Isso foi reportado num dos relatórios do consultor PNUD na época que eu trabalhava no MPOG.

    Se não me engano, eu fiz funcionar no servidor baixando o código e compilando manualmente. Vou ver se acho aqui as alterações que eu fiz pra te passar. 

  • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
    21 de Setembro de 2012, 12:07

     

    Daniel,

    Lembrei do problema. De fato a versão compilada que baixamos do repositório oficial tem problemas. A versão que funciona é a do módulo aolserver4-nsldap que está no repositório do Debian. Dê uma olhada aqui: http://packages.debian.org/stable/httpd/aolserver4-nsldap

    Contudo, esse módulo tem um pequeno problema: não implementa a autenticação através de "Bind". Dê uma olhada nesse bug aqui: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578844

    Aí você tem duas opções:

    1 - Utiliza a autenticação sem o bind

    2 - Altera o pacote do aolserver4-nsldap para suportar o bind

    Eu cheguei a gerar um novo pacote que implementava o código do bind, mas sinceramente não me lembro onde coloquei. Posso checar minhas anotações e procurar. Na época que instalei essa nova versão do portal, simplesmente desabilitei a autenticação através de bind e funcionou.

    Vou procurar o novo pacote e volto aqui caso eu ache. Já tem até um patch disponível para o pacote lá no bugreport do Debian que funciona. Precisa alterar o pacote e gerá-lo novamente.

    • 8dd0bcbd46bf28f1591a8f8e5965ca02?only path=false&size=50&d=404Daniel Teles(usuário não autenticado)
      21 de Setembro de 2012, 13:27

       

      Eduardo,

       

      Instalamos a versão do repositório Debian e depois fizemos alguns passos para corrigir essa questão de suportar bind.

      Anotamos o que fizemos após já ter instalado esse pacote do repositório Debian:

       -------------

      # cd /usr/local/src/
      # wget www.​open​acs.​org/​stor​age/​down​load​/NsL​DAP%​20AO​LSer​ver%​20mo​dule​?fil​e%5f​id=3​4241​00
      # mv NsLDAP\ AOLServer\ module\?file_id\=3424100 nsldap.tgz
      # tar -xzvf nsldap.tgz

      Para que a compilação funcione, é necessário o novo código C do nsldap com implementação de Bind. Para instalar no Debian, siga os seguintes passos:
      # cd /usr/local/src/
      # mkdir aolserver4-nsldap
      # cd aolserver4-nsldap
      # apt-get source aolserver4-nsldap
      # cd aolserver4-nsldap-0.8

      Agora precisamos substituir o código fonte desatualizado pelo novo código-fonte
      # cp /usr/local/src/nsldap/nsldap.c .

      Reconstruímos o pacote para o Debian, antes baixando as dependências
      # apt-get build-dep aolserver4-nsldap
      # dpkg-buildpackage

      No diretório anterior agora está o pacote .deb. Instalamos com o dpkg:
      # cd ..
      # dpkg -i aolserver4-nsldap_0.8-4_amd64.deb

      ----------

       Acho que foi o que você quis dizer na opção 2: alterar o pacote pra suportar bind.

       

      Vou investigar mais esse pacote.

       

      Valeu.

      • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
        21 de Setembro de 2012, 14:43

         

        Grande Daniel,

        Eu sabia que tinha escrito isso em algum lugar (cabeça fraca). Talvez fosse o caso de botar ssa documentação num lugar mais acessível.

        De qualquer maneira, hoje o portal está rodando sem o Bind. Talvez seja o caso de utilizar sem pra ver se resolve o problema. 

        • 8dd0bcbd46bf28f1591a8f8e5965ca02?only path=false&size=50&d=404Daniel Teles(usuário não autenticado)
          21 de Setembro de 2012, 15:01

           

          Estamos documentando essa migração. Quando migrarmos posso jogar aqui na comunidade esse documento; talvez ajudar alguém no futuro.

           

          Eu estava procurando como rodar sem bind, e achei em

          open​acs.​org/​doc/​acs-​auth​enti​cati​on/e​xt-a​uth-​ldap​-ins​tall​.htm​l

          que seria em /packages/auth-ldap/tcl/auth-ldap-procs.tcl

           

          Mas esse arquivo está igual ao da produção.

           E não achei o seguinte trecho que ele falou sobre mudar:

          "
          # LDAP bind based authentication ?
          set ldap_bind_p 0
          if {$ldap_bind_p==1} {
          ...
          "

          To vacilando mto? 

          muito obrigado cara

          • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
            21 de Setembro de 2012, 15:26

             

            Daniel,

            Se for o caso do portal, você não precisa alterar o código. Na versão to auth-ldap que usamos o BindAuthenticationP é um parâmetro, que já está ajustado para não ser utilizado.

            Dê uma olhada aqui: http://www.softwarepublico.gov.br/acs-admin/auth/authority-parameters?authority_id=43309384 

            • 8dd0bcbd46bf28f1591a8f8e5965ca02?only path=false&size=50&d=404Daniel Teles(usuário não autenticado)
              21 de Setembro de 2012, 15:36

               

              é vero,

               

              Mas lá no ambiente de migração também está com valor "0", ou seja, sem usar bind.

               

              Você acha que esse problema está ocorrendo então porque nós alteramos o pacote aolserver4-nsldap daquela forma que disse em post anterior como se fossemos usar BIND e na configuração estamos falando pra não usar?

               

              Obrigado.

               

              • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
                21 de Setembro de 2012, 15:41

                 

                Fala Daniel,

                É possível. Eu tentaria remover e instalar o pacote diretamente do repositório pra usar autenticação sem o Bind. 

                • 8dd0bcbd46bf28f1591a8f8e5965ca02?only path=false&size=50&d=404Daniel Teles(usuário não autenticado)
                  21 de Setembro de 2012, 16:10

                   

                  Rapaz,

                   

                  removi o pacote e instalei de novo do repositório.

                  Tudo indica que agora está OK!

                  Já entrei e sai do Portal 3463 vezes. Estou viciado em fazer login. Não deu erro.

                   

                  Abraço.

                   

                  Muito obrigado pela ajuda!

                  • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
                    21 de Setembro de 2012, 16:14

                     

                    Grande Daniel,

                    Como diz o velho deitado, "servimos bem para servir sempre".

                     hahahahah

                    Abração

                    P.S.: Tudo indica que o código do nsldap está quebrado para 64bits. Precisa ser adicionada uma pequena mudança no pacote para adicionar o Bind mas com outra lógica de programação. Se puder adicionar uma página aqui no Wiki sobre o tema vai ajudar muito. 

Oportunidade de Trabalho com OpenACS

9 de Dezembro de 2011, 16:07, por Desconhecido

Domí­nio do ambiente Linux em modo Shell;



Fundamentos de desenvolvimento e criação de comunidades virtuais com o framework OpenACS

28 de Outubro de 2010, 16:51, por Desconhecido

Durante o Latinoware, que será realizado em Foz do Iguaçu entre os dias 10 e 12 de Novembro, será realizada uma oficina sobre desenvolvimento em OpenACS. A oficina é parte da iniciativa de compartilhamento do Projeto Software Público Internacional, e conta com apoio da organização.



Oficina sobre OpenACS em Belo Horizonte

19 de Novembro de 2008, 9:43, por Desconhecido

No dia 27 de novembro de 2008, será realizado durante o Encontro Mineiro de Software Livre, uma oficina para formação de desenvolvedores OpenACS. A oficina tem por objetivo introduzir a ferramenta na cidade e atender a uma demanda crescente por especialistas na área.



Treinamento em OpenACS em Brasília tem sua aula inaugural

10 de Novembro de 2008, 9:43, por Desconhecido

Fruto de uma paceria entre a Lupa Treinamento e a Secretaria de Logística e Tecnologia da Informação do Ministério do Planejamento, começou no último Sábado o terceiro treinamento em OpenACS realizado em Brasília.



Instalacao do OACS 5.3 em Debian e Ubuntu

29 de Janeiro de 2008, 16:52, por Desconhecido

Acaba http://cognovis.de/developer/ou de sair do forno...