Bug 2172258

Summary: ns-slapd crashing in ldbm_back_upgradednformat()
Product: Red Hat Directory Server Reporter: Têko Mihinto <tmihinto>
Component: 389-ds-baseAssignee: thierry bordaz <tbordaz>
Status: MODIFIED --- QA Contact: LDAP QA Team <idm-ds-qe-bugs>
Severity: high Docs Contact: Evgenia Martynyuk <emartyny>
Priority: unspecified    
Version: 11.6CC: bsmejkal, emartyny, idm-ds-dev-bugs, mreynolds, msauton, pasik, tbordaz
Target Milestone: ---   
Target Release: dirsrv-11.8   
Hardware: x86_64   
OS: Linux   
Whiteboard: sync-to-jira
Fixed In Version: redhat-ds-11-8090020230808123031.4a0d6ab8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Têko Mihinto 2023-02-21 18:33:55 UTC
Description of problem:
ns-slapd is crashing when trying to run upgradednformat

Version-Release number of selected component (if applicable):
$ cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.7 (Ootpa)
$
$ rpm -q 389-ds-base
389-ds-base-1.4.3.31-11.module+el8dsrv+17815+4f95348d.x86_64
$

How reproducible:
Always.

Steps to Reproduce:
1. Stop the instance
2. Run the upgradednformat command:
$ upgradednformat -N -n userroot  -a /var/lib/dirsrv/slapd-<INSTANCE>/db/userroot -Z <INSTANCE>
3. Check the output:
/usr/sbin/upgradednformat: line 76: 15681 Segmentation fault      (core dumped) /usr/sbin/ns-slapd upgradednformat -D /etc/dirsrv/slapd-<INSTANCE> -n "userroot" -a "/var/lib/dirsrv/slapd-<INSTANCE>/db/userroot"

Stack trace:
$ gdb /usr/sbin/ns-slapd /var/tmp/upgradednformat_core
...
Core was generated by `/usr/sbin/ns-slapd upgradednformat -D /etc/dirsrv/slapd-<INSTANCE> -n userroot -a /v'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007faa3b1aa44c in ldbm_back_upgradednformat (pb=0x5633f40f5420) at ldap/servers/slapd/back-ldbm/ldif2ldbm.c:366
366        return priv->dblayer_upgradedn_fn(pb);;
(gdb)
(gdb) where
#0  0x00007faa3b1aa44c in ldbm_back_upgradednformat (pb=0x5633f40f5420) at ldap/servers/slapd/back-ldbm/ldif2ldbm.c:366
#1  0x00005633f1fe0baf in slapd_exemode_upgradednformat (mcfg=<optimized out>) at ldap/servers/slapd/main.c:2626
#2  0x00005633f1fe0baf in main (argc=8, argv=<optimized out>) at ldap/servers/slapd/main.c:865
(gdb)

Actual results:
Crash.

Expected results:
Working command.

Additional info:
A customer was performing an upgrade.
The upgradednformat failed and left a copy of the current DB under the directory <DB_LOCATION>/dnupgrade
That caused a disk space issue.

Comment 3 thierry bordaz 2023-04-17 14:49:42 UTC
Fix pushed upstream -> POST