https://bugzilla.wikimedia.org/show_bug.cgi?id=59940

       Web browser: ---
            Bug ID: 59940
           Summary: Flow: fatal FlowException from Special:Contribution on
                    production test servers
           Product: MediaWiki extensions
           Version: master
          Hardware: All
               URL: https://test.wikipedia.org/wiki/Special:Contributions/
                    103.6.159.113
                OS: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: Flow
          Assignee: wikibugs-l@lists.wikimedia.org
          Reporter: sp...@wikimedia.org
                CC: ebernhard...@wikimedia.org, oke...@wikimedia.org,
                    pandiculat...@gmail.com, sp...@wikimedia.org
    Classification: Unclassified
   Mobile Platform: ---

Saw these two in fatal.log on test servers.  I can still recreate the problem
by visiting the URL.

The trigger for the fatal may be garbled posts left over from bug 59884, but I
think there's a problem in the exception handling masking it. (We need tests
for assertions, write a test that fails and assert it should throw
FlowException.)

I think the proximate fix might be to add the single line
use Flow\Exception\FlowException;
to includes/WorkflowLoader.php , or instead to namespace the exception.
     throw new \Flow\Exception\FlowException...
phpcs doesn't spot the problem.

I scanned for similar exception handling errors and noticed:
includes/View/History/HistoryRecord.php has an unused use MWException
includes/Data/MultiDimArray.php has an unwanted \ prefix on throw new
\InvalidInputException

The code is trying to throw 'Interwiki not implemented' because $this->wiki !==
wfWikiId(), which is strange because Special:Contributions doesn't try to list
contributions from other wikis. Again, the post might be garbled.  The
exception would be a lot more useful if it printed
  $this->wiki;

Here are the fatal.log lines:

[10-Jan-2014 15:07:40] Fatal error: Class 'Flow\Model\FlowException' not found
at
/usr/local/apache/common-local/php-1.23wmf10/extensions/Flow/includes/Model/Workflow.php
on line 96
Server: mw1017
Method: GET
URL: http://test.wikipedia.org/wiki/Special:Contributions/103.6.159.113
Cookie: centralnotice_bucket=1-4.2; uls-previous-languages=%5B%22en%22%5D;
mediaWiki.user.sessionId=WEsSugO0VRXL8dYyGA9Vd47JrkEhm3Bs
Backtrace:
#0
/usr/local/apache/common-local/php-1.23wmf10/extensions/Flow/includes/Model/Workflow.php(96):
Flow\Model\Workflow::getArticleTitle()
#1
/usr/local/apache/common-local/php-1.23wmf10/extensions/Flow/includes/Contributions/Query.php(214):
Flow\Model\Workflow->getArticleTitle()
#2
/usr/local/apache/common-local/php-1.23wmf10/extensions/Flow/includes/Contributions/Query.php(111):
Flow\Contributions\Query->buildResult(Object(ContribsPager),
Object(Flow\Model\PostRevision), 'topic')
#3 /usr/local/apache/common-local/php-1.23wmf10/extensions/Flow/Hooks.php(337):
Flow\Contributions\Query->getResults(Object(ContribsPager), '', 51, false)
#4 [internal function]: FlowHooks::onContributionsQuery(Array,
Object(ContribsPager), '', 51, false)
#5 /usr/local/apache/common-local/php-1.23wmf10/includes/Hooks.php(199):
call_user_func_array('FlowHooks::onCo...', Array)
#6
/usr/local/apache/common-local/php-1.23wmf10/includes/GlobalFunctions.php(4032):
Hooks::run('ContribsPager::...', Array)
#7
/usr/local/apache/common-local/php-1.23wmf10/includes/specials/SpecialContributions.php(691):
wfRunHooks('ContribsPager::...', Array)
#8 /usr/local/apache/common-local/php-1.23wmf10/includes/Pager.php(226):
ContribsPager->reallyDoQuery('', 51, false)
#9 /usr/local/apache/common-local/php-1.23wmf10/includes/Pager.php(552):
IndexPager->doQuery()
#10
/usr/local/apache/common-local/php-1.23wmf10/includes/specials/SpecialContributions.php(187):
IndexPager->getNumRows()
#11
/usr/local/apache/common-local/php-1.23wmf10/includes/specialpage/SpecialPage.php(374):
SpecialContributions->execute('103.6.159.113')
#12
/usr/local/apache/common-local/php-1.23wmf10/includes/SpecialPageFactory.php(487):
SpecialPage->run('103.6.159.113')
#13 /usr/local/apache/common-local/php-1.23wmf10/includes/Wiki.php(298):
SpecialPageFactory::executePath(Object(Title), Object(RequestContext))
#14 /usr/local/apache/common-local/php-1.23wmf10/includes/Wiki.php(599):
MediaWiki->performRequest()
#15 /usr/local/apache/common-local/php-1.23wmf10/includes/Wiki.php(460):
MediaWiki->main()
#16 /usr/local/apache/common-local/php-1.23wmf10/index.php(49):
MediaWiki->run()
#17 /usr/local/apache/common-local/w/index.php(3):
require('/usr/local/apac...')
#18 {main}

and later
[10-Jan-2014 15:07:40] Fatal error: Class 'Flow\Model\FlowException' not found
at
/usr/local/apache/common-local/php-1.23wmf10/extensions/Flow/includes/Model/Workflow.php
on line 96
Server: mw1017
Method: GET
URL: http://test.wikipedia.org/wiki/Special:Contributions/103.6.159.113
Cookie: centralnotice_bucket=1-4.2; uls-previous-languages=%5B%22en%22%5D;
mediaWiki.user.sessionId=WEsSugO0VRXL8dYyGA9Vd47JrkEhm3Bs

with identical backtrace.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to