On a system upgraded from 4.6.0 RC to 4.6.0 without any problems, if you access the XML feeds you get a :
XML Parsing Error: not well-formed Location: http://<hostname>/node/feed Line Number 17, Column 3: <0></0> --^
The number (here 0) varies, obviously, and it's a numerical only element which is included at the end of the $extra array while building.
A quick hack in node.module, by adding after line 1166
$void = array_pop($extra);
just before the $extra array is merged in
$extra = array_merge($extra, array(array('key' => 'pubDate', 'va $extra = array_merge($extra, array(array('key' => 'pubDate', 'value' => date('r', $item->changed))));lue' => date('r', $item->changed))));
fixes the XML output, but this is quite obviously not a solution.
Can this be a local problem depending on installation issues or is it really code misbehaving?
BTW, apparently you do not notice this problem with RSS readers like Liferea for Gnome. Firefox 1.x (with Sage installed) complains.
Comments
Comment #1
killes@www.drop.org commentedfixed in head.
Comment #2
(not verified) commentedComment #3
(not verified) commentedComment #4
(not verified) commentedComment #5
(not verified) commentedComment #6
Steve Dondley commentedCan someone report exactly how this was fixed? I'm reopening with the attached patch and changing to CVS. A word of caution, I'm not sure how this patch might affect other operations that use the node_invoke_nodeapi function. I have this patch in 4.6.3 with no apparent adverse affects.
Comment #7
resmini commentedI'm a bit skeptical about those previous fixes, since I had the bug show up again as soon as I did I clean install of 4.6.3.
Before applying my silly-willy solution above I tried your patch and I can confirm it works. So far, in normal circumstances and three live sites, no problems reported.
Comment #8
Steven commentedIsn't this just an issue of making sure that there are no nodeapi('rss item') hooks returning strings? They should either return null, or return an array (empty or otherwise).
Upload.module contained such a naughty hook, here's a patch which changes it.
Comment #9
markstos commentedSome further insight about this: I found I still had the issue after upgrading after 4.6.5. What fixed it for me was clearning the case. From my postgresql shell prompt I ran:
# delete from cache ;
This indicates to me that the problem had somehow been fixed earlier, but the broken version was still being served from the cache.
Comment #10
killes@www.drop.org commentedThe patch should be applied for consistency.
Comment #11
dries commentedCommitted to HEAD. Thanks.
Comment #12
dries commented