Shibboleth SP 2.5.1 and CentOS 5.8 x64

Dan McLaughlin dmclaughlin at tech-consortium.com
Tue Jan 8 12:28:38 EST 2013


Has anyone tried running SP 2.5.1 on CentOS 5.8 x64 yet?    The SP
accepts the SAML2 Post and then dies with a Segmentation Fault when it
tries to store the attributes for the new session.   See strace log
below…

25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: New session (ID:
_e3fc5c58d09d21f02f36746b6c490b5e) with (applicationId: default) for
principal from (IdP: https://host.domain.local/idp/shibboleth) at
(ClientAddress: 192.168.0.10) with (NameIdentifier:
_ee9f0c502f14228ac35c6d4496c54901) using (Protocol:
urn:oasis:names:tc:SAML:2.0:protocol) from (AssertionID:
_f4d3dfdf8f3b14624097e039c78b320e)\n", 427) = 427
25958 10:09:41 lseek(6, 0, SEEK_END)    = 1642
25958 10:09:41 gettimeofday({1357661381, 417808}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: Cached the following attributes with
session (ID: _e3fc5c58d09d21f02f36746b6c490b5e) for (applicationId:
default) {\n", 169) = 169
25958 10:09:41 lseek(6, 0, SEEK_END)    = 1811
25958 10:09:41 gettimeofday({1357661381, 418247}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: \tmy_idp_user_id (1 values)\n", 83) = 83
25958 10:09:41 lseek(6, 0, SEEK_END)    = 1894
25958 10:09:41 gettimeofday({1357661381, 418649}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: \tmy_email (1 values)\n", 77) = 77
25958 10:09:41 lseek(6, 0, SEEK_END)    = 1971
25958 10:09:41 gettimeofday({1357661381, 419048}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: \tmy_guid (1 values)\n", 76) = 76
25958 10:09:41 lseek(6, 0, SEEK_END)    = 2047
25958 10:09:41 gettimeofday({1357661381, 419446}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: \tmy_last_name (1 values)\n", 81) = 81
25958 10:09:41 lseek(6, 0, SEEK_END)    = 2128
25958 10:09:41 gettimeofday({1357661381, 419849}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: \tmy_first_name (1 values)\n", 82) = 82
25958 10:09:41 lseek(6, 0, SEEK_END)    = 2210
25958 10:09:41 gettimeofday({1357661381, 420260}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: \tmy_static_attr (1 values)\n", 84) = 84
25958 10:09:41 lseek(6, 0, SEEK_END)    = 2294
25958 10:09:41 gettimeofday({1357661381, 420662}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: \tsmy_org_id (1 values)\n", 81) = 81
25958 10:09:41 lseek(6, 0, SEEK_END)    = 2375
25958 10:09:41 gettimeofday({1357661381, 421061}, NULL) = 0
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 write(6, "2013-01-08 10:09:41 INFO
Shibboleth-TRANSACTION [1]: }\n", 55) = 55
25958 10:09:41 lseek(6, 0, SEEK_END)    = 2430
25958 10:09:41 time(NULL)               = 1357661381
25958 10:09:41 stat("/etc/localtime", {st_dev=makedev(202, 1),
st_ino=655595, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0,
st_blksize=4096, st_blocks=8, st_size=3543,
st_atime=2012/08/19-07:04:50, st_mtime=2013/01/06-19:44:09,
st_ctime=2013/01/06-19:44:09}) = 0
25958 10:09:41 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
25782 10:09:41 +++ killed by SIGSEGV +++
25781 10:09:41 +++ killed by SIGSEGV +++
25780 10:09:41 +++ killed by SIGSEGV +++
25779 10:09:41 +++ killed by SIGSEGV +++
25959 10:09:41 +++ killed by SIGSEGV +++
25778 10:09:41 +++ killed by SIGSEGV +++
25777 10:09:41 +++ killed by SIGSEGV +++

We build from source and I'm using the same steps we've used for years
to build SP 2.4.x.  SELinux is disabled.  I've tried building Xerces-C
with & without --enable-netaccessor-socket.  I've tried with & without
XERCESCROOT & ICUROOT set.  Everything is built from source downloads,
with the exception of zlib, which we have always just pointed to the
version installed from the default yum repos for CentOS.

Our kernel version is "2.6.18-238.el5xen" the versions of the
dependencies we are building with and the build commands are listed
below.

ZLIB_VERSION=1.2.3
OPENSSL_VERSION=0.9.8x
LOG4SHIB_VERSION=1.0.5
XERCES_C_VERSION=3.1.1
XML_SECURITY_C_VERSION=1.7.0
CURL_VERSION=7.28.1
OPENSAML_VERSION=2.5.1
XMLTOOLING_VERSION=1.5.2
SHIBBOLETH_SP_VERSION=2.5.1

export JAVA_HOME=${INSTALL_BASE}/tomcat/java
export CATALINA_HOME=${INSTALL_BASE}/tomcat
export PATH=${ANT_HOME}/bin:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${PATH}
export LD_LIBRARY_PATH=${INSTALL_BASE}/shibboleth-sp/lib:${INSTALL_BASE}/apache2/lib:${CATALINA_HOME}/lib:${LD_LIBRARY_PATH}
#export XERCESCROOT=${BUILD_DIR}/xerces-c-${XERCES_C_VERSION}
#export ICUROOT=${INSTALL_BASE}/apache2

tar -xvzf openssl-${OPENSSL_VERSION}.tar.gz
 cd openssl-${OPENSSL_VERSION}
 ./config \
 --prefix=${INSTALL_BASE}/shibboleth-sp threads shared
 make
 make install
 cd ..

tar -xvzf log4shib-${LOG4SHIB_VERSION}.tar.gz
 cd log4shib-${LOG4SHIB_VERSION}
 ./configure \
 --disable-static \
 --disable-doxygen \
 --prefix=${INSTALL_BASE}/shibboleth-sp
 make
 make install
 cd ..


tar -xvzf xerces-c-${XERCES_C_VERSION}.tar.gz
 cd xerces-c-${XERCES_C_VERSION}
 ./configure \
  --disable-netaccessor-curl \
  --prefix ${INSTALL_BASE}/shibboleth-sp
 make
 make install
 cd ..

tar -xvzf xml-security-c-${XML_SECURITY_C_VERSION}.tar.gz
 cd xml-security-c-${XML_SECURITY_C_VERSION}
 ./configure \
 --without-xalan \
 --with-xerces=${INSTALL_BASE}/shibboleth-sp \
 --with-openssl=${INSTALL_BASE}/shibboleth-sp \
 --disable-static \
 --prefix=${INSTALL_BASE}/shibboleth-sp
 make
 make install
 cd ..

tar -xvzf curl-${CURL_VERSION}.tar.gz
 cd curl-${CURL_VERSION}
 ./configure \
 --disable-static \
 --enable-thread \
 --without-ca-bundle \
 --prefix=${INSTALL_BASE}/shibboleth-sp
 make
 make install
 cd ..

tar -xvzf xmltooling-${XMLTOOLING_VERSION}.tar.gz
 cd xmltooling-${XMLTOOLING_VERSION}
 ./configure \
 --with-log4shib=${INSTALL_BASE}/shibboleth-sp \
 --with-xerces=${INSTALL_BASE}/shibboleth-sp \
 --with-openssl=${INSTALL_BASE}/shibboleth-sp \
 --with-curl=${INSTALL_BASE}/shibboleth-sp \
 --prefix=${INSTALL_BASE}/shibboleth-sp -C
 make
 make install
 cd ..

tar -xvzf opensaml-${OPENSAML_VERSION}.tar.gz
 cd opensaml-${OPENSAML_VERSION}
 ./configure \
 --with-log4shib=${INSTALL_BASE}/shibboleth-sp \
 --with-xerces=${INSTALL_BASE}/shibboleth-sp \
 --with-xmlsec=${INSTALL_BASE}/shibboleth-sp \
 --with-xmltooling=${INSTALL_BASE}/shibboleth-sp \
 --with-openssl=${INSTALL_BASE}/shibboleth-sp \
 --prefix=${INSTALL_BASE}/shibboleth-sp -C
 make
 make install
 cd ..

tar -xvzf shibboleth-sp-${SHIBBOLETH_SP_VERSION}.tar.gz
 cd shibboleth-sp-${SHIBBOLETH_SP_VERSION}
 ./configure \
 --with-log4shib=${INSTALL_BASE}/shibboleth-sp \
 --with-xerces=${INSTALL_BASE}/shibboleth-sp \
 --with-xmlsec=${INSTALL_BASE}/shibboleth-sp \
 --with-xmltooling=${INSTALL_BASE}/shibboleth-sp \
 --with-openssl=${INSTALL_BASE}/shibboleth-sp \
 --with-apr=${INSTALL_BASE}/apache2 \
 --enable-apache-22 \
 --with-apxs22=${INSTALL_BASE}/apache2/bin/apxs \
 --prefix=${INSTALL_BASE}/shibboleth-sp
 make
 make install
 cd ..

I'm about to try using the SRPM's to see if I have the same problem.
Any other ideas with be appreciated.

--

Thanks,

Dan


More information about the users mailing list