I run a few smokers that use the RSS recent uploads feed from search.cpan.org
These have been happily running years without problems until a couple of days ago.
Now I am seeing:
[search-cpan-recent] [!!] Failed to parse RSS XML:
reference to invalid character number at line 580, column 58, byte 28109 at /Library/Perl/5.8.6/darwin-thread-multi-2level/XML/Parser.pm line 187
WTF.
So who is to blame.
I start trailing backwards through the twisted dependencies to how I got here.
So, I'm using POE::Component::RSSAggregator, which is using XML::RSS::Feed, which is using XML::RSS, which is using XML::Parser. Nothing obviously wrong anywhere there.
Okay, let's look at the actual RDF file.
Aha. On the line 580 of that we have a character. Which leads me to here.
So now I am bashing my head of the keyboard, cursing.
Pesky edge cases.
Update: I reported the problem and Graham has swiftly resolved the issue. Many thanks, Graham.