Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#918088: autofs-ldap: automount dies with SIGABRT after libkrb5-3 upgrade - "(k5_mutex_lock: Assertion `r == 0' failed.)"

58 views
Skip to first unread message

Andreas Maus

unread,
Jan 3, 2019, 2:20:03 AM1/3/19
to
Package: autofs-ldap
Version: 5.1.2-4
Severity: grave
Justification: renders package unusable

Good morning.

After the latest upgrade of libkrb5-3 (1.16.1-1 -> 1.16.2-1) automount
starts but dies immediately after accessing a automounter point.

Automount is configured to authenticate via GSSAPI using system keytab.
After the GSSAPI authentication succeeded, any access to a configure
automount entry causes automount to die with an assertion failure
(followed by an abort()):

root@dagon:~# /usr/sbin/automount -d -f
Starting automounter version 5.1.2, master map /etc/auto.master
using kernel protocol version 5.03
lookup_nss_read_master: reading master file /etc/auto.master
do_init: parse(sun): init gathered global options: (null)
lookup_read_master: lookup(file): read entry /home
master_do_mount: mounting /home
automount_path_to_fifo: fifo name /var/run/autofs.fifo-home
lookup_nss_read_map: reading map ldap ldap:automountmapname=auto.home,cn=badphish,cn=automount,dc=badphish,dc=ypbind,dc=de
parse_server_string: lookup(ldap): Attempting to parse LDAP information from string "ldap:automountmapname=auto.home,cn=badphish,cn=automount,dc=badphish,dc=ypbind,dc=de".
parse_server_string: lookup(ldap): server "(default)", base dn "automountmapname=auto.home,cn=badphish,cn=automount,dc=badphish,dc=ypbind,dc=de"
parse_ldap_config: lookup(ldap): ldap authentication configured with the following options:
parse_ldap_config: lookup(ldap): use_tls: 1, tls_required: 0, auth_required: 2, sasl_mech: GSSAPI
parse_ldap_config: lookup(ldap): user: (null), secret: unspecified, client principal: host/dagon.badphi...@BADPHISH.YPBIND.DE credential cache: (null)
do_init: parse(sun): init gathered global options: rw,hard,intr,nosuid
find_server: trying server uri ldap://ipa-1.badphish.ypbind.de
do_bind: lookup(ldap): auth_required: 2, sasl_mech GSSAPI
sasl_do_kinit: initializing kerberos ticket: client principal host/dagon.badphi...@BADPHISH.YPBIND.DE
sasl_do_kinit: calling krb5_parse_name on client principal host/dagon.badphi...@BADPHISH.YPBIND.DE
sasl_do_kinit: Using tgs name krbtgt/BADPHISH....@BADPHISH.YPBIND.DE
sasl_do_kinit: Kerberos authentication was successful!
sasl_bind_mech: Attempting sasl bind with mechanism GSSAPI
sasl_log_func: GSSAPI client step 1
getuser_func: called with context (nil), id 16385.
sasl_log_func: GSSAPI client step 1
getuser_func: called with context (nil), id 16385.
sasl_log_func: GSSAPI client step 2
sasl_bind_mech: sasl bind with mechanism GSSAPI succeeded
do_bind: lookup(ldap): autofs_sasl_bind returned 0
get_query_dn: lookup(ldap): found query dn automountmapname=auto.home,cn=badphish,cn=automount,dc=badphish,dc=ypbind,dc=de
connected to uri ldap://ipa-1.badphish.ypbind.de
read_one_map: lookup(ldap): searching for "(objectclass=automount)" under "automountmapname=auto.home,cn=badphish,cn=automount,dc=badphish,dc=ypbind,dc=de"
do_get_entries: lookup(ldap): examining entries
do_get_entries: lookup(ldap): failed to get next entry for query (objectclass=automount)
read_one_map: lookup(ldap): done updating map
remount_active_mount: trying to re-connect to mount /home
mounted indirect on /home with timeout 300, freq 75 seconds
remount_active_mount: re-connected to mount /home
st_ready: st_ready(): state = 0 path /home
ghosting enabled
handle_packet: type = 3
handle_packet_missing_indirect: token 3, name maus, request pid 6541
attempting to mount entry /home/maus
lookup_mount: lookup(ldap): looking up maus
do_bind: lookup(ldap): auth_required: 2, sasl_mech GSSAPI
sasl_bind_mech: Attempting sasl bind with mechanism GSSAPI
sasl_log_func: GSSAPI client step 1
getuser_func: called with context (nil), id 16385.
k5_mutex_lock: Received error 22 (Invalid argument)
automount: ../../../../src/include/k5-thread.h:376: k5_mutex_lock: Assertion `r == 0' failed.
Aborted (core dumped)

Backtrace of the core dump:

root@dagon:~# gdb /usr/sbin/automount /core
GNU gdb (Debian 8.2-1) 8.2
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/automount...(no debugging symbols found)...done.
[New LWP 6542]
[New LWP 6521]
[New LWP 6522]
[New LWP 6523]
[New LWP 6526]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/automount -d -f'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f80f0a69700 (LWP 6542))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f80f4863535 in __GI_abort () at abort.c:79
#2 0x00007f80f486340f in __assert_fail_base (fmt=0x7f80f49c5ee8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f80f18e7029 "r == 0", file=0x7f80f18e6f58 "../../../../src/include/k5-thread.h", line=376, function=<optimized out>) at assert.c:92
#3 0x00007f80f48710a2 in __GI___assert_fail (assertion=0x7f80f18e7029 "r == 0", file=0x7f80f18e6f58 "../../../../src/include/k5-thread.h", line=376, function=0x7f80f18e7040 "k5_mutex_lock") at assert.c:101
#4 0x00007f80f188bea3 in ?? () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
#5 0x00007f80f188c677 in ?? () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
#6 0x00007f80f1894776 in ?? () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
#7 0x00007f80f188d2bd in krb5_cccol_have_content () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
#8 0x00007f80f1651b63 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
#9 0x00007f80f1651e18 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
#10 0x00007f80f1651f4c in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
#11 0x00007f80f1654d9f in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
#12 0x00007f80f1659a08 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
#13 0x00007f80f165a702 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
#14 0x00007f80f164522b in gss_init_sec_context () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
#15 0x00007f80f0b11637 in ?? () from /usr/lib/x86_64-linux-gnu/sasl2/libgssapiv2.so
#16 0x00007f80f194502d in sasl_client_step () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
#17 0x00007f80f1945644 in sasl_client_start () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
#18 0x00007f80f19ee6c4 in sasl_bind_mech () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#19 0x00007f80f19eea73 in autofs_sasl_bind () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#20 0x00007f80f19e66cd in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#21 0x00007f80f19e71c6 in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#22 0x00007f80f19eab40 in lookup_mount () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#23 0x0000561142bcc0ed in do_lookup_mount ()
#24 0x0000561142bcce39 in lookup_nss_mount ()
#25 0x0000561142bc2e25 in ?? ()
#26 0x00007f80f4bd0fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#27 0x00007f80f493a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) bt full
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {18446744067266836999, 140191557793744, 140191769960000, 140191835330183, 4222451712, 140191557793744, 140191557793744, 140191557793744, 140191557793744, 140191557793838, 140191557793844, 140191557793744, 140191557793844, 0, 0, 0}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007f80f4863535 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x7f80e400b7d0, sa_sigaction = 0x7f80e400b7d0}, sa_mask = {__val = {0, 140191557746720, 140191836388992, 0, 0, 0, 140191769959656, 21474836480, 140191769959504, 140191836445360, 140191836430056, 0, 958733083460192768, 140191836414906, 0, 140191836430056}}, sa_flags = -242323624, sa_restorer = 0x7f80f18e7029}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f80f486340f in __assert_fail_base (fmt=0x7f80f49c5ee8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f80f18e7029 "r == 0", file=0x7f80f18e6f58 "../../../../src/include/k5-thread.h", line=376, function=<optimized out>) at assert.c:92
str = 0x7f80e400b7d0 ""
total = 4096
#3 0x00007f80f48710a2 in __GI___assert_fail (assertion=0x7f80f18e7029 "r == 0", file=0x7f80f18e6f58 "../../../../src/include/k5-thread.h", line=376, function=0x7f80f18e7040 "k5_mutex_lock") at assert.c:101
No locals.
#4 0x00007f80f188bea3 in ?? () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
No symbol table info available.
#5 0x00007f80f188c677 in ?? () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
No symbol table info available.
#6 0x00007f80f1894776 in ?? () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
No symbol table info available.
#7 0x00007f80f188d2bd in krb5_cccol_have_content () from /usr/lib/x86_64-linux-gnu/libkrb5.so.3
No symbol table info available.
#8 0x00007f80f1651b63 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
No symbol table info available.
#9 0x00007f80f1651e18 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
No symbol table info available.
#10 0x00007f80f1651f4c in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
No symbol table info available.
#11 0x00007f80f1654d9f in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
No symbol table info available.
#12 0x00007f80f1659a08 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
No symbol table info available.
#13 0x00007f80f165a702 in ?? () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
No symbol table info available.
#14 0x00007f80f164522b in gss_init_sec_context () from /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
No symbol table info available.
#15 0x00007f80f0b11637 in ?? () from /usr/lib/x86_64-linux-gnu/sasl2/libgssapiv2.so
No symbol table info available.
#16 0x00007f80f194502d in sasl_client_step () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
No symbol table info available.
#17 0x00007f80f1945644 in sasl_client_start () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
No symbol table info available.
#18 0x00007f80f19ee6c4 in sasl_bind_mech () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#19 0x00007f80f19eea73 in autofs_sasl_bind () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#20 0x00007f80f19e66cd in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#21 0x00007f80f19e71c6 in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#22 0x00007f80f19eab40 in lookup_mount () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#23 0x0000561142bcc0ed in do_lookup_mount ()
No symbol table info available.
#24 0x0000561142bcce39 in lookup_nss_mount ()
No symbol table info available.
#25 0x0000561142bc2e25 in ?? ()
No symbol table info available.
#26 0x00007f80f4bd0fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
ret = <optimized out>
pd = <optimized out>
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140191769990912, 2798758188214480326, 140191794821246, 140191794821247, 140191769990912, 0, -2749782977331499578, -2749791975297290810}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#27 0x00007f80f493a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

System keytab is valid and can be used to get a TGT:

root@dagon:~# klist
klist: No credentials cache found (filename: /tmp/krb5cc_0)
root@dagon:~# kinit -kt /etc/krb5.keytab
root@dagon:~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: host/dagon.badphi...@BADPHISH.YPBIND.DE

Valid starting Expires Service principal
01/03/2019 08:01:57 01/04/2019 08:01:57 krbtgt/BADPHISH....@BADPHISH.YPBIND.DE

Other "buster" systems using the previous version of libkrb5-3 (1.16.1-1) are working fine.

So long,

Andreas.

-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages autofs-ldap depends on:
ii autofs 5.1.2-4
ii libc6 2.28-2
ii libcom-err2 1.44.5-1
ii libk5crypto3 1.16.2-1
ii libkrb5-3 1.16.2-1
ii libldap-2.4-2 2.4.47+dfsg-1
ii libsasl2-2 2.1.27~rc8-1
ii libxml2 2.9.4+dfsg1-7+b3

autofs-ldap recommends no packages.

autofs-ldap suggests no packages.

-- Configuration Files:
/etc/autofs_ldap_auth.conf changed:
<?xml version="1.0" ?>
<!--
Managed by ansible
This files contains a single entry with multiple attributes tied to it.
See autofs_ldap_auth.conf(5) for more information.
-->
<autofs_ldap_sasl_conf
usetls="yes"
tlsrequired="no"
authrequired="yes"
authtype="GSSAPI"
clientprinc="host/dagon.badphi...@BADPHISH.YPBIND.DE"
/>


-- no debconf information
--
"Things that try to look like things often do
look more like things than things. Well-known fact."
Granny Weatherwax - "Wyrd sisters"
signature.asc

Andreas Maus

unread,
Jan 3, 2019, 10:40:03 AM1/3/19
to
Maybe the backtrace with libkrb5-dbg installed may provider more clues:

root@dagon:~# gdb /usr/sbin/automount /core
GNU gdb (Debian 8.2-1) 8.2
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/automount...(no debugging symbols found)...done.
[New LWP 9037]
[New LWP 9011]
[New LWP 9012]
[New LWP 9013]
[New LWP 9016]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/automount -d -f'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f8753fff700 (LWP 9037))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f875be80535 in __GI_abort () at abort.c:79
#2 0x00007f875be8040f in __assert_fail_base (fmt=0x7f875bfe2ee8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f8758f04029 "r == 0", file=0x7f8758f03f58 "../../../../src/include/k5-thread.h", line=376, function=<optimized out>) at assert.c:92
#3 0x00007f875be8e0a2 in __GI___assert_fail (assertion=assertion@entry=0x7f8758f04029 "r == 0", file=file@entry=0x7f8758f03f58 "../../../../src/include/k5-thread.h", line=line@entry=376, function=function@entry=0x7f8758f04040 <__PRETTY_FUNCTION__.5585> "k5_mutex_lock") at assert.c:101
#4 0x00007f8758ea8ea3 in k5_mutex_lock (m=0x7f8754040498) at ../../../../src/include/k5-thread.h:376
#5 0x00007f8758ea9677 in k5_mutex_lock (m=0x7f8754040498) at ../../../../src/include/k5-thread.h:376
#6 k5_cc_mutex_lock (context=context@entry=0x7f874c014ed0, m=m@entry=0x7f8754040498) at ../../../../src/lib/krb5/ccache/ccbase.c:460
#7 0x00007f8758eb1776 in krb5_mcc_start_seq_get (context=0x7f874c014ed0, id=<optimized out>, cursor=0x7f8753ff7e48) at ../../../../src/lib/krb5/ccache/cc_memory.c:357
#8 0x00007f8758eaa2bd in has_content (cache=0x7f874c00b910, context=0x7f874c014ed0) at ../../../../src/lib/krb5/ccache/cccursor.c:278
#9 krb5_cccol_have_content (context=context@entry=0x7f874c014ed0) at ../../../../src/lib/krb5/ccache/cccursor.c:278
#10 0x00007f8758c6eb63 in acquire_init_cred (cred=0x7f874c0150d0, client_keytab=0x0, password=0x0, req_ccache=0x0, minor_status=0x7f8753ff85a4, context=0x7f874c014ed0) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:735
#11 acquire_cred_context (context=0x7f874c014ed0, minor_status=minor_status@entry=0x7f8753ff85a4, desired_name=desired_name@entry=0x0, password=password@entry=0x0, cred_usage=cred_usage@entry=1, ccache=ccache@entry=0x0, client_keytab=0x0, keytab=0x0, rcname=0x0, iakerb=0, output_cred_handle=0x7f8753ff8178, time_rec=0x0, time_req=4294967295) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:827
#12 0x00007f8758c6ee18 in acquire_cred (minor_status=minor_status@entry=0x7f8753ff85a4, desired_name=desired_name@entry=0x0, password=password@entry=0x0, cred_usage=cred_usage@entry=1, ccache=ccache@entry=0x0, keytab=keytab@entry=0x0, iakerb=0, output_cred_handle=0x7f8753ff8178, time_rec=0x0, time_req=4294967295) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:920
#13 0x00007f8758c6ef4c in krb5_gss_acquire_cred (minor_status=minor_status@entry=0x7f8753ff85a4, desired_name=desired_name@entry=0x0, time_req=time_req@entry=4294967295, desired_mechs=desired_mechs@entry=0x0, cred_usage=cred_usage@entry=1, output_cred_handle=output_cred_handle@entry=0x7f8753ff8178, actual_mechs=0x0, time_rec=0x0) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:1079
#14 0x00007f8758c71d9f in kg_get_defcred (minor_status=minor_status@entry=0x7f8753ff85a4, cred=cred@entry=0x7f8753ff8178) at ../../../../src/lib/gssapi/krb5/gssapi_krb5.c:202
#15 0x00007f8758c76a08 in krb5_gss_init_sec_context_ext (minor_status=minor_status@entry=0x7f8753ff85a4, claimant_cred_handle=claimant_cred_handle@entry=0x0, context_handle=context_handle@entry=0x7f874c01b490, target_name=0x7f874c01c550, mech_type=0x7f8758c975a0 <krb5_gss_oid_array>, req_flags=req_flags@entry=10, time_req=0, input_chan_bindings=0x0, input_token=0x0, actual_mech_type=0x0, output_token=0x7f8753ff85c0,
ret_flags=0x7f8753ff85a8, time_rec=0x0, exts=0x7f8753ff8420) at ../../../../src/lib/gssapi/krb5/init_sec_context.c:967
#16 0x00007f8758c77702 in krb5_gss_init_sec_context (minor_status=minor_status@entry=0x7f8753ff85a4, claimant_cred_handle=claimant_cred_handle@entry=0x0, context_handle=context_handle@entry=0x7f874c01b490, target_name=<optimized out>, mech_type=<optimized out>, req_flags=req_flags@entry=10, time_req=0, input_chan_bindings=0x0, input_token=0x0, actual_mech_type=0x0, output_token=0x7f8753ff85c0,
ret_flags=0x7f8753ff85a8, time_rec=0x0) at ../../../../src/lib/gssapi/krb5/init_sec_context.c:1089
#17 0x00007f8758c6222b in gss_init_sec_context (minor_status=0x7f8753ff85a4, claimant_cred_handle=<optimized out>, context_handle=0x7f874c019558, target_name=0x7f874c00b840, req_mech_type=<optimized out>, req_flags=10, time_req=0, input_chan_bindings=0x0, input_token=0x0, actual_mech_type=0x0, output_token=0x7f8753ff85c0, ret_flags=0x7f8753ff85a8, time_rec=0x0)
at ../../../../src/lib/gssapi/mechglue/g_init_sec_context.c:215
#18 0x00007f875812e637 in ?? () from /usr/lib/x86_64-linux-gnu/sasl2/libgssapiv2.so
#19 0x00007f8758f6202d in sasl_client_step () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
#20 0x00007f8758f62644 in sasl_client_start () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
#21 0x00007f875900b6c4 in sasl_bind_mech () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#22 0x00007f875900ba73 in autofs_sasl_bind () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#23 0x00007f87590036cd in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#24 0x00007f87590041c6 in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#25 0x00007f8759007b40 in lookup_mount () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
#26 0x000055692aab70ed in do_lookup_mount ()
#27 0x000055692aab7e39 in lookup_nss_mount ()
#28 0x000055692aaade25 in ?? ()
#29 0x00007f875c1edfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#30 0x00007f875bf5788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) bt full
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {18446744067266836999, 140219072427984, 140219206565440, 140219339597447, 4222451712, 140219072427984, 140219072427984, 140219072427984, 140219072427984, 140219072428078, 140219072428084, 140219072427984, 140219072428084, 0, 0, 0}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007f875be80535 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x7f874c00b7d0, sa_sigaction = 0x7f874c00b7d0}, sa_mask = {__val = {0, 140219072380960, 140219340656256, 0, 0, 0, 140219206565096, 21474836480, 140219206564944, 140219340712624, 140219340697320, 0, 7821802371936316416, 140219340682170, 0, 140219340697320}}, sa_flags = 1492139864, sa_restorer = 0x7f8758f04029}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f875be8040f in __assert_fail_base (fmt=0x7f875bfe2ee8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f8758f04029 "r == 0", file=0x7f8758f03f58 "../../../../src/include/k5-thread.h", line=376, function=<optimized out>) at assert.c:92
str = 0x7f874c00b7d0 ""
total = 4096
#3 0x00007f875be8e0a2 in __GI___assert_fail (assertion=assertion@entry=0x7f8758f04029 "r == 0", file=file@entry=0x7f8758f03f58 "../../../../src/include/k5-thread.h", line=line@entry=376, function=function@entry=0x7f8758f04040 <__PRETTY_FUNCTION__.5585> "k5_mutex_lock") at assert.c:101
No locals.
#4 0x00007f8758ea8ea3 in k5_mutex_lock (m=0x7f8754040498) at ../../../../src/include/k5-thread.h:376
r = <optimized out>
__PRETTY_FUNCTION__ = "k5_mutex_lock"
#5 0x00007f8758ea9677 in k5_mutex_lock (m=0x7f8754040498) at ../../../../src/include/k5-thread.h:376
r = 22
r = <optimized out>
__PRETTY_FUNCTION__ = "k5_mutex_lock"
#6 k5_cc_mutex_lock (context=context@entry=0x7f874c014ed0, m=m@entry=0x7f8754040498) at ../../../../src/lib/krb5/ccache/ccbase.c:460
No locals.
#7 0x00007f8758eb1776 in krb5_mcc_start_seq_get (context=0x7f874c014ed0, id=<optimized out>, cursor=0x7f8753ff7e48) at ../../../../src/lib/krb5/ccache/cc_memory.c:357
mcursor = 0x7f874c01b4d0
d = 0x7f8754040490
#8 0x00007f8758eaa2bd in has_content (cache=0x7f874c00b910, context=0x7f874c014ed0) at ../../../../src/lib/krb5/ccache/cccursor.c:278
ret = <optimized out>
found = 0
cache_cursor = 0x0
creds = {magic = 0, client = 0x0, server = 0x0, keyblock = {magic = 0, enctype = 0, length = 1275154128, contents = 0x6c8c9fd0ca926c00 <error: Cannot access memory at address 0x6c8c9fd0ca926c00>}, times = {authtime = 1275154128, starttime = 32647, endtime = 0, renew_till = 0}, is_skey = 1, ticket_flags = 0, addresses = 0x0, ticket = {magic = 1275154640, length = 32647,
data = 0x7f8758c6d66d <can_get_initial_creds+141> "\205\300\017\224\300\017\266\300\353\276\350$\256\376\377\017\037@"}, second_ticket = {magic = 0, length = 0, data = 0x7f874c0150d0 ""}, authdata = 0x7f8753ff85a4}
ret = <optimized out>
found = <optimized out>
cache_cursor = <optimized out>
creds = <optimized out>
#9 krb5_cccol_have_content (context=context@entry=0x7f874c014ed0) at ../../../../src/lib/krb5/ccache/cccursor.c:278
ret = 0
col_cursor = 0x7f874c002750
cache = 0x7f874c00b910
found = 0
errsave = {code = 0, msg = 0x0}
defname = <optimized out>
#10 0x00007f8758c6eb63 in acquire_init_cred (cred=0x7f874c0150d0, client_keytab=0x0, password=0x0, req_ccache=0x0, minor_status=0x7f8753ff85a4, context=0x7f874c014ed0) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:735
pwcopy = {magic = 0, length = 0, data = 0x0}
caller_ccname = 0
code = <optimized out>
pwdata = {magic = 1492141261, length = 32647, data = 0x7f8758f0676e "err_fmt"}
code = <optimized out>
pwdata = <optimized out>
pwcopy = <optimized out>
caller_ccname = <optimized out>
__PRETTY_FUNCTION__ = "acquire_init_cred"
#11 acquire_cred_context (context=0x7f874c014ed0, minor_status=minor_status@entry=0x7f8753ff85a4, desired_name=desired_name@entry=0x0, password=password@entry=0x0, cred_usage=cred_usage@entry=1, ccache=ccache@entry=0x0, client_keytab=0x0, keytab=0x0, rcname=0x0, iakerb=0, output_cred_handle=0x7f8753ff8178, time_rec=0x0, time_req=4294967295) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:827
cred = <optimized out>
name = 0x0
ret = <optimized out>
code = <optimized out>
__PRETTY_FUNCTION__ = "acquire_cred_context"
#12 0x00007f8758c6ee18 in acquire_cred (minor_status=minor_status@entry=0x7f8753ff85a4, desired_name=desired_name@entry=0x0, password=password@entry=0x0, cred_usage=cred_usage@entry=1, ccache=ccache@entry=0x0, keytab=keytab@entry=0x0, iakerb=0, output_cred_handle=0x7f8753ff8178, time_rec=0x0, time_req=4294967295) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:920
context = 0x7f874c014ed0
code = <optimized out>
ret = <optimized out>
#13 0x00007f8758c6ef4c in krb5_gss_acquire_cred (minor_status=minor_status@entry=0x7f8753ff85a4, desired_name=desired_name@entry=0x0, time_req=time_req@entry=4294967295, desired_mechs=desired_mechs@entry=0x0, cred_usage=cred_usage@entry=1, output_cred_handle=output_cred_handle@entry=0x7f8753ff8178, actual_mechs=0x0, time_rec=0x0) at ../../../../src/lib/gssapi/krb5/acquire_cred.c:1079
No locals.
#14 0x00007f8758c71d9f in kg_get_defcred (minor_status=minor_status@entry=0x7f8753ff85a4, cred=cred@entry=0x7f8753ff8178) at ../../../../src/lib/gssapi/krb5/gssapi_krb5.c:202
major = <optimized out>
#15 0x00007f8758c76a08 in krb5_gss_init_sec_context_ext (minor_status=minor_status@entry=0x7f8753ff85a4, claimant_cred_handle=claimant_cred_handle@entry=0x0, context_handle=context_handle@entry=0x7f874c01b490, target_name=0x7f874c01c550, mech_type=0x7f8758c975a0 <krb5_gss_oid_array>, req_flags=req_flags@entry=10, time_req=0, input_chan_bindings=0x0, input_token=0x0, actual_mech_type=0x0, output_token=0x7f8753ff85c0,
ret_flags=0x7f8753ff85a8, time_rec=0x0, exts=0x7f8753ff8420) at ../../../../src/lib/gssapi/krb5/init_sec_context.c:967
context = 0x7f874c017fb0
defcred = 0x0
cred = <optimized out>
kerr = <optimized out>
major_status = 851968
tmp_min_stat = 0
#16 0x00007f8758c77702 in krb5_gss_init_sec_context (minor_status=minor_status@entry=0x7f8753ff85a4, claimant_cred_handle=claimant_cred_handle@entry=0x0, context_handle=context_handle@entry=0x7f874c01b490, target_name=<optimized out>, mech_type=<optimized out>, req_flags=req_flags@entry=10, time_req=0, input_chan_bindings=0x0, input_token=0x0, actual_mech_type=0x0, output_token=0x7f8753ff85c0,
ret_flags=0x7f8753ff85a8, time_rec=0x0) at ../../../../src/lib/gssapi/krb5/init_sec_context.c:1089
exts = {iakerb = {conv = 0x0, verified = 0}}
#17 0x00007f8758c6222b in gss_init_sec_context (minor_status=0x7f8753ff85a4, claimant_cred_handle=<optimized out>, context_handle=0x7f874c019558, target_name=0x7f874c00b840, req_mech_type=<optimized out>, req_flags=10, time_req=0, input_chan_bindings=0x0, input_token=0x0, actual_mech_type=0x0, output_token=0x7f8753ff85c0, ret_flags=0x7f8753ff85a8, time_rec=0x0)
at ../../../../src/lib/gssapi/mechglue/g_init_sec_context.c:215
status = <optimized out>
temp_minor_status = 0
union_name = 0x7f874c00b840
union_cred = <optimized out>
internal_name = 0x7f874c01c550
union_ctx_id = 0x7f874c01b480
selected_mech = 0x7f875402a030
mech = 0x7f875402a030
input_cred_handle = 0x0
#18 0x00007f875812e637 in ?? () from /usr/lib/x86_64-linux-gnu/sasl2/libgssapiv2.so
No symbol table info available.
#19 0x00007f8758f6202d in sasl_client_step () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
No symbol table info available.
#20 0x00007f8758f62644 in sasl_client_start () from /usr/lib/x86_64-linux-gnu/libsasl2.so.2
No symbol table info available.
#21 0x00007f875900b6c4 in sasl_bind_mech () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#22 0x00007f875900ba73 in autofs_sasl_bind () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#23 0x00007f87590036cd in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#24 0x00007f87590041c6 in ?? () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#25 0x00007f8759007b40 in lookup_mount () from /usr/lib/x86_64-linux-gnu/autofs/lookup_ldap.so
No symbol table info available.
#26 0x000055692aab70ed in do_lookup_mount ()
No symbol table info available.
#27 0x000055692aab7e39 in lookup_nss_mount ()
No symbol table info available.
#28 0x000055692aaade25 in ?? ()
No symbol table info available.
#29 0x00007f875c1edfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
ret = <optimized out>
pd = <optimized out>
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140219206596352, 4725770880340707005, 140219299088510, 140219299088511, 140219206596352, 0, -4711917034381261123, -4711900256637958467}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#30 0x00007f875bf5788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

So long,

Andreas.

On Thu Jan 03, 2019 at 07:15:04AM +0000, Debian Bug Tracking System wrote:
> Thank you for filing a new Bug report with Debian.
>
> You can follow progress on this Bug here: 918088: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918088.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> Debian QA Group <pack...@qa.debian.org>
>
> If you wish to submit further information on this problem, please
> send it to 918...@bugs.debian.org.
>
> Please do not send mail to ow...@bugs.debian.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 918088: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918088
> Debian Bug Tracking System
> Contact ow...@bugs.debian.org with problems
signature.asc

Adrian Bunk

unread,
Jan 4, 2019, 3:00:04 PM1/4/19
to
Control: reassign -1 libkrb5-3 1.16.2-1
Control: affects -1 autofs-ldap

> After the latest upgrade of libkrb5-3 (1.16.1-1 -> 1.16.2-1) automount
> starts but dies immediately after accessing a automounter point.
>
> Automount is configured to authenticate via GSSAPI using system keytab.
> After the GSSAPI authentication succeeded, any access to a configure
> automount entry causes automount to die with an assertion failure
> (followed by an abort()):

Thanks for your report.

I'm moving this bug report to libkrb5-3 since this is the change that
triggered your regression for assessment whether the bug is there.

Sam Hartman

unread,
Jan 4, 2019, 9:10:02 PM1/4/19
to
>>>>> "Adrian" == Adrian Bunk <bu...@debian.org> writes:

latest upgrade of libkrb5-3 (1.16.1-1 -> 1.16.2-1)
>> automount starts but dies immediately after accessing a
>> automounter point.
>>
>> Automount is configured to authenticate via GSSAPI using system
>> keytab. After the GSSAPI authentication succeeded, any access to
>> a configure automount entry causes automount to die with an
>> assertion failure (followed by an abort()):

Adrian> Thanks for your report.

Adrian> I'm moving this bug report to libkrb5-3 since this is the
Adrian> change that triggered your regression for assessment whether
Adrian> the bug is there.

Adrian, I'm guessing you're looking at this with your QA hat on?
How well do you understand autofs? Any chance you could help put
together a repo? If you don't know autofs-ldap well, I can learn it
just as well as anyone, but if you do happen to know it well, help would
be appreciated.
In the latest krb5 package, the debian/tests directory contains a
slapd-gssapi test which happens to set up LDAP well enough that you can
SASL authenticate it.
So, my guess is that adapting that test to set up an autofs-ldap that
uses gss auth to ldap probably isn't too incredibly hard.
I don't know autofs at all, and for example I don't know how to set up
the directory to have the right info.

If you or the submitter can easily help, it would be appreciated.
If not, I'll look into it.

--Sam

Adrian Bunk

unread,
Jan 5, 2019, 4:10:02 PM1/5/19
to
On Fri, Jan 04, 2019 at 09:00:01PM -0500, Sam Hartman wrote:
> >>>>> "Adrian" == Adrian Bunk <bu...@debian.org> writes:
>
> latest upgrade of libkrb5-3 (1.16.1-1 -> 1.16.2-1)
> >> automount starts but dies immediately after accessing a
> >> automounter point.
> >>
> >> Automount is configured to authenticate via GSSAPI using system
> >> keytab. After the GSSAPI authentication succeeded, any access to
> >> a configure automount entry causes automount to die with an
> >> assertion failure (followed by an abort()):
>
> Adrian> Thanks for your report.
>
> Adrian> I'm moving this bug report to libkrb5-3 since this is the
> Adrian> change that triggered your regression for assessment whether
> Adrian> the bug is there.
>
> Adrian, I'm guessing you're looking at this with your QA hat on?
> How well do you understand autofs? Any chance you could help put
> together a repo?
>...

Unfortunately the latter.

Manu Alén has expressed interest in adopting autofs,
and might be interested in helping out in addition
to the help already provided by Andreas - added to Cc.

> --Sam

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
0 new messages