Description of problem: An online reinitialization from a supplier to a consumer is causing the crash of the consumer after 15 hours. Version-Release number of selected component (if applicable): How reproducible: Not sure how easy to reproduce as the import is running for a long time ( 15 hours ) before the crash. Steps to Reproduce: Customer was reinitializing a consumer from a supplier using the Console. After some hours, the consumer crashed. Additional info: The crash seems to happen in the import code: ======================================== Core was generated by `/usr/sbin/ns-slapd -D /etc/dirsrv/slapd-389 -i /var/run/dirsrv/slapd-389.pid -w'. Program terminated with signal 11, Segmentation fault. #0 0x00007f688fa8d072 in import_wait_for_space_in_fifo (job=0x7f6744032850, new_esize=7011) at ldap/servers/slapd/back-ldbm/import-threads.c:1857 1857 temp_ep = job->fifo.item[i].entry; ======================================== An excerpt of the code: ======================================== 1844 static void 1845 import_wait_for_space_in_fifo(ImportJob *job, size_t new_esize) 1846 { 1847 struct backentry *temp_ep = NULL; 1848 size_t i; 1849 int slot_found; 1850 PRIntervalTime sleeptime; 1851 1852 sleeptime = PR_MillisecondsToInterval(import_sleep_time); 1853 1854 /* Now check if fifo has enough space for the new entry */ 1855 while ((job->fifo.c_bsize + new_esize) > job->fifo.bsize) { 1856 for ( i = 0, slot_found = 0 ; i < job->fifo.size ; i++ ) { 1857 temp_ep = job->fifo.item[i].entry; 1858 if (temp_ep) { 1859 if (temp_ep->ep_refcnt == 0 && temp_ep->ep_id <= job->ready_EID) { 1860 job->fifo.item[i].entry = NULL; 1861 if (job->fifo.c_bsize > job->fifo.item[i].esize) 1862 job->fifo.c_bsize -= job->fifo.item[i].esize; 1863 else 1864 job->fifo.c_bsize = 0; 1865 backentry_free(&temp_ep); 1866 slot_found = 1; 1867 } 1868 } 1869 } 1870 if ( slot_found == 0 ) 1871 DS_Sleep(sleeptime); 1872 } 1873 } ========================================
Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1368520
attachment 0001-Ticket-48960-Crash-in-import_wait_for_space_in_fifo.patch
git push origin master Counting objects: 8, done. Delta compression using up to 8 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (8/8), 1.37 KiB | 0 bytes/s, done. Total 8 (delta 6), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git bed1bd3..776d942 master -> master
commit 776d942 Author: Thierry Bordaz tbordaz@redhat.com Date: Fri Aug 19 14:32:47 2016 +0200
git push origin '''389-ds-base-1.3.4''' Counting objects: 8, done. Delta compression using up to 8 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (8/8), 1.38 KiB | 0 bytes/s, done. Total 8 (delta 6), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git c72a14f..c7fb671 389-ds-base-1.3.4 -> 389-ds-base-1.3.4
commit c7fb671 Author: Thierry Bordaz tbordaz@redhat.com Date: Fri Aug 19 14:32:47 2016 +0200
git push origin '''389-ds-base-1.2.11''' Counting objects: 8, done. Delta compression using up to 8 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (8/8), 1.39 KiB | 0 bytes/s, done. Total 8 (delta 6), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git 08b0ee8..855c34e 389-ds-base-1.2.11 -> 389-ds-base-1.2.11
commit 855c34e Author: Thierry Bordaz tbordaz@redhat.com Date: Fri Aug 19 14:32:47 2016 +0200
Metadata Update from @tbordaz: - Issue assigned to tbordaz - Issue set to the milestone: 1.2.11.33
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/2019
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.