Last modified: 2012-04-16 09:15:41 UTC
When attempting to create a page via the API, something is going wrong. But I cannot tell what, because when it tries to handle the error MediaWiki encounters another exception and errors out from that: MediaWiki internal error.<br /> <br /> Original exception: exception 'MWException' with message 'FauxRequest::getRequestURL() not implemented' in /usr/local/apache/common-local/php-1.18/includes/WebRequest.php:1106<br /> Stack trace:<br /> #0 /usr/local/apache/common-local/php-1.18/includes/WebRequest.php(1135): FauxRequest->notImplemented('FauxRequest::ge...')<br /> #1 /usr/local/apache/common-local/php-1.18/includes/Exception.php(154): FauxRequest->getRequestURL()<br /> #2 /usr/local/apache/common-local/php-1.18/includes/api/ApiMain.php(362): MWException->getLogMessage()<br /> #3 /usr/local/apache/common-local/php-1.18/includes/api/ApiMain.php(342): ApiMain->executeActionWithErrorHandling()<br /> #4 /usr/local/apache/common-local/php-1.18/api.php(115): ApiMain->execute()<br /> #5 /usr/local/apache/common-local/live-1.5/api.php(3): require('/usr/local/apac...')<br /> #6 {main}<br /> <br /> Exception caught inside exception handler: exception 'MWException' with message 'FauxRequest::getRequestURL() not implemented' in /usr/local/apache/common-local/php-1.18/includes/WebRequest.php:1106<br /> Stack trace:<br /> #0 /usr/local/apache/common-local/php-1.18/includes/WebRequest.php(1135): FauxRequest->notImplemented('FauxRequest::ge...')<br /> #1 /usr/local/apache/common-local/php-1.18/includes/Exception.php(154): FauxRequest->getRequestURL()<br /> #2 /usr/local/apache/common-local/php-1.18/includes/Exception.php(200): MWException->getLogMessage()<br /> #3 /usr/local/apache/common-local/php-1.18/includes/Exception.php(392): MWException->report()<br /> #4 /usr/local/apache/common-local/php-1.18/includes/Exception.php(471): MWExceptionHandler::report(Object(MWException))<br /> #5 [internal function]: MWExceptionHandler::handle(Object(MWException))<br /> #6 {main}<br /> Note that this bug is about the failure to return a sensible error message due to the 'FauxRequest::getRequestURL() not implemented' exception, not the API failure that is causing the original error. I'll file a separate bug about that if/when I figure out what is going on there.
<anomie> starttimestamp=20111005022150&assert=bot&basetimestamp=20111005022150&maxlag=5¬minor=1&format=json&summary=test&text=test&action=edit&createonly=1&title=User:Anomie/Sandbox12&md5=098f6bcd4621d373cade4e832627b4f6&token=...+\\&watchlist=nochange <anomie> Err, no double backslash on the token though Pushing under the API, quick test with AWB saved fine, so it's seemingly some extra parameter or something that upsets it
The latter of the two exceptions has been fixed in trunk already.
(In reply to comment #2) > The latter of the two exceptions has been fixed in trunk already. Sounds like there's a revision or 2 to merge out then
(In reply to comment #3) > (In reply to comment #2) > > The latter of the two exceptions has been fixed in trunk already. > > Sounds like there's a revision or 2 to merge out then Just r97291.
(In reply to comment #4) > (In reply to comment #3) > > (In reply to comment #2) > > > The latter of the two exceptions has been fixed in trunk already. > > > > Sounds like there's a revision or 2 to merge out then > > Just r97291. Tagged, cheers. Will merge after sleep if someone hasn't beaten me to it
Someone must have changed something, now it is giving a valid API error response and also creating pages that say "The requested page or revision cannot be found". Code is "internal_api_error_MWException", info is "Exception Caught: FauxRequest::getRequestURL() not implemented", and a key '*' has a backtrace: #0 /usr/local/apache/common-local/php-1.18/includes/WebRequest.php(1135): FauxRequest->notImplemented('FauxRequest::ge...') #1 /usr/local/apache/common-local/php-1.18/includes/WebRequest.php(605): FauxRequest->getRequestURL() #2 /usr/local/apache/common-local/php-1.18/includes/WikiPage.php(830): WebRequest->getFullRequestURL() #3 /usr/local/apache/common-local/php-1.18/includes/WikiPage.php(1256): WikiPage->updateRevisionOn(Object(DatabaseMysql), Object(Revision), 0) #4 [internal function]: WikiPage->doEdit('test', 'test', 97) #5 /usr/local/apache/common-local/php-1.18/includes/Article.php(1921): call_user_func_array(Array, Array) #6 [internal function]: Article->__call('doEdit', Array) #7 /usr/local/apache/common-local/php-1.18/includes/EditPage.php(1209): Article->doEdit('test', 'test', 97) #8 /usr/local/apache/common-local/php-1.18/includes/api/ApiEditPage.php(273): EditPage->internalAttemptSave(NULL, false) #9 /usr/local/apache/common-local/php-1.18/includes/api/ApiMain.php(692): ApiEditPage->execute() #10 /usr/local/apache/common-local/php-1.18/includes/api/ApiMain.php(358): ApiMain->executeAction() #11 /usr/local/apache/common-local/php-1.18/includes/api/ApiMain.php(342): ApiMain->executeActionWithErrorHandling() #12 /usr/local/apache/common-local/php-1.18/api.php(115): ApiMain->execute() #13 /usr/local/apache/common-local/live-1.5/api.php(3): require('/usr/local/apac...') #14 {main} I'm just guessing based on #2 above, but r98932 may have caused this change.
It should be fixed as of r98980, deployed at 03:57 UTC.
*** Bug 31367 has been marked as a duplicate of this bug. ***