Item10676: Request for invalid web name gives 500 mongo crash instead of 404
Priority: Normal
Current State: Closed
Released In: n/a
Target Release: n/a
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
) 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
--
SvenDowideit - 26 Apr 2011
Cool, that works now. Thanks.
--
PaulHarvey - 13 May 2011