sorry i forgot the full
content. of the message. the first attemt failed due a too big
attachment
i can help you more. because i found the deadlocking function.
its setresuid which hangs forever. (i know that you submitted a
patch recently which is related to that function, but i dont know
if this will help here)
debugging is more complicated with gdb here. its a embedded system
without any remote debugging support
its exact the same problem which is described here, but without
any further solution or problem cause
http://freeradius.1045715.n5.nabble.com/Hack-way-to-compile-freeradius-causing-freeradius-to-hang-under-multithread-mode-td2794760.html
distribution is simply dd-wrt (router os). so maybe hard for you
to work with.
i can provide you the full configs used which can be directly
executed using radiusd -d /directory to config
the full configure line for freeradius, just taken out of my
buildsystem (you likelly need to adjust some paths)
cd freeradius && \
sys_lib_dlsearch_path_spec="mips-uclibc" \
sys_lib_search_path_spec="mips-uclibc" \
MYSQL_CONFIG="no" \
ac_cv_lib_readline=no \
ac_cv_lib_ssl_SSL_new=yes \
ac_cv_lib_crypto_DH_new=yes \
ac_cv_func_strncasecmp=yes \
ac_cv_func_strcasecmp=yes \
ac_cv_lib_crypt_crypt=yes \
ac_cv_func_gettimeofday=yes \
ac_cv_func_getnameinfo=yes \
ac_cv_func_getaddrinfo=yes \
ac_cv_func_setlinebuf=yes \
ac_cv_host=mips-uclibc-linux \
./configure --target=mips-linux --host=mips CFLAGS="-Os -pipe
-mips32r2 -mtune=mips32r2 -msoft-float -fno-caller-saves
-mno-branch-likely -minterlink-mips16 -mips16
-I/home/seg/DEV/pb42/src/router/openssl/include " LDFLAGS="-Os
-pipe -mips32r2 -mtune=mips32r2 -msoft-float -fno-caller-saves
-mno-branch-likely -minterlink-mips16 -mips16
-L/home/seg/DEV/pb42/src/router/openssl" --enable-shared \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--with-raddbdir=/etc/freeradius2 \
--with-radacctdir=/var/db/radacct \
--with-logdir=/var/log \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--enable-shared \
--disable-static \
--disable-developer \
--with-threads \
--with-ltdl-include="
/home/seg/DEV/pb42/src/router/freeradius/libltdl/.libs" \
--with-ltdl-lib="/home/seg/DEV/pb42/src/router/freeradius/libltdl"
\
--with-openssl-includes="/home/seg/DEV/pb42/src/router/openssl/include"
\
--with-openssl-libraries="/home/seg/DEV/pb42/src/router/openssl" \
--enable-strict-dependencies \
--with-raddbdir=/etc/freeradius \
--without-edir \
--without-snmp \
--with-experimental-modules \
--without-rlm_attr-rewrite \
--without-rlm_checkval \
--without-rlm_counter \
--without-rlm_dbm \
--without-rlm_ldap \
--without-edir \
--without-snmp \
--with-rlm_expr \
--with-rlm_eap \
--without-rlm_eap_sim \
--without-rlm_example \
--without-rlm_ippool \
--without-rlm_krb5 \
--without-rlm_pam \
--without-rlm_perl \
--without-rlm_python \
--without-rlm_smb \
--with-rlm_sql \
--with-rlm_sqlcounter \
--without-rlm_sql_db2 \
--without-rlm_sql_freetds \
--without-rlm_sql_iodbc \
--without-rlm_sql_oracle \
--without-rlm_sql_sybase \
--without-rlm_sql_unixodbc \
--without-rlm_x99-token \
--without-rlm_eap_ikev2 \
--without-rlm_eap_tnc \
--without-rlm_opendirectory \
--without-rlm_wimax \
--with-rlm_eap_peap \
--with-rlm_eap_tls \
--with-rlm_eap_ttls \
--with-rlm_expiration \
--with-rlm_logintime \
--with-rlm_attr-rewrite \
--without-rlm_otp \
--without-rlm_smsotp \
--without-rlm_sqlhpwippool \
--without-rlm_sqlippool \
--without-rlm_sql_db2 \
--without-rlm_sql_firebird \
--without-rlm_sql_freetds \
--without-rlm_sql_iodbc \
--without-rlm_sql_oracle \
--without-rlm_sql_sybase \
--without-rlm_sql_unixodbc \
--without-rlm_sql_log \
--without-rlm_sql_sqlite \
--without-rlm_caching \
--without-rlm_redis \
--without-rlm_rediswho \
--without-rlm_eap_tnc \
--without-rlm_eap_ikev2 \
--without-rlm_opendirectory \
--without-rlm_wimax \
--without-rlm_ruby \
--without-rlm_sql_mysql \
--without-rlm_sql_postgresql
c
Am 16.01.2015 um 00:42 schrieb Rich Felker:
On Thu, Jan 15,
2015 at 06:10:37PM -0500, Rich Felker wrote:
On Thu, Jan 15,
2015 at 11:52:36PM +0100, Sebastian Gottschall wrote:
following test
case
configure freeradius with --with-threads (which is on by
default)
if you start radiusd with your radius configuration you will
see
that radius does not listen on any ports. it will hang in
the
listener thread which creates the socket.
if you configure it as --without-threads, it works
tested with musl 1.1.6 on a mips (big endian) system using
kernel 3.10
Thanks for the report. I'm not terribly familiar with
freeradius. Can
you tell where it's hung, e.g. get a backtrace in gdb, and
possibly
strace -f leading up to the hang?
Short of that, a minimal procedure to reproduce the bug (build
configuration, runtime config files, which distro (if any)
you're
using, and anything else needed in the environment, etc.) would
be
helpful.
Rich