Item1928: SafeWikiPlugin: Dies on badly formed XHTML

pencil
Priority: Normal
Current State: New
Released In:
Target Release: n/a
Applies To: Extension
Component: SafeWikiPlugin
Branches: trunk
Reported By: PaulHarvey
Waiting For: Main.PaulHarvey
Last Change By: CrawfordCurrie
This report may not be interesting to anybody, because the plugin otherwise works fine. However on badly formed HTML this plugin seems to die (inconsistently).

I assume it's because of mismatched/unclosed tags.

I understand that more effort is required on my part in order for this "issue" to be resolved, I'm just giving this log snippet on the off chance it might be useful to somebody.

If I get time to work out how to reliably reproduce the error I'll make a note of my findings in this task.

| 2009-08-17T04:58:59Z warning | Stack top is leaf: 0: 
 at /usr/lib/perl5/5.8.8/CGI/Carp.pm line 356
   CGI::Carp::realdie('Stack top is leaf: 0: \x{a}') called at /usr/lib/perl5/5.8.8/CGI/Carp.pm line 437
   CGI::Carp::die('Stack top is leaf: 0: \x{a}') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins/SafeWikiPlugin/Parser.pm line 131
   Foswiki::Plugins::SafeWikiPlugin::Parser::_apply('Foswiki::Plugins::SafeWikiPlugin::Parser=HASH(0x2e1f790)', 'h1') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins/SafeWikiPlugin/Parser.pm line 91
   Foswiki::Plugins::SafeWikiPlugin::Parser::_closeTag('Foswiki::Plugins::SafeWikiPlugin::Parser=HASH(0x2e1f790)', 'h1') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins/SafeWikiPlugin/Parser.pm line 35
   eval {...} called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins/SafeWikiPlugin/Parser.pm line 35
   Foswiki::Plugins::SafeWikiPlugin::Parser::parseHTML('Foswiki::Plugins::SafeWikiPlugin::Parser=HASH(0x2e1f790)', '<!--WYSIWYG content - do not remove this comment, and never u...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins/SafeWikiPlugin.pm line 51
   Foswiki::Plugins::SafeWikiPlugin::completePageHandler('<!--WYSIWYG content - do not remove this comment, and never u...', 'X-Foswikiuri: /bin/rest/WysiwygPlugin/tml2html\x{d}\x{a}X-Foswikiacti...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugin.pm line 273
   Foswiki::Plugin::invoke('Foswiki::Plugin=HASH(0x2245da0)', 'completePageHandler', '<!--WYSIWYG content - do not remove this comment, and never u...', 'X-Foswikiuri: /bin/rest/WysiwygPlugin/tml2html\x{d}\x{a}X-Foswikiacti...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins.pm line 316
   Foswiki::Plugins::dispatch('Foswiki::Plugins=HASH(0xd67df0)', 'completePageHandler', '<!--WYSIWYG content - do not remove this comment, and never u...', 'X-Foswikiuri: /bin/rest/WysiwygPlugin/tml2html\x{d}\x{a}X-Foswikiacti...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki.pm line 690
   Foswiki::writeCompletePage('Foswiki=HASH(0x63d030)', '<!--WYSIWYG content - do not remove this comment, and never u...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI/Rest.pm line 199
   Foswiki::UI::Rest::rest('Foswiki=HASH(0x63d030)') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI.pm line 299
   Foswiki::UI::__ANON__() called at /usr/lib/perl5/site_perl/5.8.8/Error.pm line 415
   eval {...} called at /usr/lib/perl5/site_perl/5.8.8/Error.pm line 407
   Error::subs::try('CODE(0x91de80)', 'HASH(0x2e3e1c0)') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI.pm line 381
   Foswiki::UI::_execute('Foswiki::Request=HASH(0xcf13b0)', 'CODE(0xcf12c0)', 'rest', 1) called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI.pm line 270
   Foswiki::UI::handleRequest('Foswiki::Request=HASH(0xcf13b0)') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Engine/CGI.pm line 26
   Foswiki::Engine::CGI::run('Foswiki::Engine::CGI=HASH(0xaf8b00)') called at /srv/www/vhosts/wiki.server.org/foswiki/bin/rest line 45
 at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins/SafeWikiPlugin/Parser.pm line 35
   Foswiki::Plugins::SafeWikiPlugin::Parser::parseHTML('Foswiki::Plugins::SafeWikiPlugin::Parser=HASH(0x2e1f790)', '<!--WYSIWYG content - do not remove this comment, and never u...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins/SafeWikiPlugin.pm line 51
   Foswiki::Plugins::SafeWikiPlugin::completePageHandler('<!--WYSIWYG content - do not remove this comment, and never u...', 'X-Foswikiuri: /bin/rest/WysiwygPlugin/tml2html\x{d}\x{a}X-Foswikiacti...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugin.pm line 273
   Foswiki::Plugin::invoke('Foswiki::Plugin=HASH(0x2245da0)', 'completePageHandler', '<!--WYSIWYG content - do not remove this comment, and never u...', 'X-Foswikiuri: /bin/rest/WysiwygPlugin/tml2html\x{d}\x{a}X-Foswikiacti...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins.pm line 316
   Foswiki::Plugins::dispatch('Foswiki::Plugins=HASH(0xd67df0)', 'completePageHandler', '<!--WYSIWYG content - do not remove this comment, and never u...', 'X-Foswikiuri: /bin/rest/WysiwygPlugin/tml2html\x{d}\x{a}X-Foswikiacti...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki.pm line 690
   Foswiki::writeCompletePage('Foswiki=HASH(0x63d030)', '<!--WYSIWYG content - do not remove this comment, and never u...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI/Rest.pm line 199
   Foswiki::UI::Rest::rest('Foswiki=HASH(0x63d030)') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI.pm line 299
   Foswiki::UI::__ANON__() called at /usr/lib/perl5/site_perl/5.8.8/Error.pm line 415
   eval {...} called at /usr/lib/perl5/site_perl/5.8.8/Error.pm line 407
   Error::subs::try('CODE(0x91de80)', 'HASH(0x2e3e1c0)') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI.pm line 381
   Foswiki::UI::_execute('Foswiki::Request=HASH(0xcf13b0)', 'CODE(0xcf12c0)', 'rest', 1) called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/UI.pm line 270
   Foswiki::UI::handleRequest('Foswiki::Request=HASH(0xcf13b0)') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Engine/CGI.pm line 26
   Foswiki::Engine::CGI::run('Foswiki::Engine::CGI=HASH(0xaf8b00)') called at /srv/www/vhosts/wiki.server.org/foswiki/bin/rest line 45.

-- PaulHarvey - 17 Aug 2009

Hmm. NatSkin is now validating (well, aside from 3 benign things that seem to be browser hacks), and yet I'm still getting these tml2html (WYSIWYG provoked) backtraces.

Crawford: Is SafeWikiPlugin known to work okay with WYSIWYG? Is SafeWikiPlugin being applied to the TML/HTML conversion?

Generally I can cause these errors by going to WYSIWYG edit -> browser refresh.

For instance at the moment, the top of the error looks like: CGI::Carp::realdie('Stack top is leaf: 0: \\x{a}') called at /usr/lib/perl5/5.8.8/CGI/Carp.pm line 437 And further down, a piece of the fragment it seems to (?) have choked on:
Foswiki::Plugin::invoke('Foswiki::Plugin=HASH(0x223fc30)', 'completePageHandler', '<!--WYSIWYG content - do not remove this comment, and never u...', 'X-Foswikiuri: /bin/rest/WysiwygPlugin/tml2html\\x{d}\\x{a}X-Foswikiacti...') called at /srv/www/vhosts/wiki.server.org/foswiki/lib/Foswiki/Plugins.pm line 316

-- PaulHarvey - 19 Aug 2009

Have been getting lots of these: Use of uninitialized value in string eq at (...) /foswiki/lib/Foswiki/Plugins/SafeWikiPlugin/Parser.pm line 72 (#1)


Tricky; that's quite a complex line of code. Either $this->{stackTop}->{tag} or $tag is undefined; but which? Perhaps if you shared the XHTML that reproduces the problem....

-- CrawfordCurrie - 26 Oct 2009

Thanks for the input. I'll try to set up something that's easy to reproduce.

-- PaulHarvey - 26 Oct 2009

Sadly I'm not running with SafeWikiPlugin any more. Setting back to new.

-- PaulHarvey - 30 Aug 2010
Topic revision: r10 - 06 Feb 2012, CrawfordCurrie
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy