[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#4659) Core dump after MOD
Full_Name: Quanah Gibson-Mount
Version: 2.3.27+LWL mods+Alloc mods
OS: Linux 2.6 kernel
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (171.66.155.86)
My master core dumped this morning after a MOD operation.
The core shows:
(gdb) info threads
11 process 11380 0x00002aac5cfede2c in pthread_join () from
/lib/libpthread.so.0
10 process 11384 0xffffffffff600410 in ?? ()
9 process 11386 0x00002aac5cff17c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
8 process 11387 0x00002aac5cff17c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
7 process 11393 0x00002aac5cfef66a in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/libpthread.so.0
6 process 11988 0x00002aac5cff17c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
5 process 11989 0x00002aac5cff17c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
4 process 13390 0x00002aac5cff17c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
3 process 15843 0x00002aac5cff17c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
2 process 15844 0x00002aac5cfef4e4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
* 1 process 11385 0x00002aac5da20545 in raise () from /lib/libc.so.6
(gdb) thread 11
[Switching to thread 11 (process 11380)]#0 0x00002aac5cfede2c in pthread_join
() from /lib/libpthread.so.0
(gdb) bt
#0 0x00002aac5cfede2c in pthread_join () from /lib/libpthread.so.0
#1 0x0000000000425c61 in slapd_daemon () at daemon.c:2244
#2 0x0000000000416214 in main (argc=3, argv=0x7fffffe4ccc8) at main.c:854
daemon.c:2244 is:
ldap_pvt_thread_join( listener_tid, (void *) NULL );
from
#define SLAPD_LISTENER_THREAD 1
#if defined( SLAPD_LISTENER_THREAD )
{
ldap_pvt_thread_t listener_tid;
/* listener as a separate THREAD */
rc = ldap_pvt_thread_create( &listener_tid,
0, slapd_daemon_task, NULL );
if ( rc != 0 ) {
Debug( LDAP_DEBUG_ANY,
"listener ldap_pvt_thread_create failed (%d)\n", rc, 0,
0 );
return rc;
}
/* wait for the listener thread to complete */
ldap_pvt_thread_join( listener_tid, (void *) NULL );
}
#else
main.c:854 is:
rc = slapd_daemon();
[Switching to thread 10 (process 11384)]#0 0xffffffffff600410 in ?? ()
(gdb) bt
#0 0xffffffffff600410 in ?? ()
#1 0x00002aac5da87e3d in time () from /lib/libc.so.6
#2 0x0000000000424d08 in slapd_daemon_task (ptr=0x0) at daemon.c:1714
#3 0x00002aac5cfecb55 in start_thread () from /lib/libpthread.so.0
#4 0x00002aac5dac37f0 in clone () from /lib/libc.so.6
daemon.c: 1714 is
now = slap_get_time();
from
#define SLAPD_EBADF_LIMIT 16
time_t now;
SLAP_EVENT_DECL;
struct timeval tv;
struct timeval *tvp;
struct timeval cat;
time_t tdelta = 1;
struct re_s* rtask;
now = slap_get_time();
if( ( global_idletimeout > 0 ) &&
difftime( last_idle_check +
global_idletimeout/SLAPD_IDLE_CHECK_LIMIT, now ) < 0 )
{
connections_timeout_idle( now );
last_idle_check = now;
}
tv = idle;
(gdb) thread 9
[Switching to thread 9 (process 11386)]#0 0x00002aac5cff17c4 in
__lll_mutex_lock_wait () from /lib/libpthread.so.0
(gdb) bt
#0 0x00002aac5cff17c4 in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#1 0x00002aaaaab73548 in ?? ()
#2 0x0000000000000000 in ?? ()
#3 0x00002aac5cfee971 in pthread_mutex_lock () from /lib/libpthread.so.0
#4 0x0000000000000000 in ?? ()
#5 0x00002aac5cbc8d40 in ?? ()
#6 0x0000000000000000 in ?? ()
#7 0x0000000000000065 in ?? ()
#8 0x000000000000000d in ?? ()
#9 0x0000000000000000 in ?? ()
#10 0x0000000000000000 in ?? ()
#11 0x0000000000000000 in ?? ()
#12 0x0000000000000000 in ?? ()
#13 0x0000000000000000 in ?? ()
#14 0x0000000000000000 in ?? ()
#15 0x0000000000000000 in ?? ()
#16 0x0000000000000000 in ?? ()
#17 0x0000000000000001 in ?? ()
#18 0x0000000000000000 in ?? ()
#19 0x0000000000000000 in ?? ()
#20 0x00002aabb7ee63d0 in ?? ()
#21 0x00000000004260b4 in connection_get (s=28) at connection.c:311
#22 0x00000000004283d1 in connection_read_thread (ctx=0x417ff4e0, argv=0x1c) at
connection.c:1258
#23 0x00002aac5cc6b522 in ldap_int_thread_pool_wrapper (xpool=0x2aaaaab73548) at
tpool.c:478
#24 0x00002aac5cfecb55 in start_thread () from /lib/libpthread.so.0
#25 0x00002aac5dac37f0 in clone () from /lib/libc.so.6
connection.c:311 is:
ldap_pvt_thread_mutex_lock( &c->c_mutex );
from
if( c != NULL ) {
ber_socket_t sd;
ldap_pvt_thread_mutex_lock( &c->c_mutex );
ber_sockbuf_ctrl( c->c_sb, LBER_SB_OPT_GET_FD, &sd );
if( c->c_struct_state != SLAP_C_USED ) {
/* connection must have been closed due to resched */
connection.c:1258 is
c = connection_get( s );
from
#ifdef SLAP_LIGHTWEIGHT_DISPATCHER
static int
connection_read( ber_socket_t s, conn_readinfo *cri )
#else
int connection_read(ber_socket_t s)
#endif
{
int rc = 0;
Connection *c;
assert( connections != NULL );
/* get (locked) connection */
c = connection_get( s );
tpool.c:478
ctx->ltc_start_routine(ltc_key, ctx->ltc_arg);
from
LDAP_SLIST_INSERT_HEAD(&pool->ltp_active_list, ctx,
ltc_next.al);
pool->ltp_active_count++;
ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
ctx->ltc_start_routine(ltc_key, ctx->ltc_arg);
etc...
I can provide core file, source, etc.
thread 10 is where it always starts out at in gdb.
--Quanah