SUSE Linux Enterprise Server 10 Service Pack 2
After a crash winbind would only stay up for five to ten minutes before going into high utilization and eventually stop responding to all requests.
/var/log/samba/winbindd.log reported a line as follows (emphasis added):
tdb(/var/lib/samba/gencache.tdb): tdb_rec_read bad magic 0x42424242 at offset=181324
/var/lib/samba/*cache*.tdb files had some corruption. We tested the tdb files with the following command:
# cd /var/lib/samba
# for i in $( ls -1 | grep cache | grep tdb | grep -v bak ); do tdbdump $i | wc -l; done
We would expect the wc -l on each file to be greater than 0 (zero). The winbindd.log also pointed to the corrupt file (note the gencache.tdb in the same line with "bad magic" as listed above)
Generally, the above symptoms will mean that there is corruption in one of the /var/lib/samba/*cache*.tdb files. Development recommends NOT deleting this information without first speaking with a Samba Developer. For this reason, this TID is to remain INTERNAL ONLY.
1. Stop winbind, nmb, and smb.
2. After copying the *cache*.tdb files into a backup directory of your choice, delete the *cache*.tdb files from /var/lib/samba (NOTE: Do not touch the .bak files).
3. Start winbind, smb, and nmb (starting winbind first is considered good practice). The files in step number two should be recreated upon service restart
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.