I'm not sure who to blame, but I am not bloody happy

BinGOs on 2008-09-22T12:02:04

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.