Running 'make check' hangs for ever

Isaac Boukris iboukris at
Wed Dec 30 16:28:25 EST 2015


I'm trying to run 'make check' on 32bit fedora (21 / 23) installed on
VM and it hangs for ever.

# uname -a
Linux fedora 4.2.8-300.fc23.i686+PAE #1 SMP Tue Dec 15 17:13:23 UTC
2015 i686 i686 i386 GNU/Linux

Initially I thought it was lack of entropy (had it once) but it seems
something different, related to flock.

The command 'make check' hangs at:

PYTHONPATH=../../../util VALGRIND="" python ./

With, 'strace -fyv make check' I see:

[pid 21891] fcntl64(6</home/admin/git/krb5/src/lib/krb5/ccache/testdir/db.kadm5.lock>,
F_OFD_SETLKW, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0,
l_len=-5230051357888610304}) = -1 EINVAL (Invalid argument)
[pid 21891] fcntl64(6</home/admin/git/krb5/src/lib/krb5/ccache/testdir/db.kadm5.lock>,
F_SETLKW, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}

And with 'gdb attach $(pidof kadmin.local)' I get:

#0  0xb77ccbe8 in __kernel_vsyscall ()
#1  0xb75b8c05 in fcntl () from /lib/
#2  0xb76912f5 in ofdlock (lock_arg=<optimized out>, cmd=<optimized
out>, fd=<optimized out>) at lock_file.c:80
#3  krb5_lock_file (context=0x946a4d8, fd=6, mode=2) at lock_file.c:132
#4  0xb73c159b in osa_adb_get_lock (db=0x946a488, mode=2) at adb_openclose.c:235
#5  0xb73c25cb in ctx_lock (context=context at entry=0x9468880,
dbc=dbc at entry=0x9469e68, lockmode=lockmode at entry=2) at kdb_db2.c:472
#6  0xb73c3655 in krb5_db2_put_principal (context=0x9468880,
entry=0x946af68, db_args=0x0) at kdb_db2.c:839
#7  0xb73c4872 in wrap_krb5_db2_put_principal (ctx=0x9468880,
d=0x946af68, db_args=0x0) at db2_exp.c:124
#8  0xb7792d31 in krb5int_put_principal_no_log (kcontext=0x9468880,
entry=0x946af68) at kdb5.c:866
#9  0xb7792dec in krb5_db_put_principal (kcontext=0x9468880,
entry=0x946af68) at kdb5.c:893
#10 0xb77b28c7 in kdb_put_entry (handle=0x9469b90, kdb=0x946af68,
adb=0xbfd37464) at server_kdb.c:397
#11 0xb77adcf8 in kadm5_create_principal_3 (server_handle=0x9469b90,
entry=0xbfd37564, mask=1, n_ks_tuple=0, ks_tuple=0x0,
password=0xbfd395c4 "alice22387")
    at svr_principal.c:579
#12 0xb77addf8 in kadm5_create_principal (server_handle=0x9469b90,
entry=0xbfd37564, mask=1, password=0xbfd395c4 "alice22387") at
#13 0x0804b751 in create_princ (princ=<optimized out>, mask=<optimized
out>, n_ks=<optimized out>, ks=0x0, pass=0xbfd395c4 "alice22387") at
#14 0x0804d029 in kadmin_addprinc (argc=4, argv=0x946abb0) at kadmin.c:1223
#15 0x08051af8 in check_request_table (rqtbl=<optimized out>,
sci_idx=1, argv=0x946abb0, argc=4) at execute_cmd.c:74
#16 really_execute_command (sci_idx=sci_idx at entry=1,
argc=argc at entry=4, argv=argv at entry=0xbfd37b2c) at execute_cmd.c:115
#17 0x08051bc0 in ss_execute_command (sci_idx=1, argv=0xbfd37c28) at
#18 0x0804a516 in main (argc=5, argv=0xbfd37c24) at ss_wrapper.c:59

By looking around in the code I managed to workaround this by
disabling POSIX_FILE_LOCKS in 'lock_file.c'.
It nows goes much further, although the tests still fail, this time
properly with:

PYTHONPATH=../../util VALGRIND="" python ./
*** Failure: /home/admin/git/krb5/src/appl/gss-sample/gss-client
failed with code 1.

Thought this may be worth sharing, perhaps someone could make sense of it.

Thanks and regards,
Isaac B.

More information about the Kerberos mailing list