Item10676: Request for invalid web name gives 500 mongo crash instead of 404

pencil
Priority: Normal
Current State: Closed
Released In: n/a
Target Release: n/a
Applies To: Extension
Component: MongoDBPlugin
Branches:
Reported By: PaulHarvey
Waiting For: SvenDowideit
Last Change By: PaulHarvey
Trawling through our logs trying to discover the cause for some lingering 500s, I came across this. Eg. /pub/TaxonProfile/Definitions/WC_SpacioTemporalDistribution/SPRAT_MovementPatterns (this is rewritten to viewfile). It's supposed to be a topic TaxonProfile/Definitions.WC_SpacioTemporalDistribution with an attachment named SPRAT_MovementPatterns, but instead we get:

Software error:

query error: invalid db name: foswiki__TaxonProfile__Definitions__WC_SpacioTemporalDistribution.current at /usr/local/lib/perl/5.10.1/MongoDB/Collection.pm line 246.

For help, please send mail to the webmaster, giving this error message and the time and date of the error. 

This failure also occurs if you try to access the topic TaxonProfile/Definitions/WC_SpacioTemporalDistribution.SPRAT_MovementPatterns

-- PaulHarvey - 24 Apr 2011

I've added a die (that causes the unit tests to fail frown, sad smile ) that might give more info - can you please add the stacktrace to the task.

-- SvenDowideit - 25 Apr 2011

query error: invalid db name: foswiki__TaxonProfile__Definitions__WC_SpacioTemporalDistribution.current at /usr/local/lib/perl/5.10.1/MongoDB/Collection.pm line 246.
 at /usr/local/lib/perl/5.10.1/MongoDB/Collection.pm line 246
	MongoDB::Collection::find_one('MongoDB::Collection=HASH(0x3555310)', 'HASH(0x355a208)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Plugins/MongoDBPlugin/Meta.pm line 103
	Foswiki::Plugins::MongoDBPlugin::Meta::reload('Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x3554b18)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Plugins/MongoDBPlugin/Listener.pm line 219
	Foswiki::Plugins::MongoDBPlugin::Listener::loadTopic('Foswiki::Plugins::MongoDBPlugin::Listener=HASH(0x28ffca0)', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x3554b18)', undef) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Store.pm line 183
	Foswiki::Store::askListeners('Foswiki::Store::RcsWrap=HASH(0x1732cd0)', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x3554b18)', undef) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Store/VC/Store.pm line 82
	Foswiki::Store::VC::Store::readTopic('Foswiki::Store::RcsWrap=HASH(0x1732cd0)', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x3554b18)', undef) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Meta.pm line 1020
	Foswiki::Meta::loadVersion('Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x3554b18)', undef) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Meta.pm line 455
	Foswiki::Meta::load('Foswiki::Meta', 'Foswiki=HASH(0xd371d0)', 'TaxonProfile/Definitions/WC_SpacioTemporalDistribution', 'WebHome', undef) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Func.pm line 1529
	Foswiki::Func::readTopic('TaxonProfile/Definitions/WC_SpacioTemporalDistribution', 'WebHome') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Plugins/BreadCrumbsPlugin/Core.pm line 318
	Foswiki::Plugins::BreadCrumbsPlugin::Core::getTopicTitle('TaxonProfile/Definitions/WC_SpacioTemporalDistribution', 'WebHome') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Plugins/BreadCrumbsPlugin/Core.pm line 205
	Foswiki::Plugins::BreadCrumbsPlugin::Core::getLocationBreadCrumbs('TaxonProfile/Definitions/WC_SpacioTemporalDistribution', 'SPRAT_MovementPatterns', 'HASH(0x3667438)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Plugins/BreadCrumbsPlugin/Core.pm line 110
	Foswiki::Plugins::BreadCrumbsPlugin::Core::renderBreadCrumbs('Foswiki=HASH(0xd371d0)', 'Foswiki::Attrs=HASH(0x35679a8)', 'TrinWidgets', 'System', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x33eb778)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Plugins/BreadCrumbsPlugin.pm line 54
	Foswiki::Plugins::BreadCrumbsPlugin::renderBreadCrumbs('Foswiki=HASH(0xd371d0)', 'Foswiki::Attrs=HASH(0x35679a8)', 'TrinWidgets', 'System', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x33eb778)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Func.pm line 568
	Foswiki::Func::__ANON__('Foswiki=HASH(0xd371d0)', 'Foswiki::Attrs=HASH(0x35679a8)', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x33eb778)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki.pm line 3038
	Foswiki::_expandMacroOnTopicRendering('Foswiki=HASH(0xd371d0)', 'BREADCRUMBS', '"TaxonProfile/Definitions/WC_SpacioTemporalDistribution.SPRAT...', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x33eb778)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki.pm line 2917
	Foswiki::_processMacros('Foswiki=HASH(0xd371d0)', '
No such plugin "superfish"
No such plugin "supersubs"
%ADDTOZONE{\x{a} ...', 'CODE(0x1652658)', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x33eb778)', 16) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki.pm line 2714 Foswiki::innerExpandMacros('Foswiki=HASH(0xd371d0)', 'SCALAR(0x33d6770)', 'Foswiki::Plugins::MongoDBPlugin::Meta=HASH(0x33eb778)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Macros/INCLUDE.pm line 294 Foswiki::__ANON__() called at /usr/local/share/perl/5.10.1/Error.pm line 415 eval {...} called at /usr/local/share/perl/5.10.1/Error.pm line 407 Error::subs::try('CODE(0x33eb658)', 'HASH(0x33eb478)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Macros/INCLUDE.pm line 341 Foswiki::INCLUDE('Foswiki=HASH(0xd371d0)', 'Foswiki::Attrs=HASH(0x33eba78)', 'Foswiki::Meta=HASH(0x3313ee0)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki.pm line 3038 Foswiki::_expandMacroOnTopicRendering('Foswiki=HASH(0xd371d0)', 'INCLUDE', '\x{a}\x{9} "System.TrinWidgets"\x{a}\x{9} section="crumbs"\x{a}\x{9} ', 'Foswiki::Meta=HASH(0x3313ee0)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki.pm line 2917 Foswiki::_processMacros('Foswiki=HASH(0xd371d0)', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN...', 'CODE(0x1652658)', 'Foswiki::Meta=HASH(0x3313ee0)', 16) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki.pm line 2714 Foswiki::innerExpandMacros('Foswiki=HASH(0xd371d0)', 'SCALAR(0x1662010)', 'Foswiki::Meta=HASH(0x3313ee0)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki.pm line 3215 Foswiki::expandMacros('Foswiki=HASH(0xd371d0)', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN...', 'Foswiki::Meta=HASH(0x3313ee0)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Meta.pm line 3189 Foswiki::Meta::expandMacros('Foswiki::Meta=HASH(0x3313ee0)', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN...') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/UI/Oops.pm line 130 Foswiki::UI::Oops::oops('Foswiki=HASH(0xd371d0)', 'TaxonProfile/Definitions/WC_SpacioTemporalDistribution', 'WebPreferences', 'Foswiki::Request=HASH(0x16cfa28)', 0) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/OopsException.pm line 222 Foswiki::OopsException::generate('Foswiki::OopsException=HASH(0x32db5d0)', 'Foswiki=HASH(0xd371d0)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/UI.pm line 379 Foswiki::UI::__ANON__('Foswiki::OopsException=HASH(0x32db5d0)', 'SCALAR(0xed07f8)') called at /usr/local/share/perl/5.10.1/Error.pm line 339 eval {...} called at /usr/local/share/perl/5.10.1/Error.pm line 329 Error::subs::run_clauses('HASH(0xd36d80)', 'Foswiki::OopsException=HASH(0x32db5d0)', undef, 'ARRAY(0xedcdf8)') called at /usr/local/share/perl/5.10.1/Error.pm line 426 Error::subs::try('CODE(0xe50390)', 'HASH(0xd36d80)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/UI.pm line 435 Foswiki::UI::_execute('Foswiki::Request=HASH(0x16cfa28)', 'CODE(0x16cf3c8)', 'command_line', 1, 'view', 1) called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/UI.pm line 274 Foswiki::UI::handleRequest('Foswiki::Request=HASH(0x16cfa28)') called at /usr/local/src/git.trin.org.au/core/lib/Foswiki/Engine/CLI.pm line 53 Foswiki::Engine::CLI::run('Foswiki::Engine::CLI=HASH(0x10957c8)') called at bin/view line 29.

-- PaulHarvey - 26 Apr 2011

I've made a commit that I think should protect against this, but i'm not sure. if it doesn't I guess I have to write a unit test smile

-- SvenDowideit - 26 Apr 2011

Cool, that works now. Thanks.

-- PaulHarvey - 13 May 2011
 

ItemTemplate edit

Summary Request for invalid web name gives 500 mongo crash instead of 404
ReportedBy PaulHarvey
Codebase trunk
SVN Range
AppliesTo Extension
Component MongoDBPlugin
Priority Normal
CurrentState Closed
WaitingFor SvenDowideit
Checkins MongoDBPlugin:bf1df8cca79a MongoDBPlugin:e092051b4bfc
TargetRelease n/a
ReleasedIn n/a
Topic revision: r7 - 13 May 2011, PaulHarvey
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