On Wed, 10 Jun 2009, Howard Chu wrote:

Please try updated HEAD.

HEAD was updated as of Friday. In test054, I got the following. I'm not entirely sure about this -- I thought that (under the Solaris implementation) this can only happen if the mutex in question is uninitialized/previously destroyed.

      t...@1  a  l...@1   ?()   LWP suspended in  __lwp_wait()
      t...@2  a  l...@2   slapd_daemon_task()   LWP suspended in  _poll()
t...@3 a l...@3 ldap_int_thread_pool_wrapper() LWP suspended in _private_close() o> t...@4 a l...@4 ldap_int_thread_pool_wrapper() signal SIGABRT in __lwp_kill()
      t...@5  a  l...@5   ldap_int_thread_pool_wrapper()   sleep on 0x3fe4a8  
in  __lwp_park()
t...@6 a l...@6 ldap_int_thread_pool_wrapper() sleep on 0x3fe4a8 in __lwp_park() Current function is ldap_pvt_thread_join
  197           return ERRVAL( pthread_join( thread, thread_return ) );
t...@1 (l...@1) stopped in __lwp_wait at 0xff31ff68
0xff31ff68: __lwp_wait+0x0008:  bgeu,a   __lwp_wait+0x1c        ! 0xff31ff7c
current thread: t...@1
  [1] __lwp_wait(0x4, 0xffbff554, 0xff18fb04, 0xff1424fc, 0x1, 0xffbff51c), at 
0xff31ff68
  [2] lwp_wait(0x2, 0xffbff554, 0x2d388, 0xff1849e8, 0x5, 0xffbff54c), at 
0xff14d1cc
[3] _thrp_join(0x2, 0x0, 0x0, 0x1, 0x81010100, 0xff00), at 0xff1490c4 =>[4] ldap_pvt_thread_join(thread = 2U, thread_return = (nil)), line 197 in "thr_posix.c"
  [5] slapd_daemon(), line 2700 in "daemon.c"
  [6] main(argc = 8, argv = 0xffbff774), line 950 in "main.c"
Current function is slapd_daemon_task
 2325                   SLAP_EVENT_WAIT( tvp, &ns );
t...@2 (l...@2) stopped in _poll at 0xff31e23c
0xff31e23c: _poll+0x0008:       bgeu     _poll+0x30     ! 0xff31e264
current thread: t...@2
  [1] _poll(0x4, 0x4, 0xffffffff, 0xfffffff8, 0x0, 0xfe3fbd99), at 0xff31e23c
[2] select_large_fdset(0x12, 0x20, 0xfe3fbd98, 0x0, 0xfe3fbd98, 0xfe3fbd98), at 0xff2d2b6c =>[3] slapd_daemon_task(ptr = (nil)), line 2325 in "daemon.c"
Current function is sb_stream_close
  544           tcp_close( sbiod->sbiod_sb->sb_fd );
t...@3 (l...@3) stopped in _private_close at 0xff31d318
0xff31d318: _private_close+0x0008:      bgeu     _private_close+0x30    ! 
0xff31d340
current thread: t...@3
  [1] _private_close(0x0, 0xff14d8b8, 0x20b28, 0x0, 0x0, 0x0), at 0xff31d318
[2] _ti_close(0x10, 0x2, 0x1, 0xff33c000, 0x14, 0x0), at 0xff14d8c0 =>[3] sb_stream_close(sbiod = 0x521c58), line 544 in "sockbuf.c"
  [4] ber_int_sb_close(sb = 0x5236e8), line 383 in "sockbuf.c"
  [5] ber_sockbuf_free(sb = 0x5236e8), line 74 in "sockbuf.c"
  [6] slapd_remove(s = 16, sb = 0x5236e8, wasactive = 1, wake = 0, locked = 0), line 905 
in "daemon.c"
  [7] connection_destroy(c = 0x4612f8), line 690 in "connection.c"
  [8] connection_close(c = 0x4612f8), line 828 in "connection.c"
  [9] connection_resched(conn = 0x4612f8), line 1668 in "connection.c"
  [10] connection_operation(ctx = 0xfdbffe0c, arg_v = 0x525868), line 1167 in 
"connection.c"
  [11] connection_read_thread(ctx = 0xfdbffe0c, argv = 0x10), line 1248 in 
"connection.c"
  [12] ldap_int_thread_pool_wrapper(xpool = 0x3fe488), line 698 in "tpool.c"
t...@4 (l...@4) stopped in __lwp_kill at 0xff31feb0
0xff31feb0: __lwp_kill+0x0008:  bgeu,a   __lwp_kill+0x1c        ! 0xff31fec4
current thread: t...@4
  [1] __lwp_kill(0x0, 0x6, 0x0, 0xfffffff8, 0x0, 0xfd3ff241), at 0xff31feb0
  [2] Abort(0xfd3ff298, 0xfd3ff298, 0x3a, 0x39, 0x81010100, 0xff00), at 
0xff146f9c
  [3] panic(0xff155e34, 0x0, 0x0, 0x1, 0x0, 0xfd3ff4b9), at 0xff147094
  [4] _ceil_prio_inherit(0xf0, 0x0, 0x549780, 0xff168000, 0xff1513bc, 0x0), at 
0xff14ff10
[5] mutex_lock_internal(0x6d, 0x0, 0xff070600, 0xfffffff8, 0x0, 0xfc3351), at 0xff1514bc =>[6] ldap_pvt_thread_mutex_lock(mutex = 0x549780), line 296 in "thr_posix.c"
  [7] syncprov_op_mod(op = 0x52bd00, rs = 0xfd3ffcac), line 1965 in "syncprov.c"
  [8] overlay_op_walk(op = 0x52bd00, rs = 0xfd3ffcac, which = op_add, oi = 0x4326c8, on = 
0x4327d0), line 659 in "backover.c"
  [9] over_op_func(op = 0x52bd00, rs = 0xfd3ffcac, which = op_add), line 721 in 
"backover.c"
  [10] over_op_add(op = 0x52bd00, rs = 0xfd3ffcac), line 767 in "backover.c"
  [11] fe_op_add(op = 0x52bd00, rs = 0xfd3ffcac), line 334 in "add.c"
  [12] do_add(op = 0x52bd00, rs = 0xfd3ffcac), line 194 in "add.c"
  [13] connection_operation(ctx = 0xfd3ffe0c, arg_v = 0x52bd00), line 1115 in 
"connection.c"
  [14] connection_read_thread(ctx = 0xfd3ffe0c, argv = 0x11), line 1248 in 
"connection.c"
  [15] ldap_int_thread_pool_wrapper(xpool = 0x3fe488), line 698 in "tpool.c"
Current function is ldap_pvt_thread_cond_wait
  277           return ERRVAL( pthread_cond_wait( cond, mutex ) );
t...@5 (l...@5) stopped in __lwp_park at 0xff1554b4
0xff1554b4: __lwp_park+0x0014:  bgeu,a   __lwp_park+0x28        ! 0xff1554c8
current thread: t...@5
  [1] __lwp_park(0x4, 0x0, 0x0, 0x1, 0xff168000, 0x0), at 0xff1554b4
  [2] cond_wait_queue(0x3fe4a8, 0xff168c08, 0x0, 0x0, 0xff070800, 0xff168000), 
at 0xff1526b8
  [3] _cond_wait_cancel(0x3fe4a8, 0x3fe490, 0x5256c8, 0xfcbff978, 0x1, 
0xfcbff978), at 0xff152e74
[4] _pthread_cond_wait(0x3fe4a8, 0x3fe490, 0xfcbffe0c, 0x1, 0x0, 0xfcbffd81), at 0xff152eb0 =>[5] ldap_pvt_thread_cond_wait(cond = 0x3fe4a8, mutex = 0x3fe490), line 277 in "thr_posix.c"
  [6] ldap_int_thread_pool_wrapper(xpool = 0x3fe488), line 689 in "tpool.c"
Current function is ldap_pvt_thread_cond_wait
  277           return ERRVAL( pthread_cond_wait( cond, mutex ) );
t...@6 (l...@6) stopped in __lwp_park at 0xff1554b4
0xff1554b4: __lwp_park+0x0014:  bgeu,a   __lwp_park+0x28        ! 0xff1554c8
current thread: t...@6
  [1] __lwp_park(0x4, 0x0, 0x0, 0x1, 0xff168000, 0x0), at 0xff1554b4
  [2] cond_wait_queue(0x3fe4a8, 0xff168c08, 0x0, 0x0, 0xff070a00, 0xff168000), 
at 0xff1526b8
  [3] _cond_wait_cancel(0x3fe4a8, 0x3fe490, 0xfc3ffc98, 0x1, 0x3, 0x0), at 
0xff152e74
[4] _pthread_cond_wait(0x3fe4a8, 0x3fe490, 0xfc3ffe0c, 0x1, 0x0, 0xfc3ffd81), at 0xff152eb0 =>[5] ldap_pvt_thread_cond_wait(cond = 0x3fe4a8, mutex = 0x3fe490), line 277 in "thr_posix.c"
  [6] ldap_int_thread_pool_wrapper(xpool = 0x3fe488), line 689 in "tpool.c"

Reply via email to