Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-5117

ns-slapd crash in dbmdb_import_prepare_worker_entry()

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: Generate New Ti...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • 389-ds-base-3.1.3-2.el10
    • None
    • Important
    • ZStream
    • rhel-idm-ds
    • ssg_idm
    • 0
    • False
    • False
    • Hide

      None

      Show
      None
    • Yes
    • None
    • Approved Blocker
    • Bug Fix
    • Hide
      .`389-ds-base` no longer fails during the LMDB offline import

      Before this update, a race condition occurred when a worker thread read an entry before another process finished writing the entry. As a result, offline import on an instance with the Lightning Memory-Mapped Database Manager (LMDB) backend caused a segmentation fault.

      With this update, Directory Server ensures thread-safe access by locking the worker queue before writing entries, and the server no longer fails during the LMDB offline import.
      Show
      .`389-ds-base` no longer fails during the LMDB offline import Before this update, a race condition occurred when a worker thread read an entry before another process finished writing the entry. As a result, offline import on an instance with the Lightning Memory-Mapped Database Manager (LMDB) backend caused a segmentation fault. With this update, Directory Server ensures thread-safe access by locking the worker queue before writing entries, and the server no longer fails during the LMDB offline import.
    • Done
    • None
    • 57,005

      Description of problem:
      Using test case from https://bugzilla.redhat.com/show_bug.cgi?id=2116948#c3 (with adjusted map size to 60 GB instead of 20), server crashes with:
      (gdb) bt
      #0 0x00007effc4cc6e01 in __strncmp_avx2_rtm () at /lib64/libc.so.6
      #1 0x00007effc158fdfd in dbmdb_import_prepare_worker_entry (wqelmnt=0x55a541a29a60)
      at ldap/servers/slapd/back-ldbm/db-mdb/mdb_import_threads.c:1347
      #2 0x00007effc1595b4e in dbmdb_import_worker (param=<optimized out>)
      at ldap/servers/slapd/back-ldbm/db-mdb/mdb_import_threads.c:3191
      #3 0x00007effc4f0fc34 in _pt_root () at /lib64/libnspr4.so
      #4 0x00007effc4c9f802 in start_thread () at /lib64/libc.so.6
      #5 0x00007effc4c3f450 in clone3 () at /lib64/libc.so.6

      Version-Release number of selected component (if applicable):
      389-ds-base-2.3.6-2.el9.x86_64

      How reproducible:
      always

      Steps to Reproduce:
      1. NSSLAPD_DB_LIB=mdb py.test -v import_test.py::test_crash_on_ldif2db_with_lmdb (upstream test has the same name, but it's a different test case).

      Actual results:
      Server crashes

      Expected results:
      Server should complete the import using LMDB backend.

      Additional info:

              idm-ds-dev-bugs IdM DS Dev
              vashirov@redhat.com Viktor Ashirov
              IdM DS Dev IdM DS Dev
              IdM DS QE IdM DS QE
              Evgenia Martyniuk Evgenia Martyniuk
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated:
                Resolved: