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