Hello,

the message below does not show the full backtrace at the very last
moment.  One way to create it is to produce a core dump and then open
with gdb the saslauthd executable, the coredump and call "thread apply
all bt f".

More usefull could be to run the process under valgrind/memchech, after
compiling it debug information.

Otherwise it is evident, that the process terminates unexpectedly, but
it is unclear why and where.

Regards
  Дилян

On Mon, 2018-12-10 at 11:46 -0800, jan parcel wrote:
> We have seen severe mutex issues with sasl_client init on super-fast 
> machines.    We temporarily solved it by patching openldap to ensure it never 
> calls sasl_client_init more than once,  but when I get out from under my 
> current non-cyrus-sasl load, I had planned to test and submit changes to 
> sasl_*_init to use a static mutext that is pre-initialized, which is what I 
> found online as the solution for LIBRARY issues with passed in or even local 
> mutexts.
> 
> The issue is that the mutex needs a mutex, which needs a mutex, and it's 
> turtles all the way down unless a static mutex is used at that top level.
> 
> For some reason I have not understood, I've been told to not even THINK of 
> doing anything like that to the mutexes used in gssapi.
> 
> 
> On 12/10/2018 7:53 AM, Alexander Sagen wrote:
> > Trying to set up a temporary shared email server to replace an old server 
> > with a dying disk while we move all our customers to a new email solution. 
> > Configured saslauthd the same way it was configured on the old server.
> > Somehow, during the authentication process, saslauthd manages to segfault, 
> > seemingly due to a mutex lock issue.
> > Installed latest sasl2-bin (version 2.1.27) from APT (source: 
> > http://eu-central-1.ec2.archive.ubuntu.com/ubuntu bionic/main amd64 
> > Packages).
> > Running linux kernel 4.15.0-1021-aws.
> > gdb output during crash:
> > root@mail1:~# gdb --args /usr/sbin/saslauthd -a pam -c -m 
> > /var/spool/postfix/var/run/saslauthd -r -n 0 -d
> > GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
> > Copyright (C) 2018 Free Software Foundation, Inc.
> > License GPLv3+: GNU GPL version 3 or later 
> > <http://gnu.org/licenses/gpl.html>
> > This is free software: you are free to change and redistribute it.
> > There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
> > and "show warranty" for details.
> > This GDB was configured as "x86_64-linux-gnu".
> > Type "show configuration" for configuration details.
> > For bug reporting instructions, please see:
> > <http://www.gnu.org/software/gdb/bugs/>;.
> > Find the GDB manual and other documentation resources online at:
> > <http://www.gnu.org/software/gdb/documentation/>;.
> > For help, type "help".
> > Type "apropos word" to search for commands related to "word"...
> > Reading symbols from /usr/sbin/saslauthd...(no debugging symbols 
> > found)...done.
> > (gdb) run
> > Starting program: /usr/sbin/saslauthd -a pam -c -m 
> > /var/spool/postfix/var/run/saslauthd -r -n 0 -d
> > [Thread debugging using libthread_db enabled]
> > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> > saslauthd[4767] :num_procs  : 0
> > saslauthd[4767] :mech_option: NULL
> > saslauthd[4767] :run_path   : /var/spool/postfix/var/run/saslauthd
> > saslauthd[4767] :auth_mech  : pam
> > saslauthd[4767] :mmaped shared memory segment on file: 
> > /var/spool/postfix/var/run/saslauthd/cache.mmap
> > saslauthd[4767] :bucket size: 96 bytes
> > saslauthd[4767] :stats size : 36 bytes
> > saslauthd[4767] :timeout    : 28800 seconds
> > saslauthd[4767] :cache table: 985828 total bytes
> > saslauthd[4767] :cache table: 1711 slots
> > saslauthd[4767] :cache table: 10266 buckets
> > saslauthd[4767] :flock file opened at 
> > /var/spool/postfix/var/run/saslauthd/cache.flock
> > saslauthd[4767] :master pid is: 0
> > saslauthd[4767] :listening on socket: 
> > /var/spool/postfix/var/run/saslauthd/mux
> > saslauthd[4767] :attempting a read lock on slot: 1501
> > saslauthd[4767] :[login=someu...@example.com] [service=smtp] 
> > [realm=example.com]: not found, update pending
> > saslauthd[4767] :attempting to release lock on slot: 1501
> > 
> > Program received signal SIGSEGV, Segmentation fault.
> > __GI___pthread_mutex_lock (mutex=0x20) at ../nptl/pthread_mutex_lock.c:65
> > 65      ../nptl/pthread_mutex_lock.c: No such file or directory.
> > (gdb)
> > saslauthd configuration:
> > START=yes
> > DESC="SASL Authentication Daemon"
> > NAME="saslauthd"
> > MECHANISMS="pam"
> > MECH_OPTIONS=""
> > THREADS=0
> > OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
> > —
> > You are receiving this because you are subscribed to this thread.
> > Reply to this email directly, view it on GitHub, or mute the thread.
>  

Reply via email to