Item10789: foswiki.org/Extensions/WebChanges can be crashed by a topic that fails to load completely
Priority: Urgent
Current State: Closed
Released In: 1.1.4
Target Release: patch
http://foswiki.org/Extensions/WebChanges will fail with a lenghty message.
--
ModAcOst - 25 May 2011
In trying to see what might be causing the issue, I was comparing bin/changes script with
WebRss and
WebChanges.
Item8570 contained an ampersand in the Summary and had broken
WebRss, After editing that topic and substituting "and",
WebChanges seems to be working. I have no idea if this is actually related, and unfortunately I didn't record the traceback first. Failure was calling
InfoCache with an unblessed reference.
--
GeorgeClark - 25 May 2011
Raised to urgent, if we're getting it on foswiki.org, others probably are too. I saw an error like this on trunk and found that we weren't handling bad/missing topicinfo metadata very well.
--
PaulHarvey - 26 May 2011
Found the following error repeatedly in the error_log from the 25th.
[Wed May 25 21:29:50 2011] [error] [client 62.243.208.118] [Wed May 25 21:29:50 2011] view: Deep recursion on subroutine "Foswiki::Query::Node::toString" at /usr/home/foswiki.org/public_html/lib/Foswiki/Query/Node.pm line 94., referer: http://foswiki.org/Tasks/WebChanges
However I can't correlate this with the save of this task, so may be unrelated.
--
GeorgeClark - 27 May 2011
WARNING: this is temporarily hacked on foswiki.org. refer to
http://trunk.foswiki.org/Extensions/WebChanges to see the evil disease!
I can confirm that without the hack, it fails on f.o as well.
Index: InfoCache.pm
===================================================================
--- InfoCache.pm (revision 11876)
+++ InfoCache.pm (working copy)
@@ -325,6 +325,7 @@
my $info = $metacache->get($webtopic);
if ( !defined( $info->{$sortfield} ) ) {
if ( $sortfield eq 'modified' ) {
+$info = $info->{tom} unless UNIVERSAL::can($info, "getRevisionInfo");
my $ri = $info->getRevisionInfo();
$info->{$sortfield} = $ri->{date};
}
Same hack worked on t.f.o. Really needs Sven to look at this, as he understands
InfoCache.
--
CrawfordCurrie - 08 Jun 2011
thankyou for the hack diff here.
I am looking into this, though only as I find brain time -
InfoCache was written by a crazy person, and every time i touch it, weird things happen :/
--
SvenDowideit - 09 Jun 2011
really fascinating. - its still only the
VarNEXUSTREES topic - so I need to make a unit test that mimics that case.
--
SvenDowideit - 09 Jun 2011
fixed in 1.1 - i think.
--
SvenDowideit - 12 Jun 2011