#8267 FreeIPA hangs every other day
Closed: duplicate by abbra. Opened by oddwill.

Issue

ns-slapd process hangs every couple of days, deadlock I presume but I can't find the reason for that.

Actual behavior

ns-slapd hangs, graceful restart doesn't work. Only kill -9.

Version/Release/Distribution

CentOS Linux release 7.7.1908

rpm -q freeipa-server freeipa-client ipa-server ipa-client 389-ds-base pki-ca krb5-server
package freeipa-server is not installed
package freeipa-client is not installed
ipa-server-4.6.5-11.el7.centos.4.x86_64
ipa-client-4.6.5-11.el7.centos.4.x86_64
389-ds-base-1.3.9.1-13.el7_7.x86_64
pki-ca-10.5.16-5.el7_7.noarch
krb5-server-1.15.1-37.el7_7.2.x86_64

Additional info:

Attached are couple of stack traces I managed to collect from servers when this occurred

Log file locations: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Linux_Domain_Identity_Authentication_and_Policy_Guide/config-files-logs.html
Troubleshooting guide: https://www.freeipa.org/page/Troubleshooting

stacktrace.1585074635.txt
stacktrace.1586434177.txt


This is the consequence of https://bugzilla.redhat.com/show_bug.cgi?id=1751295, where the retroCL trimming thread triggers a deadlock

Thread 2 (Thread 0x7fe399270700 (LWP 1819)):
#0  0x00007fe39635035e in pthread_rwlock_wrlock () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S:85
#1  0x00007fe385fd6639 in backend_be_pre_write_cb () at /usr/lib64/dirsrv/plugins/schemacompat-plugin.so
#2  0x00007fe398bf9028 in plugin_call_func () at /usr/lib64/dirsrv/libslapd.so.0
#3  0x00007fe398bf92e3 in plugin_call_plugins () at /usr/lib64/dirsrv/libslapd.so.0
#4  0x00007fe387faac88 in ldbm_back_delete (pb=0x557b0941bce0) at ldap/servers/slapd/back-ldbm/ldbm_delete.c:373
#5  0x00007fe398ba9feb in op_shared_delete () at /usr/lib64/dirsrv/libslapd.so.0
#6  0x00007fe398baa1c8 in delete_internal_pb () at /usr/lib64/dirsrv/libslapd.so.0
#7  0x00007fe38661131e in delete_changerecord () at /usr/lib64/dirsrv/plugins/libretrocl-plugin.so
#8  0x00007fe386611605 in changelog_trim_thread_fn () at /usr/lib64/dirsrv/plugins/libretrocl-plugin.so
#9  0x00007fe3969acc5b in _pt_root (arg=0x557ae7ee9e60) at ../../../nspr/pr/src/pthreads/ptthread.c:201
#10 0x00007fe39634ce65 in start_thread (arg=0x7fe399270700) at pthread_create.c:307
#11 0x00007fe3959f888d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

A fix is under test but is not released yet.
Please apply the workaround https://bugzilla.redhat.com/show_bug.cgi?id=1751295#c5

Metadata Update from @tbordaz:
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1751295

@tbordaz Is there risk disabling retroCL trimming?
What might be the consequences?

@oddwill the retroCL db contains all updates received by the server. disabling the trimming means that it will grow at the rate of the #update. Usually the db is quite small and growth has no impact.
Note that updates not trimmed while retrocl trimming is disabled will be trimmed when it is back enabled.

@tbordaz will the fix also be available for RHEL7?

This should not be a ticket in FreeIPA. It should be for slapi-nis.

RHEL 7 bugzilla is https://bugzilla.redhat.com/show_bug.cgi?id=1820124

Metadata Update from @abbra:
- Issue close_status updated to: duplicate
- Issue status updated to: Closed (was: Open)

Metadata