Bug 1183180

Summary: makedbm fails to getnerate target file with gmake[1]: *** [passwd.byname] Error 1
Product: Red Hat Enterprise Linux 6 Reporter: Scott Dowdle <dowdle>
Component: ypservAssignee: Honza Horak <hhorak>
Status: CLOSED DUPLICATE QA Contact: qe-baseos-daemons
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 6.6CC: ppisar
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-19 09:28:10 UTC 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 Scott Dowdle 2015-01-16 23:03:35 UTC
Description of problem:

I have been running ypserv for several years without incident on a single server.  A cron job is set to update the data every 10 minutes.  I just noticed that the update process broke for me on Dec. 30th or at least that is the date on /var/yp/{domain}/passwd.byname file.

When I manually cd into /var/yp and run make I get the following error:

# make
gmake[1]: Entering directory `/var/yp/{domain}'
Updating passwd.byname...
makedbm: dbm_store: Success
gmake[1]: *** [passwd.byname] Error 1
gmake[1]: Leaving directory `/var/yp/{domain}'
make: *** [target] Error 2

I replaced my real domain name with {domain} above.

I moved my /var/yp/{domain} directory to a new name and created the directory again... and tried to initialize my domain from scratch by going into /var/yp and running:

/usr/lib64/yp/ypinit -m

I made sure the ypdomainname returned the correct value prior to running that... and the command just gives the same error... it attempts to generate the target files and fails immediately with two ~ files left behind in the attempt.

My source files are fine that is to say that the yp configuration has not changed and nothing else on the server has changed other than just keeping up with updates.  Things like /etc/passwd, /etc/shadow, and /etc/group are in good working condition and users who ssh in can authenticate file using local auth.  I did a vipw, vipw -s, vigr, etc... and the source files are valid.  The system is still functioning because it keeps the old data files behind since it can't generate replacement files... leaving ~ files behind.

I tried stracing the make process and nothing jumped out at me.  SELinux (due to a wide range of other factors) has been set to permissive for some time now... and nothing in the logs seems related / informative.

I'm in a big bind because of the service failure and plan on setting up OpenLDAP on the same server to see if that can get me by until I can figure it out.

Version-Release number of selected component (if applicable):
ypserv-2.19-26.el6_4.2.x86_64

How reproducible:
Run "cd /var/yp ; make" or "cd /var/yp ; /usr/lib64/yp/ypinit -m" and it fails.

Steps to Reproduce:
1. cd /var/yp
2. make
3.

Actual results:
Errors with error mentioned at the top of this report

Expected results:
It should rebuild all of the target files in /var/yp/{domain}

Additional info:

Comment 2 Scott Dowdle 2015-01-18 04:33:36 UTC
I discovered that this problem was caused by the update to gdbm-1.8.0-37.el6.x86_64.rpm

Reverting back to gdbm-1.8.0-36.el6.x86_64.rpm completely fixes the problem.

Comment 3 Petr Pisar 2015-01-19 09:28:10 UTC

*** This bug has been marked as a duplicate of bug 1180392 ***