Page MenuHomePhabricator

error code="internal_api_error_MWException" info="Exception Caught: Internal error in ApiResult::setElement: Attempting to merge element imageinfo"
Closed, ResolvedPublic

Description

Author: edwardbetts

Description:
This URL:

http://commons.wikimedia.org/w/api.php?action=query&generator=categorymembers&gcmcategory=Featured_pictures&gcmnamespace=6&prop=imageinfo&iiprop=url

Gives me an error:

<?xml version="1.0" encoding="utf-8"?>
<api>

<error code="internal_api_error_MWException" info="Exception Caught: Internal error in ApiResult::setElement: Attempting to merge element imageinfo">

#0 /usr/local/apache/common-local/php-1.5/includes/api/ApiBase.php(641): wfDebugDieBacktrace('Internal error ...')
#1 /usr/local/apache/common-local/php-1.5/includes/api/ApiResult.php(106): ApiBase::dieDebug('ApiResult::setE...', 'Attempting to m...')
#2 /usr/local/apache/common-local/php-1.5/includes/api/ApiResult.php(186): ApiResult::setElement(Array, 'imageinfo', Array)
#3 /usr/local/apache/common-local/php-1.5/includes/api/ApiQueryBase.php(174): ApiResult->addValue('query-continue', 'imageinfo', Array)
#4 /usr/local/apache/common-local/php-1.5/includes/api/ApiQueryImageInfo.php(88): ApiQueryBase->setContinueEnumParameter('start', '20060329000400')
#5 /usr/local/apache/common-local/php-1.5/includes/api/ApiQuery.php(209): ApiQueryImageInfo->execute()
#6 /usr/local/apache/common-local/php-1.5/includes/api/ApiMain.php(347): ApiQuery->execute()
#7 /usr/local/apache/common-local/php-1.5/includes/api/ApiMain.php(215): ApiMain->executeAction()
#8 /usr/local/apache/common-local/php-1.5/includes/api/ApiMain.php(200): ApiMain->executeActionWithErrorHandling()
#9 /usr/local/apache/common-local/php-1.5/api.php(77): ApiMain->execute()
#10 /usr/local/apache/common-local/live-1.5/api.php(3): require('/usr/local/apac...')
#11 {main}

</error>
</api>


Version: unspecified
Severity: normal
URL: http://commons.wikimedia.org/w/api.php?action=query&generator=categorymembers&gcmcategory=Featured_pictures&gcmnamespace=6&prop=imageinfo&iiprop=url

Details

Reference
bz12953

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:02 PM
bzimport set Reference to bz12953.

Bryan.TongMinh wrote:

Caused by r30483. I'm not sure how to fix this. I think the imageprop generator should only add a query-continue parameter if it is not being used a generator?

(In reply to comment #1)

Caused by r30483. I'm not sure how to fix this. I think the imageprop generator
should only add a query-continue parameter if it is not being used a generator?

No, it's because imageinfo adds a query-continue for every image. ApiResult doesn't want us to set conflicting query-continue values, and throws a fatal error.

I'm looking at fixing this right now. I just discovered imageinfo does queries in loops, which is guaranteed to cause a performance hit for large queries.

(In reply to comment #2)

I just discovered imageinfo does queries
in loops, which is guaranteed to cause a performance hit for large queries.

Due to the way the filerepo code works, the queries in loops can't be avoided. I did fix this particular bug in r30665 by having imageinfo only set a query-continue if only one image title is specifie; in the event multiple titles are specified, setting a query-continue value would be impossible anyway.

edwardbetts wrote:

I'm still getting this error. When will it be pushed to Commons?

It's been fixed on trunk. It'll be pushed to Commons whenever someone feels up to it. I'll poke Brion.

Bryan.TongMinh wrote:

*** Bug 12979 has been marked as a duplicate of this bug. ***