Hmm... Seems I never updated this.
I have always, since 2005, needed to comment out the 'rrd_init' and 'rrd_close' lines in poller.php. If I do not do this, graphs created after a certain date (and I have not had luck figuring out which graph this is), will not update. After commenting out these lines in poller.php, all my graphs start working again. I need to repeat this process every time I upgrade. I've always blamed it on some eccentricity of that Gentoo server.
However, the powers that be rewarded me with an upgraded server for cacti. So I put a fresh install of Ubuntu 6.06 LTS Server on it, and installed cacti from scratch. (I did not use the repository, as the version in there is quite outdated)
Once cacti was working correctly with a fresh install (it was working fine), I moved my database, scripts, resources, and rrd's across. Once I did this, the problem reappeared on the new server. Commenting out 'rrd_init' and 'rrd_close' fixed the issue once again.
At this point, I think there must be a setting in my cacti install, some corruption in the database, or a problem with one of my scripts that is causing the poller to stop working after a certain point.
The logs are large, and there are lots of lines (before and after the "fix") that contain:
"WARNING: Result from SCRIPT not valid. Partial result: ...". I believe these are the result of data sources set up with unresponsive hosts (which generally return "U" in place of a number).
Capturing STDERR from poller.php results in a number of messages with "ERROR: Not enough arguments", and occasionally "write error: broken pipe". These seem to happen whether or not the rrd_init/rrd_close lines are commented out.
The fix works, but I know The_Witness showed some interest in getting it resolved. However, he alluded that removing these lines might result in a speed penalty, and we'd like to get as much out of this machine as we can.
(Though, in other news, our server upgrade brought our 5+ minute polling process down to 122seconds:
03/18/2008 07:32:04 AM - SYSTEM STATS: Time:122.4952 Method:spine Processes:4 Threads:32 Hosts:310 HostsPerProcess:78 DataSources:7778 RRDsProcessed:3274