|
Message-ID: <54B85738.1040503@dd-wrt.com>
Date: Fri, 16 Jan 2015 01:11:36 +0100
From: Sebastian Gottschall <s.gottschall@...wrt.com>
To: musl@...ts.openwall.com
Subject: Re: pthreads broken (freeradius testcase)
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
>
Content of type "text/html" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.