Package: bandwidthd Version: 2.0.1+cvs20090917-4.1 Severity: normal
When using bandwidthd with the recover-cdf option set to true the log files will never get correctly read on startup. This is true even if the CDF files exist and are valid. The following messages are seen in the logs on startup: bandwidthd: Finished recovering 0 records bandwidthd: Failed to parse part of log file. Giving up on the file This seems to be the same issue as a bug submitted upstream that is a few years old. (Sourceforge tracker number 2018613.) However, the upstream project seems rather dead. The bug is a simple mistake with a pair of fscanf calls. They expect 7 fields to be parsed when they ask for 8. I've attached a patch that fixes the problem and I've submitted the same patch to the upstream tracker. -- System Information: Debian Release: 6.0.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
--- bandwidthd-2.0.1+cvs20090917.orig/bandwidthd.c +++ bandwidthd-2.0.1+cvs20090917/bandwidthd.c @@ -1192,10 +1192,10 @@ if (fscanf(cdf, "%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,", &ip->Send.total, &ip->Send.icmp, &ip->Send.udp, - &ip->Send.tcp, &ip->Send.ftp, &ip->Send.http, &ip->Send.mail, &ip->Send.p2p) != 7 + &ip->Send.tcp, &ip->Send.ftp, &ip->Send.http, &ip->Send.mail, &ip->Send.p2p) != 8 || fscanf(cdf, "%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu", &ip->Receive.total, &ip->Receive.icmp, &ip->Receive.udp, - &ip->Receive.tcp, &ip->Receive.ftp, &ip->Receive.http, &ip->Receive.mail, &ip->Receive.p2p) != 7) + &ip->Receive.tcp, &ip->Receive.ftp, &ip->Receive.http, &ip->Receive.mail, &ip->Receive.p2p) != 8) goto End_RecoverDataFromCdf; }