Last modified: 2008-02-09 21:25:04 UTC
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>
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.
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.
*** Bug 12979 has been marked as a duplicate of this bug. ***