[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#3802) Assertion() fails in connection_get()
Full_Name: Sang-Seok Lim
Version: HEAD
OS: SUSE Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (129.34.20.23)
I generated ldap search requests as fast as possible to measure throughput of an
epoll() enabled slapd. Two concurrent connections were established to the slapd
and "bind->single search->unbind" pattern requests were sent to the slapd
repeatedly. Then the slapd compiled with epoll() stopped running abruptly,
showing following assertion fails.
In addition, there are two notes:
1) When "many search requests/single bind" pattern is used, it works without
fails.
2) slapd compiled with select() fails to complete bind()ing to clients
significant number of times when "bind->single search->unbind" is used. But the
slapd keeps working without any failure.
Stack trace of epoll() version
[New Thread 1074023392 (LWP 27192)]
[New Thread -1209730272 (LWP 27195)]
[New Thread -1205535968 (LWP 27196)]
[New Thread -1191896288 (LWP 27197)]
slapd: ../../../openldap/servers/slapd/connection.c:254: connection_get:
Assertion `c->c_struct_state != 0x00' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread -1209730272 (LWP 27195)]
0x0fd1e76c in raise () from /lib/tls/libc.so.6
(gdb) thread apply all bt
Thread 4 (Thread -1191896288 (LWP 27197)):
#0 0x0fe3dad4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#1 0x0fe3dab8 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0x10163900 in ldap_int_thread_pool_wrapper ()
#3 0x0fe3aff4 in start_thread () from /lib/tls/libpthread.so.0
#4 0x0fdb1dc4 in clone () from /lib/tls/libc.so.6
Thread 3 (Thread -1205535968 (LWP 27196)):
#0 0x0fe3dad4 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#1 0x0fe3dab8 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0x10163900 in ldap_int_thread_pool_wrapper ()
#3 0x0fe3aff4 in start_thread () from /lib/tls/libpthread.so.0
#4 0x0fdb1dc4 in clone () from /lib/tls/libc.so.6
Thread 2 (Thread -1209730272 (LWP 27195)):
#0 0x0fd1e76c in raise () from /lib/tls/libc.so.6
#1 0x0fd2007c in abort () from /lib/tls/libc.so.6
#2 0x0fd173b0 in __assert_fail () from /lib/tls/libc.so.6
#3 0x1004492c in connection_get ()
#4 0x100470a0 in connection_read ()
#5 0x10043ab0 in slapd_daemon_task ()
#6 0x0fe3aff4 in start_thread () from /lib/tls/libpthread.so.0
#7 0x0fdb1dc4 in clone () from /lib/tls/libc.so.6
Thread 1 (Thread 1074023392 (LWP 27192)):
#0 0x0fe3b670 in pthread_join () from /lib/tls/libpthread.so.0
#1 0x10164e50 in ldap_pvt_thread_join ()
#2 0x10043e1c in slapd_daemon ()
#3 0x1002d3fc in main ()