URL: <http://savannah.cern.ch/bugs/?98451> Summary: Reading GSI private key occasionally dumps core (xrdgsiproxy) Project: XROOTD Submitted by: jsalmon Submitted on: 2012-10-25 13:40 Severity: 3 - Normal Priority: 5 - Normal Status: None Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Fixed by commit(s): _______________________________________________________ Details: I'm using the latest RPMs (SLC6) from the master branch. Running the command: xrdgsiproxy init -debug -cert /etc/grid-security/xrd/xrdcert.pem -key /etc/grid-security/xrd/xrdkey.pem occasionally segfaults (maybe 20-30% of the time) like this: 121025 15:11:51 1677 crypto_Factory::GetCryptoFactory: loading ssl crypto factory object from libXrdCrypto.so 121025 15:11:51 1677 crypto_Factory::GetCryptoFactory: loading ssl crypto factory object from libXrdCryptossl.so 121025 15:11:51 1677 sut_Rndm::GetBuffer: enter: len: 32 121025 15:11:51 1677 sut_Rndm::Init: taking seed from /dev/urandom 121025 15:11:51 1677 crypto_X509CreateProxy: EEC certificate loaded from file: /etc/grid-security/xrd/xrdcert.pem 121025 15:11:51 1677 cryptossl_ASN1toUTC: UTC: 1382703101 isdst: 1 121025 15:11:51 1677 crypto_X509CreateProxy: Your identity: [log in to unmask] /bin/sh: line 29: 1677 Segmentation fault (core dumped) xrdgsiproxy init -debug -cert /etc/grid-security/xrd/xrdcert.pem -key /etc/grid-security/xrd/xrdkey.pem Here's the stacktrace from the core dump: Core was generated by `xrdgsiproxy init -debug -cert /etc/grid-security/xrd/xrdcert.pem -key /etc/grid'. Program terminated with signal 11, Segmentation fault. #0 0x00007f78ebceb234 in RSA_free () from /usr/lib64/libcrypto.so.10 #0 0x00007f78ebceb234 in RSA_free () from /usr/lib64/libcrypto.so.10 #1 0x00007f78ebd1042b in ?? () from /usr/lib64/libcrypto.so.10 #2 0x00007f78ebd106cd in ?? () from /usr/lib64/libcrypto.so.10 #3 0x00007f78ebd107f9 in EVP_PKEY_assign () from /usr/lib64/libcrypto.so.10 #4 0x00007f78ebcee073 in ?? () from /usr/lib64/libcrypto.so.10 #5 0x00007f78ebd20282 in d2i_PrivateKey () from /usr/lib64/libcrypto.so.10 #6 0x00007f78ebd35380 in PEM_read_bio_PrivateKey () from /usr/lib64/libcrypto.so.10 #7 0x00007f78ebd354a1 in PEM_read_PrivateKey () from /usr/lib64/libcrypto.so.10 #8 0x00007f78ed43f192 in XrdSslgsiX509CreateProxy (fnc=, fnk=0xabd040 "/etc/grid-security/xrd/xrdkey.pem", pxopt=, xp=0xadb850, kp=0x7fff9c6a2f28, fnp=0xabc1f0 "/tmp/x509up_u0") at /usr/src/debug/xrootd/xrootd/src/XrdCrypto/XrdCryptosslgsiAux.cc:543 #9 0x000000000040522e in main (argc=, argv=) at /usr/src/debug/xrootd/xrootd/src/XrdSecgsi/XrdSecgsiProxy.cc:178 I also get the same thing occasionally when starting xrootd. I have another stack trace for that, but I didn't have the debuginfo package installed at that time: Core was generated by `/usr/bin/xrootd -l /var/log/xrootd/xrootd.log -c /etc/xrootd/xrd_cluster_005_gs'. Program terminated with signal 11, Segmentation fault. #0 0x00007f0c8a61c234 in RSA_free () from /usr/lib64/libcrypto.so.10 #0 0x00007f0c8a61c234 in RSA_free () from /usr/lib64/libcrypto.so.10 #1 0x00007f0c8a64142b in ?? () from /usr/lib64/libcrypto.so.10 #2 0x00007f0c8a6416cd in ?? () from /usr/lib64/libcrypto.so.10 #3 0x00007f0c8a6417f9 in EVP_PKEY_assign () from /usr/lib64/libcrypto.so.10 #4 0x00007f0c8a61f073 in ?? () from /usr/lib64/libcrypto.so.10 #5 0x00007f0c8a651282 in d2i_PrivateKey () from /usr/lib64/libcrypto.so.10 #6 0x00007f0c8a666380 in PEM_read_bio_PrivateKey () from /usr/lib64/libcrypto.so.10 #7 0x00007f0c8a6664a1 in PEM_read_PrivateKey () from /usr/lib64/libcrypto.so.10 #8 0x00007f0c8ada275b in XrdCryptosslX509::XrdCryptosslX509(char const*, char const*) () from /usr/lib64/libXrdCryptossl.so.1 #9 0x00007f0c8ad9dd54 in XrdCryptosslFactory::X509(char const*, char const*) () from /usr/lib64/libXrdCryptossl.so.1 #10 0x00007f0c8afc84a9 in XrdSecProtocolgsi::GetSrvCertEnt(XrdCryptoFactory*, long, XrdOucString&) () from /usr/lib64/libXrdSecgsi.so #11 0x00007f0c8afce8ad in XrdSecProtocolgsi::Init(gsiOptions, XrdOucErrInfo*) () from /usr/lib64/libXrdSecgsi.so #12 0x00007f0c8afd16e7 in XrdSecProtocolgsiInit () from /usr/lib64/libXrdSecgsi.so #13 0x00007f0c8b1e04e1 in XrdSecPManager::ldPO(XrdOucErrInfo*, char, char const*, char const*, char const*) () from /usr/lib64/libXrdSec.so #14 0x00007f0c8b1e1b62 in XrdSecServer::xprot(XrdOucStream&, XrdSysError&) () from /usr/lib64/libXrdSec.so #15 0x00007f0c8b1e2bab in XrdSecServer::ConfigFile(char const*) () from /usr/lib64/libXrdSec.so #16 0x00007f0c8b1e2e59 in XrdSecServer::Configure(char const*) () from /usr/lib64/libXrdSec.so #17 0x00007f0c8b1e2eec in XrdSecgetService () from /usr/lib64/libXrdSec.so #18 0x0000000000417202 in XrdXrootdloadSecurity(XrdSysError*, char*, char*, void**) () #19 0x0000000000413856 in XrdXrootdProtocol::Configure(char*, XrdProtocol_Config*) () #20 0x000000000041c1cd in XrdgetProtocol () #21 0x00007f0c8d4ae38f in XrdProtLoad::Load(char const*, char const*, char*, XrdProtocol_Config*) () from /usr/lib64/libXrdUtils.so.1 #22 0x00007f0c8d8fa6a6 in XrdConfig::Setup(char*) () from /usr/lib64/libXrdMain.so.1 #23 0x00007f0c8d8fb0ea in XrdConfig::Configure(int, char**) () from /usr/lib64/libXrdMain.so.1 #24 0x00007f0c8d8fba4d in main () from /usr/lib64/libXrdMain.so.1 #25 0x00007f0c8c315cdd in __libc_start_main () from /lib64/libc.so.6 #26 0x000000000040d249 in _start () Both failures seem to happen in libcrypto, so I guess they are related. _______________________________________________________ Reply to this item at: <http://savannah.cern.ch/bugs/?98451> _______________________________________________ Message sent via/by LCG Savannah http://savannah.cern.ch/ ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1