[FUG-BR] Segmentation fault (core dumped)

Jose Raimundo da S. Barbosa jose.barbosa em cpaa.embrapa.br
Quarta Maio 25 16:41:46 BRT 2011


 Olá pessoal,

 preciso de uma ajuda de vocês, já esgotei quase todos meus recursos e 
 antes que eu lance mão dos outros gostaria de ter mais embasamento.

 Depois de uma atualização do FreeBSD 7.2 para a 7.4 fiquei com alguns 
 problemas (Core Dumped) em alguns serviços, mas especificamente àqueles 
 que dependiam do Perl para a realização de algumas operações. Depois de 
 algumas tentativas, resolvi logo fazer o upgrade (nas ponta dos dedos, 
 sempre com frio na barriga) para a versão 8.4. Fiz como reza o manual: 
 Atualização de ports, make buildword, etc...

 Então, para minha frustração, os problemas ainda persistem. Pelas 
 minhas análises, conforme os resultados dos teste abaixo, verifiquei que 
 o problema começava quando o Perl fazia chamadas para algumas operações 
 que envolvem SSL. Recompilei OpenSSL (por tabela as suas dependências) e 
 durante esse processo houveram alguns breaks que foram sendo consertados 
 até que pudesse ter uma compilação de 100% para todos que dependiam 
 deste. Tive algum sucesso, visto que o debug do core não mais 
 apresentava os erros de antes.

 Os erros que aparecem agora no debug do arquivo "perl.core" são 
 mostrados abaixo juntamente com minhas configurações do ambiente:

 Alguma luz? Qualquer ajuda é muito bem-vinda. Pelos menos os serviços 
 críticos não estão parados.

 Dmesg parcial
 --------------
 Copyright (c) 1992-2011 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 
 1994
         The Regents of the University of California. All rights 
 reserved.
 FreeBSD is a registered trademark of The FreeBSD Foundation.
 FreeBSD 8.2-STABLE #0: Sun May 15 11:52:05 AMT 2011
     root em columbalivia.cpaa.embrapa.br:/usr/obj/usr/src/sys/GENERIC 
 amd64
 Timecounter "i8254" frequency 1193182 Hz quality 0
 CPU: Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz (2333.43-MHz 
 K8-class CPU)
   Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  
 Stepping = 6
   
 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
   
 Features2=0xce3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,DCA,SSE4.1>
   AMD Features=0x20000800<SYSCALL,LM>
   AMD Features2=0x1<LAHF>
   TSC: P-state invariant
 real memory  = 8589934592 (8192 MB)
 avail memory = 8251072512 (7868 MB)
 ACPI APIC Table: <HP     ProLiant>
 FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
 FreeBSD/SMP: 1 package(s) x 4 core(s)


 # uname -a

 FreeBSD columbalivia.cpaa.embrapa.br 8.2-STABLE FreeBSD 8.2-STABLE #0: 
 Sun May 15 11:52:05 AMT 2011     
 root em columbalivia.cpaa.embrapa.br:/usr/obj/usr/src/sys/GENERIC  amd64


 Exemplo de teste para identificar o problema

 # /usr/local/sbin/smbldap-useradd -w "maqteste"
 Segmentation fault (core dumped)

 (aqui foi gerado o arquivo perl.core)

 debugando o arquivo perl.core

 # gdb perl perl.core
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and 
 you are
 welcome to change it and/or distribute copies of it under certain 
 conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for 
 details.
 This GDB was configured as "amd64-marcel-freebsd"...
 Core was generated by `perl'.
 Program terminated with signal 11, Segmentation fault.
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so...done.
 Loaded symbols for /usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so
 Reading symbols from /lib/libm.so.5...done.
 Loaded symbols for /lib/libm.so.5
 Reading symbols from /lib/libcrypt.so.5...done.
 Loaded symbols for /lib/libcrypt.so.5
 Reading symbols from /lib/libutil.so.8...done.
 Loaded symbols for /lib/libutil.so.8
 Reading symbols from /lib/libc.so.7...done.
 Loaded symbols for /lib/libc.so.7
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/auto/Cwd/Cwd.so...done.
 Loaded symbols for /usr/local/lib/perl5/5.10.1/mach/auto/Cwd/Cwd.so
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/auto/IO/IO.so...done.
 Loaded symbols for /usr/local/lib/perl5/5.10.1/mach/auto/IO/IO.so
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/auto/Socket/Socket.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/5.10.1/mach/auto/Socket/Socket.so
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/auto/Encode/Encode.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/5.10.1/mach/auto/Encode/Encode.so
 Reading symbols from 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Unicode/String/String.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Unicode/String/String.so
 Reading symbols from 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Unicode/Map/Map.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Unicode/Map/Map.so
 Reading symbols from 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Unicode/Map8/Map8.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Unicode/Map8/Map8.so
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/auto/Encode/Unicode/Unicode.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/5.10.1/mach/auto/Encode/Unicode/Unicode.so
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/auto/List/Util/Util.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/5.10.1/mach/auto/List/Util/Util.so
 Reading symbols from 
 /usr/local/lib/perl5/5.10.1/mach/auto/Encode/JP/JP.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/5.10.1/mach/auto/Encode/JP/JP.so
 Reading symbols from /usr/local/lib/nss_ldap.so.1...done.
 Loaded symbols for /usr/local/lib/nss_ldap.so.1
 Reading symbols from /usr/local/lib/libldap-2.4.so.8...done.
 Loaded symbols for /usr/local/lib/libldap-2.4.so.8
 Reading symbols from /usr/local/lib/liblber-2.4.so.8...done.
 Loaded symbols for /usr/local/lib/liblber-2.4.so.8
 Reading symbols from /usr/local/lib/libsasl2.so.2...done.
 Loaded symbols for /usr/local/lib/libsasl2.so.2
 Reading symbols from /usr/lib/libkrb5.so.10...done.
 Loaded symbols for /usr/lib/libkrb5.so.10
 Reading symbols from /usr/lib/libcom_err.so.5...done.
 Loaded symbols for /usr/lib/libcom_err.so.5
 Reading symbols from /usr/lib/libgssapi_krb5.so.10...done.
 Loaded symbols for /usr/lib/libgssapi_krb5.so.10
 Reading symbols from /usr/lib/libfetch.so.6...done.
 Loaded symbols for /usr/lib/libfetch.so.6
 Reading symbols from /usr/local/lib/libssl.so.7...done.
 Loaded symbols for /usr/local/lib/libssl.so.7
 Reading symbols from /usr/local/lib/libcrypto.so.7...done.
 Loaded symbols for /usr/local/lib/libcrypto.so.7
 Reading symbols from /usr/lib/libgssapi.so.10...done.
 Loaded symbols for /usr/lib/libgssapi.so.10
 Reading symbols from /usr/lib/libhx509.so.10...done.
 Loaded symbols for /usr/lib/libhx509.so.10
 Reading symbols from /lib/libcrypto.so.6...done.
 Loaded symbols for /lib/libcrypto.so.6
 Reading symbols from /usr/lib/libroken.so.10...done.
 Loaded symbols for /usr/lib/libroken.so.10
 Reading symbols from /usr/lib/libasn1.so.10...done.
 Loaded symbols for /usr/lib/libasn1.so.10
 Reading symbols from /usr/lib/libssl.so.6...done.
 Loaded symbols for /usr/lib/libssl.so.6
 Reading symbols from /lib/libmd.so.5...done.
 Loaded symbols for /lib/libmd.so.5
 Reading symbols from 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Net/SSLeay/SSLeay.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Net/SSLeay/SSLeay.so
 Reading symbols from /lib/libz.so.5...done.
 Loaded symbols for /lib/libz.so.5
 Reading symbols from 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Socket6/Socket6.so...done.
 Loaded symbols for 
 /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Socket6/Socket6.so
 Reading symbols from /libexec/ld-elf.so.1...done.
 Loaded symbols for /libexec/ld-elf.so.1
 #0  0x000000080352e7b0 in EVP_MD_CTX_md () from /lib/libcrypto.so.6
 (gdb)
 (gdb)
 (gdb) bt
 #0  0x000000080352e7b0 in EVP_MD_CTX_md () from /lib/libcrypto.so.6
 #1  0x0000000802e31dfc in tls1_enc () from /usr/local/lib/libssl.so.7
 #2  0x0000000802e2a6b5 in do_ssl3_write () from 
 /usr/local/lib/libssl.so.7
 #3  0x0000000802e2ab14 in ssl3_write_bytes () from 
 /usr/local/lib/libssl.so.7
 #4  0x0000000802e2ce9d in ssl3_do_write () from 
 /usr/local/lib/libssl.so.7
 #5  0x0000000802e26fcc in ssl3_connect () from 
 /usr/local/lib/libssl.so.7
 #6  0x0000000803bfbee8 in XS_Net__SSLeay_connect (cv=Variable "cv" is 
 not available.
 ) at SSLeay.c:1274
 #7  0x00000008007acd02 in Perl_pp_entersub () at pp_hot.c:2888
 #8  0x00000008007583fc in Perl_runops_debug () at dump.c:1968
 #9  0x00000008006a4b68 in S_run_body (oldscope=1) at perl.c:2431
 #10 0x00000008006a3f30 in perl_run (my_perl=0x801204104) at perl.c:2349
 #11 0x0000000000400bf4 in main (argc=5, argv=0x7fffffffea78, 
 env=0x7fffffffeaa8)
     at perlmain.c:117
 (gdb) q
 #

 Desde já agradeço.

 ---
 José Raimundo da S. Barbosa




Mais detalhes sobre a lista de discussão freebsd