Hi Aki,
Thanks for your response. Indeed, I don't know why the first 2 lines don't have debugging symbols, as my build of dovecot definitely has them. Any hints on how I can get them?
$ file /usr/local/libexec/dovecot/auth /usr/local/libexec/dovecot/auth: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 12.0 (1200054), FreeBSD-style, with debug_info, not stripped
Regardless, it is not really necessary, as I was able to determine from /var/log/debug.log and aslo by attaching gdb to the running "auth -w" process that this all occurred during the pam_authenticate step in src/auth/passdb-pam.c (as per my DIAGNOSIS section in the previous email): https://github.com/dovecot/core/blob/2.2.33.2/src/auth/passdb-pam.c#L158
Regards, Ben
-- From: Benjamin Woods woodsb02@gmail.com
On 13 February 2018 at 00:44, Aki Tuomi <aki.tuomi@dovecot.fi> wrote:
Hi!
Can you attempt to get core dump with debugging symbols with dovecot too? Currently it seems to only contain symbols from kerberos bit, which is not very useful on it's own.
Aki
On 12 February 2018 at 17:34 Ben Woods <woodsb02@gmail.com> wrote: GDB BACKTRACE OF COREDUMP: $ gdb /usr/local/libexec/dovecot/auth GNU gdb (GDB) 8.0.1 [GDB v8.0.1 for FreeBSD] Copyright (C) 2017 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-portbld-freebsd12.0". 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/local/libexec/dovecot/auth...done. (gdb) core /tmp/auth.core [New LWP 102627] warning: Can't read pathname for load map: Unknown error: -1. warning: Can't read pathname for load map: Unknown error: -1. warning: Can't read pathname for load map: Unknown error: -1. warning: Can't read pathname for load map: Unknown error: -1. Core was generated by `dovecot/auth -w'. Program terminated with signal SIGSEGV, Segmentation fault. #0 strlen (str=0x0) at /usr/src/lib/libc/string/strlen.c:100 warning: Source file is more recent than executable. 100 */ (gdb) bt #0 strlen (str=0x0) at /usr/src/lib/libc/string/strlen.c:100 #1 0x0000000012130022 in strdup (str=0x0) at /usr/src/lib/libc/string/strdup.c:46 #2 0x0000000011b65e9d in krb5_appdefault_string (context=0x10777000, appname=0x106f0018 "imap", realm=0x0, option=0x13b1f403 "ticket_lifetime", default_value=0x0, ret_value=0x7fffffffe088) at appdefault.c:165 #3 0x0000000013af4a80 in krb5_appdefault_time (context=0x0, appname=0xffffffffaaca6003 <error: Cannot access memory at address 0xffffffffaaca6003>, realm=0x50 <error: Cannot access memory at address 0x50>, option=0x0, def_val=0, ret_val=0x7fffffffe0e0) at /usr/src/crypto/heimdal/lib/krb5/appdefault.c:130 #4 0x0000000013ae3e79 in krb5_get_init_creds_opt_set_default_flags (context=0x10777000, appname=0x106f0018 "imap", realm=0x0, opt=0x1070f3c0) at /usr/src/crypto/heimdal/lib/krb5/init_creds.c:171 #5 0x00000000138b738f in ?? () #6 0x0000000000000000 in ?? ()