i have 7.5.4 RedHat el3 75050824.12 on one box, i see that's about two months before the release your using. either they introduced an error in that release or you have something funny going on on your box. odds are it's something with your box unless you see other people here complaining of the same thing.
i see in /usr/local/psa/lib/perl5/BU/PSA/Backup/DNS.pm in that install that's close to your version that line 36 is this:
Code:
printf_stderr("Warning: incorrect dns record is detected for domain '%s'(dom_id:$dom_id) (host:'$host', val:'$val', type:'$type')\n", $domains{$dom_id}->getAttribute('name'));
and that comes right after this:
Code:
my $query = dbDoQuery('SELECT dns.id, dns.type, host, val, opt, time_stamp, ipa.id FROM dns_recs dns LEFT JOIN IP_Addresses ipa ON
(dns.type="A" AND dns.val=ipa.ip_address) OR (dns.type="PTR" AND dns.host=ipa.ip_address) WHERE dom_id="' . $dom_id . '"');
while (my ($id, $type, $host, $val, $opt, $time_stamp, $ip_address_id) = $query->fetchrow_array()) {
if (!$val || !$host || !$type) {
so it looks like the error occurs while trying to handle an error, the error being that a domain trying to be processed during the dump isn't valid. so, i think this is not really a bug but just error handling that didn't account for all scenarios.
that said, i suggest trying to find out if it is just due to one domain. if you're not familiar with perl, try doing a psadump specifying which domains to backup, start with a single domain. see if the dump completes successfully or if it fails even on one domain. if it fails on one, try it on some different domains (but one domain at a time). then, if you find that you can get it to work on one domain, keep trying different ones or groups of them until you can narrow down a specific domain that may be the problem.
the easier way to narrow it down, assuming you feel like some perl hacking, is to make a backup of the DNS.pm file and then modify it to show you what domain is the culprit. that's probably best way to debug this problem, but if you are unfamiliar with perl or afraid of messing things up (like, forgetting to backup before making changes), then that option isn't for you. --- if you do feel like doing this, it should yield and answer pretty quickly because you'll be able to see what domain id is the one missing the val, host or type fields. (you could also just run that same sql query without the WHERE clause to see if any of the returned results are missing the val, host or type, but i'm not sure that every domain is really being used in the dumpDNS subroutine, anyways, but that at least might give you an easy clue. if that did only show one domain missing values for one of those fields, though, then that would be the culprit.)
anyways, good luck narrowing down the problem domain/domain record