Is something improperly ordered during teardowns?
[6] ldap_pvt_thread_pool_destroy(tpool = 0x39c374, run_pending = 1), line 570 in "tpool.c"
https://www.nbcs.rutgers.edu/~richton/slapd.log.20090319.bz2
t@6 (l@6) terminated by signal SEGV (no mapping at the fault address) 0xff2b467c: strlen+0x0080: ld [%o1], %o2 Current function is lutil_debug 66 vsnprintf( buffer, sizeof(buffer), fmt, vl );
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, 0xffbff55c, 0xff18f818, 0xff1524fc, 0x1, 0xffbff524), at 0xff31ff68 [2] lwp_wait(0x2, 0xffbff55c, 0x2c850, 0xff184e00, 0x5, 0xffbff554), at 0xff15d1cc [3] _thrp_join(0x2, 0x0, 0x0, 0x1, 0x81010100, 0xff00), at 0xff1590c4 =>[4] ldap_pvt_thread_join(thread = 2U, thread_return = (nil)), line 197 in "thr_posix.c" [5] slapd_daemon(), line 2665 in "daemon.c" [6] main(argc = 8, argv = 0xffbff77c), line 948 in "main.c" Current function is ldap_pvt_thread_cond_wait 277 return ERRVAL( pthread_cond_wait( cond, mutex ) ); t@2 (l@2) stopped in __lwp_park at 0xff1654b4 0xff1654b4: __lwp_park+0x0014: bgeu,a __lwp_park+0x28 ! 0xff1654c8 current thread: t@2 [1] __lwp_park(0x4, 0x0, 0x0, 0x1, 0xff178000, 0x0), at 0xff1654b4 [2] cond_wait_queue(0x3e81c8, 0xff178c08, 0x0, 0x0, 0xff140200, 0xff178000), at 0xff1626b8 [3] _cond_wait_cancel(0x3e81c8, 0x3e81b0, 0x3, 0xff370388, 0x75, 0xfe7fdcec), at 0xff162e74 [4] _pthread_cond_wait(0x3e81c8, 0x3e81b0, 0x2c838, 0xff184040, 0x5, 0xff00), at 0xff162eb0 =>[5] ldap_pvt_thread_cond_wait(cond = 0x3e81c8, mutex = 0x3e81b0), line 277 in "thr_posix.c" [6] ldap_pvt_thread_pool_destroy(tpool = 0x39c374, run_pending = 1), line 570 in "tpool.c" [7] slapd_daemon_task(ptr = (nil)), line 2600 in "daemon.c" Current function is ldap_pvt_thread_cond_wait 277 return ERRVAL( pthread_cond_wait( cond, mutex ) ); t@3 (l@3) stopped in __lwp_park at 0xff1654b4 0xff1654b4: __lwp_park+0x0014: bgeu,a __lwp_park+0x28 ! 0xff1654c8 current thread: t@3 [1] __lwp_park(0x4, 0x0, 0x0, 0x1, 0xff178000, 0x0), at 0xff1654b4 [2] cond_wait_queue(0x3e81c8, 0xff178c08, 0x0, 0x0, 0xff140400, 0xff178000), at 0xff1626b8 [3] _cond_wait_cancel(0x3e81c8, 0x3e81b0, 0x0, 0x44f3cc, 0x0, 0x0), at 0xff162e74 [4] _pthread_cond_wait(0x3e81c8, 0x3e81b0, 0xfdfffe0c, 0x1, 0x0, 0xfdfffd81), at 0xff162eb0 =>[5] ldap_pvt_thread_cond_wait(cond = 0x3e81c8, mutex = 0x3e81b0), line 277 in "thr_posix.c" [6] ldap_int_thread_pool_wrapper(xpool = 0x3e81a8), line 654 in "tpool.c" Current function is ldap_pvt_thread_cond_wait 277 return ERRVAL( pthread_cond_wait( cond, mutex ) ); t@4 (l@4) stopped in __lwp_park at 0xff1654b4 0xff1654b4: __lwp_park+0x0014: bgeu,a __lwp_park+0x28 ! 0xff1654c8 current thread: t@4 [1] __lwp_park(0x4, 0x0, 0x6, 0x1, 0xff178000, 0x0), at 0xff1654b4 [2] cond_wait_queue(0x3e81c8, 0xff178c08, 0x0, 0x0, 0xff140600, 0xff178000), at 0xff1626b8 [3] _cond_wait_cancel(0x3e81c8, 0x3e81b0, 0x3e81b0, 0x0, 0x0, 0xfd7ff978), at 0xff162e74 [4] _pthread_cond_wait(0x3e81c8, 0x3e81b0, 0xfd7ffe0c, 0x1, 0x0, 0xfd7ffd81), at 0xff162eb0 =>[5] ldap_pvt_thread_cond_wait(cond = 0x3e81c8, mutex = 0x3e81b0), line 277 in "thr_posix.c" [6] ldap_int_thread_pool_wrapper(xpool = 0x3e81a8), line 654 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 0xff1654b4 0xff1654b4: __lwp_park+0x0014: bgeu,a __lwp_park+0x28 ! 0xff1654c8 current thread: t@5 [1] __lwp_park(0x4, 0x0, 0x0, 0x1, 0xff178000, 0x0), at 0xff1654b4 [2] cond_wait_queue(0x3e81c8, 0xff178c08, 0x0, 0x0, 0xff140800, 0xff178000), at 0xff1626b8 [3] _cond_wait_cancel(0x3e81c8, 0x3e81b0, 0x443230, 0xfcfff978, 0x2, 0xfcfff978), at 0xff162e74 [4] _pthread_cond_wait(0x3e81c8, 0x3e81b0, 0xfcfffe0c, 0x1, 0x0, 0xfcfffd81), at 0xff162eb0 =>[5] ldap_pvt_thread_cond_wait(cond = 0x3e81c8, mutex = 0x3e81b0), line 277 in "thr_posix.c" [6] ldap_int_thread_pool_wrapper(xpool = 0x3e81a8), line 654 in "tpool.c" t@6 (l@6) stopped in strlen at 0xff2b467c 0xff2b467c: strlen+0x0080: ld [%o1], %o2 current thread: t@6 [1] strlen(0x0, 0x69643d30, 0xfc7fe2a0, 0x7efefeff, 0x81010100, 0x0), at 0xff2b467c [2] _doprnt(0x2ae010, 0x0, 0xfc7fe2a0, 0x0, 0x0, 0x0), at 0xff307580 [3] vsnprintf(0xfc7fe318, 0x1000, 0x2ae010, 0xfc7ff368, 0x0, 0x0), at 0xff3095f0 =>[4] lutil_debug(debug = 261, level = 1, fmt = 0x2ae010 ">>> slap_listener(%s)\n", ... = 0x69643d30, ...), line 66 in "debug.c" [5] slap_listener(sl = 0x39d708), line 1740 in "daemon.c" [6] slap_listener_thread(ctx = 0xfc7ffe0c, ptr = 0x39d708), line 1997 in "daemon.c" [7] ldap_int_thread_pool_wrapper(xpool = 0x3e81a8), line 663 in "tpool.c" Current function is lutil_debug 66 vsnprintf( buffer, sizeof(buffer), fmt, vl ); t@7 (l@7) stopped in _doprnt at 0xff3059bc 0xff3059bc: _doprnt+0x0028: st %i1, [%sp + 104] current thread: t@7 [1] _doprnt(0x2c5938, 0xfbfff938, 0xfbffe870, 0x0, 0x0, 0x0), at 0xff3059bc [2] vsnprintf(0xfbffe8e8, 0x1000, 0x2c5938, 0xfbfff938, 0x0, 0x0), at 0xff3095f0 =>[3] lutil_debug(debug = 261, level = 1, fmt = 0x2c5938 "=>do_syncrepl %s\n", ... = 0x44f3cc, ...), line 66 in "debug.c" [4] do_syncrepl(ctx = 0xfbfffe0c, arg = 0x447f28), line 1265 in "syncrepl.c" [5] ldap_int_thread_pool_wrapper(xpool = 0x3e81a8), line 663 in "tpool.c"