#66 Plugin deadlocks during new zone load when connections == 1
Closed: Fixed None Opened 12 years ago by pspacek.

Plugin deadlocks if new zone was found inside refresh_zones_from_ldap() load and
/etc/named.conf contains "connections 1". It affects also named start.

refresh_zones_from_ldap() holds one connection and second connection is requested inside ldapdb_rdatalist_get() during new zone load.

Stack with deadlock

pthread_cond_wait@@GLIBC_2.3.2() at /usr/src/debug/glibc-2.14-394-g8f3b1ff/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165 0x7fa359abfae5
semaphore_wait() at /home/pspacek/bind-dyndb-ldap/git/src/semaphore.c:87 0x7fa354d4d806 
ldap_pool_getconnection() at /home/pspacek/bind-dyndb-ldap/git/src/ldap_helper.c:2,577 0x7fa354d4bc4b   
ldapdb_rdatalist_get() at /home/pspacek/bind-dyndb-ldap/git/src/ldap_helper.c:1,471 0x7fa354d48786  
findnode() at /home/pspacek/bind-dyndb-ldap/git/src/ldap_driver.c:421 0x7fa354d41783    
zone_get_from_db() at /usr/src/debug/bind-9.8.2rc2/lib/dns/zone.c:3,905 0x7fa35b76338e  
zone_postload() at /usr/src/debug/bind-9.8.2rc2/lib/dns/zone.c:3,405 0x7fa35b7663cd 
zone_load() at /usr/src/debug/bind-9.8.2rc2/lib/dns/zone.c:1,552 0x7fa35b76c3db 
ldap_parse_zoneentry() at /home/pspacek/bind-dyndb-ldap/git/src/ldap_helper.c:1,067 0x7fa354d473be  
refresh_zones_from_ldap() at /home/pspacek/bind-dyndb-ldap/git/src/ldap_helper.c:1,162 0x7fa354d47797   
manager_create_db_instance() at /home/pspacek/bind-dyndb-ldap/git/src/zone_manager.c:183 0x7fa354d4f861 
dynamic_driver_init() at /home/pspacek/bind-dyndb-ldap/git/src/ldap_driver.c:1,329 0x7fa354d435a1   
dns_dynamic_db_load() at /usr/src/debug/bind-9.8.2rc2/lib/dns/dynamic_db.c:232 0x7fa35b68ed94   
configure_dynamic_db() at /usr/src/debug/bind-9.8.2rc2/bin/named/server.c:1,210 0x7fa35be30bf0  
configure_view() at /usr/src/debug/bind-9.8.2rc2/bin/named/server.c:2,784 0x7fa35be30bf0    
load_configuration() at /usr/src/debug/bind-9.8.2rc2/bin/named/server.c:4,918 0x7fa35be59b9c    
run_server() at /usr/src/debug/bind-9.8.2rc2/bin/named/server.c:5,387 0x7fa35be5b4d5    
dispatch() at /usr/src/debug/bind-9.8.2rc2/lib/isc/task.c:1,012 0x7fa35a105eb8  
run() at /usr/src/debug/bind-9.8.2rc2/lib/isc/task.c:1,157 0x7fa35a105eb8   
start_thread() at /usr/src/debug/glibc-2.14-394-g8f3b1ff/nptl/pthread_create.c:309 0x7fa359abbd90   
clone() at /usr/src/debug/glibc-2.14-394-g8f3b1ff/sysdeps/unix/sysv/linux/x86_64/clone.S:115 0x7fa358ff6f5d

Metadata Update from @dpal:
- Issue assigned to pspacek
- Issue set to the milestone: 3.0 IPA

7 years ago

Login to comment on this ticket.

Metadata