[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
ldappasswd hangs (server deadlock) (ITS#2122)
Full_Name: Matthias Loepfe
Version: 2.1.5
OS: Solaris 8
URL:
Submission from: (NULL) (193.192.235.7)
I have freshly built an
OpenLDAP-2.1.5/BDB-4.1.24/cyrus-sasl-2.1.7/OpenSSL-0.9.7-dev
system on Solaris-8. If I run 'ldappasswd -x -W -S -D <dn1> <dn2>' the command
hangs
and the server is in a deadlock situation. Please find below a stacktrace of all
threads and the last part of fulltrace output and a truss output.
----------- trace ------------------
=> acl_get: [1] matched
=> acl_get: [1] check attr userPassword
<= acl_get: [1] acl cn=ra server,ou=technical users,dc=adnovum,dc=ch attr:
userPassword
=> acl_mask: access to entry "cn=ra server,ou=technical users,dc=adnovum,dc=ch",
attr "userPassword" requested
=> acl_mask: to all values by "cn=super user,ou=technical
users,dc=adnovum,dc=ch", (=n)
<= check a_dn_pat: anonymous
=> bdb_group: gr dn: "cn=directory admins,ou=admin groups,dc=adnovum,dc=ch"
=> bdb_group: op dn: "cn=super user,ou=technical users,dc=adnovum,dc=ch"
=> bdb_group: oc: "groupOfNames" at: "member"
=> bdb_group: tr dn: "cn=ra server,ou=technical users,dc=adnovum,dc=ch"
bdb_dn2entry_rw("cn=directory admins,ou=admin groups,dc=adnovum,dc=ch")
=> bdb_dn2id( "cn=directory admins,ou=admin groups,dc=adnovum,dc=ch" )
<= bdb_dn2id: got id=0x0000001d
--------------------------------------
-------------- truss -----------------
pread64(12, "\0\0\003\08B 81E\0\0\0 '".., 4096, 159744) = 4096
write(2, " < = b d b _ d n 2 i d".., 32) = 32
write(2, " e n t r y _ d e c o d e".., 65) = 65
write(2, " < = e n t r y _ d e c".., 66) = 66
write(2, " b d b _ m o d i f y _ i".., 82) = 82
write(2, " = > a c c e s s _ a l".., 111) = 111
write(2, " = > d n : [ 1 ] o".., 47) = 47
write(2, " = > a c l _ g e t : ".., 24) = 24
write(2, " = > a c l _ g e t : ".., 40) = 40
write(2, " < = a c l _ g e t : ".., 88) = 88
write(2, " = > a c l _ m a s k :".., 111) = 111
write(2, " = > a c l _ m a s k :".., 89) = 89
write(2, " < = c h e c k a _ d".., 29) = 29
write(2, " = > b d b _ g r o u p".., 76) = 76
write(2, " = > b d b _ g r o u p".., 73) = 73
write(2, " = > b d b _ g r o u p".., 46) = 46
write(2, " = > b d b _ g r o u p".., 72) = 72
write(2, " b d b _ d n 2 e n t r y".., 72) = 72
write(2, " = > b d b _ d n 2 i d".., 71) = 71
pread64(12, "\0\0\003\084 YE9\0\0\089".., 4096, 561152) = 4096
write(2, " < = b d b _ d n 2 i d".., 32) = 32
lwp_sema_wait(0xFE201E30) (sleeping...)
signotifywait() (sleeping...)
lwp_sema_wait(0xFE481E30) (sleeping...)
lwp_sema_wait(0xFDD01E30) (sleeping...)
lwp_cond_wait(0xFE785B20, 0xFE785B08, 0x00000000) (sleeping...)
lwp_sema_wait(0xFDF81E30) (sleeping...)
poll(0xFE701600, 6, -1) (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
--------------------------------------
-------------- pstack ----------------
----------------- lwp# 1 / thread# 6 --------------------
ff19c0c8 lwp_sema_wait (fe201e30)
ff089af4 _park (fe201e30, ff0ae000, 0, fe201d70, 24d54, fe481d70) + 114
ff0897bc _swtch (fe201d70, 0, ff0ae000, 5, 1000, 0) + 424
ff08829c cond_wait (fe201d70, 0, 0, ff0ae000, 0, 4c2780) + 13c
ff088140 pthread_cond_wait (4c2798, 4c2780, 0, 4c2780, 0, 0) + 8
001260d8 ldap_pvt_thread_cond_wait (4c2798, 4c2780, 0, 0, 0, 0) + 18
001258a8 ???????? (4c2778, ff063d10, 0, 5, 1, fe401000)
ff09b730 _thread_start (4c2778, 0, 0, 0, 0, 0) + 40
----------------- lwp# 2 / thread# 2 --------------------
ff19ba18 signotifywait ()
ff08ed90 _dynamiclwps (ff0ae000, 59, 0, 0, ffbee99c, 4) + 1c
ff09206c thr_yield (0, 0, 0, 0, 0, 0) + 8c
----------------- lwp# 3 / thread# 5 --------------------
ff19c0c8 lwp_sema_wait (fe481e30)
ff089af4 _park (fe481e30, ff0ae000, 0, fe481d70, 24d54, fdf81d70) + 114
ff0897bc _swtch (fe481d70, 0, ff0ae000, 5, 1000, 0) + 424
ff08829c cond_wait (fe481d70, 0, 0, ff0ae000, 0, 4c2780) + 13c
ff088140 pthread_cond_wait (4c2798, 4c2780, 0, 4c2780, 0, 0) + 8
001260d8 ldap_pvt_thread_cond_wait (4c2798, 4c2780, 0, 0, 0, 0) + 18
001258a8 ???????? (4c2778, ff0b4748, 0, 5, 1, fe401000)
ff09b730 _thread_start (4c2778, 0, 0, 0, 0, 0) + 40
----------------- lwp# 4 / thread# 8 --------------------
ff19c0c8 lwp_sema_wait (fdd01e30)
ff089af4 _park (fdd01e30, ff0ae000, 0, fdd01d70, 24d54, fe201d70) + 114
ff0897bc _swtch (fdd01d70, 0, ff0ae000, 5, 1000, 0) + 424
ff08829c cond_wait (fdd01d70, 0, 0, ff0ae000, 0, 4c2780) + 13c
ff088140 pthread_cond_wait (4c2798, 4c2780, 0, 4c2780, 0, 0) + 8
001260d8 ldap_pvt_thread_cond_wait (4c2798, 4c2780, 0, 0, 0, 0) + 18
001258a8 ???????? (4c2778, fe735d10, 0, 5, 1, fe401000)
ff09b730 _thread_start (4c2778, 0, 0, 0, 0, 0) + 40
----------------- lwp# 5 / thread# 9 --------------------
ff19c07c lwp_cond_wait (fe785b20, fe785b08, 0)
ff1935c0 _lwp_cond_wait (fe785b20, fe785b08, 0, 5f, 3, 53675c) + c
001c25e4 __db_pthread_mutex_lock (51e908, fe785b08, 1, fe785b20, 0, 1) + 9c
0019fcec ???????? (51ec00, 0, 0, 0, 1, 51ec00)
0019e740 __lock_vec (51e908, 2, 0, 0, 0, 0) + 16c
001e5e30 __db_lget (51f918, 2, 1, 1, 0, fda7faec) + 298
001c8118 __bam_search (51f918, 2, 1, 51f5e8, 5201d0, 0) + a50
00209204 ???????? (51f918, 184, fda7fd5c, 1e, fda7fbe4, 581)
00205ad4 ???????? (51f918, fda7fd5c, fda7fd44, 1e, fda7fc4c, 0)
001ddca4 __db_c_get (51f918, fda7fd5c, fda7fd44, 1e, 5201d0, 205460) + 44c
001d71b8 __db_get (51f2d8, 0, fda7fd5c, fda7fd44, 1e, 8000) + 178
00109ef0 bdb_id2entry_rw (4d40f0, 0, 1d, fda7fe84, 0, 800014a3) + 148
00104180 bdb_dn2entry_rw (4d40f0, 0, fda7ff94, fda7fe84, 0, 0) + 1a0
0010945c bdb_group (4d40f0, 524750, 6126c8, 536190, fda7ff94, 612718) + 514
000a18ac backend_group (108f48, 524750, 6126c8, 536190, fda7ff94, 612718) +
264
000b8330 ???????? (4da5e8, fda80dd8, 4d40f0, 524750, 6126c8, 536190)
000b5dc0 access_allowed (0, fda80470, 1, 536190, 4cd3f0, 0) + aa8
000b8f14 acl_check_modlist (4d40f0, 524750, 6126c8, 536190, fda818f0, 0) + 39c
000ef1e8 bdb_modify_internal (4d40f0, 524750, 6126c8, 612758, fda818f0, 536190)
+ d8
0010f298 bdb_exop_passwd (fda81948, 524750, 6126c8, 57c6f7, fda81c08, fda81bf0)
+ 970
001062d8 bdb_extended (fda81be8, fda81bf8, 10e928, 57c6f7, fda81c08, fda81bf0)
+ d0
000c395c passwd_extop (fda81be8, fda81bf8, 106208, fda81c08, fda81bf0,
fda81bec) + 2cc
000c304c do_extended (fda81bf8, c3690, 0, 4c2780, 0, 0) + 6b4
0008a3ac ???????? (5432e0, 5227a0, 0, 0, 0, 0)
00125904 ???????? (4c2778, ff075d10, 0, 5, 1, fe401000)
ff09b730 _thread_start (4c2778, 0, 0, 0, 0, 0) + 40
----------------- lwp# 6 / thread# 7 --------------------
ff19c0c8 lwp_sema_wait (fdf81e30)
ff089af4 _park (fdf81e30, ff0ae000, 0, fdf81d70, 24d54, fdd01d70) + 114
ff0897bc _swtch (fdf81d70, 0, ff0ae000, 5, 1000, 0) + 424
ff08829c cond_wait (fdf81d70, 0, 0, ff0ae000, 0, 4c2780) + 13c
ff088140 pthread_cond_wait (4c2798, 4c2780, 0, 4c2780, 0, 0) + 8
001260d8 ldap_pvt_thread_cond_wait (4c2798, 4c2780, 0, 0, 0, 0) + 18
001258a8 ???????? (4c2778, ff075d10, 1, ff0bad94, 0, 2)
ff09b730 _thread_start (4c2778, 0, 0, 0, 0, 0) + 40
----------------- lwp# 7 / thread# 4 --------------------
ff19a254 poll (fe701600, 6, ffffffff)
ff14cf8c select (e, 0, 0, fe701630, fe701be8, fe701600) + 348
ff09b13c select (fe701742, ff0b4748, 0, 5, 1, fe401000) + 34
ff09b730 _thread_start (0, 0, 0, 0, 0, 0) + 40
----------------- lwp# 8 --------------------------------
ff1995bc door (0, 0, 0, 0, fe4e5d10, 4)
ff096be0 _sc_door_func (0, 0, 0, 0, 0, 0) + 54
-------------------------- thread# 1 --------------------
ff08de50 _reap_wait_cancel (ff0aee18, ff0b5938, 80, ff0b5938, fe701d70, 1) +
40
ff0900dc _thrp_join (ff0aee18, 4, 0, ff0ae000, 0, 4) + 344
00125ed8 ldap_pvt_thread_join (4, 0, 84b20, 0, ffbef240, 0) + 18
000870a4 slapd_daemon (0, 0, ff1bdec0, 4bc2b0, 0, 0) + dc
000819f0 main (d, ffbef01c, ffbef054, 480800, 0, 0) + cb8
00080ca8 _start (0, 0, 0, 0, 0, 0) + 108
-------------------------- thread# 3 --------------------
ff08ddf8 _reap_wait (ff0b29e8, 204e4, 0, ff0ae000, 0, 0) + 38
ff08db50 _reaper (ff0aee38, ff0b4748, ff0b29e8, ff0aee10, 1, fe400000) + 38
ff09b730 _thread_start (0, 0, 0, 0, 0, 0) + 40
--------------------------------------
Is it possible that I have built the system wrong?
here are my configure statements I used:
OpenLDAP: ./configure --prefix=/opt/openldap
--sysconfdir=/var/spool/openldap/etc \
--datadir='$$(prefix)/lib' --enable-crypt --without-kerberos \
--enable-ldap --enable-dynamic --enable-modules --with-tls --with-cyrus-sasl
SASL: ./configure --prefix=/opt/openldap \
--with-des=$(spool_builddir) --disable-gssapi --disable-krb4 \
--with-staticsasl --enable-static --disable-shared --with-dblib=none
BDB: ../dist/configure --prefix=/opt/openldap --disable-shared
thanks for any help
with best regards
Matthias Loepfe