This section covers problems related to the namespace database and tables, which result in error messages with operative clauses such as:
"Abort_transaction: Internal database error"
"Abort_transaction: Internal Error, log entry corrupt"
"Callback: - select failed"
"CALLBACK_SVC: bad argument"
See also Ownership and Permission Problems.
Indications that you have multiple independent rpc.nisd daemons running are database and transaction log corruption error messages that contain the terms:
"Log entry corrupt"
In normal operation, rpc.nisd may spawn child rpc.nisd daemons. However, if two parent rpc.nisd daemons are running at the same time on the same machine, they overwrite each other's data and corrupt logs and databases. (Normally, this could only occur if someone starts rpc.nisd by command.)
To check whether this is the problem, run ps -ef | grep rpc.nisd. If you have more than one parent rpc.nisd entries, you must kill all but one of them. Use kill -9 process-id, then run the ps command again to make sure it has died. (If you started rpc.nisd with the -B option, you must also kill the rpc.nisd_resolv daemon.)
If an NIS+ database is corrupt, you must restore it from your most recent backup that contains an uncorrupted version of the database. You can then use the logs to update changes made to your namespace since the backup was recorded. However, if your logs are also corrupted, you must re-create any namespace modifications made since the backup was taken.