Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deadlock when deleting user #2278

Closed
389-ds-bot opened this issue Sep 13, 2020 · 5 comments
Closed

Deadlock when deleting user #2278

389-ds-bot opened this issue Sep 13, 2020 · 5 comments
Labels
closed: not a bug Migration flag - Issue

Comments

@389-ds-bot
Copy link

Cloned from Pagure issue: https://pagure.io/389-ds-base/issue/49219

  • Created at 2017-04-14 15:16:00 by zeduke
  • Closed at 2017-05-12 09:03:08 as invalid
  • Assigned to tbordaz (@tbordaz)

Issue Description

When deleting a user, deadlock occures "sometimes". Only a restart of dirsrv resolve the problem.
I say "sometimes" because it is not then only condition of the bug : most delete operations are successful.

Package Version and Platform

Centos 7.3
389-ds-base-libs-1.3.5.10-18.el7_3.x86_64
389-ds-base-snmp-1.3.5.10-18.el7_3.x86_64
389-ds-base-debuginfo-1.3.5.10-18.el7_3.x86_64
389-ds-base-1.3.5.10-18.el7_3.x86_64

Steps to reproduce

I haven't achieved a deterministic way to reproduce this bug. I have only determined what is the minimal context of the bug. I miss a element I think. So someone can considers that necessary but not sufficient conditions

  1. Delete a user : the operation can be time expensive because of memberOf Plugin and Managed Entry plugin
  2. Some LDAP ABANDON of LDAP search.
  3. SASL/GSSAPI connection of a replica : that is the last access log before deadlock

One time it occurs when adding a user

Actual results

deadlock when deleting user

Expected results

no deadlock when deleting occurs

stacktrace.1492092731.txt
dirsrv_access_log.txt

@389-ds-bot 389-ds-bot added the closed: not a bug Migration flag - Issue label Sep 13, 2020
@389-ds-bot
Copy link
Author

Comment from tbordaz (@tbordaz) at 2017-04-14 15:40:20

In this ticket, likely the deadlock is between Threads 30 and 21 that are taking locks (DB and schema-compat map) in opposite order. (Need db lock dump and dumped core of DS)

We know it exists such scenario of deadlocks and are working on a fix.
But I think your IPA configuration is not valid.
You should have:

schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,<main_suffix>
schema-compat-restrict-subtree: <main_suffix>
schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config

For the following entries:

dn: cn=computers,cn=Schema Compatibility,cn=plugins,cn=config
dn: cn=groups,cn=Schema Compatibility,cn=plugins,cn=config
dn: cn=ng,cn=Schema Compatibility,cn=plugins,cn=config
dn: cn=sudoers,cn=Schema Compatibility,cn=plugins,cn=configdn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config
dn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config

IMHO this ticket should rather be on IPA than DS because configuration of schema-compat is done in IPA.

In conclusion:

  • if the deadlock occurs again and you have support case, please get a core dump of DS, also a dump of DB lock (db-stat -CA -N /var/lib/dirsrv/slapd-/db, and usual data (dse.ldif and DS access/errors)
  • Try the proposed Schema-compat configuration if it improves the situations
  • What version DS/IPA are you using ?

@389-ds-bot
Copy link
Author

Comment from tbordaz (@tbordaz) at 2017-04-14 15:40:24

Metadata Update from @tbordaz:

  • Custom field type adjusted to defect

@389-ds-bot
Copy link
Author

Comment from tbordaz (@tbordaz) at 2017-04-24 09:57:09

Metadata Update from @tbordaz:

  • Issue assigned to tbordaz

@389-ds-bot
Copy link
Author

Comment from tbordaz (@tbordaz) at 2017-05-12 08:58:41

This bug is a slapi-nis bug. I opened https://pagure.io/slapi-nis/issue/14 to track it and closing this one

@389-ds-bot
Copy link
Author

Comment from tbordaz (@tbordaz) at 2017-05-12 09:03:15

Metadata Update from @tbordaz:

  • Issue close_status updated to: invalid
  • Issue status updated to: Closed (was: Open)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed: not a bug Migration flag - Issue
Projects
None yet
Development

No branches or pull requests

1 participant