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

       Web browser: ---
            Bug ID: 49498
           Summary: Invalid GeoCoordinateValue fatal error
           Product: MediaWiki extensions
           Version: master
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: WikidataRepo
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified
   Mobile Platform: ---

If I give the api (e.g. CreateClaim) an invalid value for geocoordinate, it
does not get validated.  Instead it fails hard with a fatal error, which gets
returned back to me, the bot / api user as a stack trace and obviously gets
logged.

I am told that the same error is appearing in the production fatal logs,
therefore if there is a reasonable way that we can patch it, we should and
backport it asap.

A more overall approach to better value validation, as described in bug 49263,
is needed soon as possible though would be too drastic of a change for
backporting.

PHP Catchable fatal error:  Argument 1 passed to
DataValues\\GeoCoordinateValue::newFromArray() must be an array, null given,
called in
/var/www/common/wikibase-repo/extensions/DataValues/DataValues/includes/DataValueFactory.php
on line 102 and defined in
/var/www/common/wikibase-repo/extensions/DataValues/DataValues/includes/values/GeoCoordinateValue.php
on line 281
PHP Stack trace:                         
PHP   1. {main}() /var/www/common/wikibase-repo/api.php:0
PHP   2. ApiMain->execute() /var/www/common/wikibase-repo/api.php:73
PHP   3. ApiMain->executeActionWithErrorHandling()
/var/www/common/wikibase-repo/includes/api/ApiMain.php:351
PHP   4. ApiMain->executeAction()
/var/www/common/wikibase-repo/includes/api/ApiMain.php:380
PHP   5. Wikibase\\Api\\CreateClaim->execute()
/var/www/common/wikibase-repo/includes/api/ApiMain.php:840
PHP   6. Wikibase\\Api\\CreateClaim->getSnakInstance()
/var/www/common/wikibase-repo/extensions/Wikibase/repo/includes/api/CreateClaim.php:67
PHP   7. Wikibase\\SnakFactory->newSnak()
/var/www/common/wikibase-repo/extensions/Wikibase/repo/includes/api/CreateClaim.php:190
PHP   8. Wikibase\\PropertyValueSnak::newFromPropertyValue()
/var/www/common/wikibase-repo/extensions/Wikibase/DataModel/DataModel/Snak/SnakFactory.php:53
PHP   9. Wikibase\\Property->newDataValue()
/var/www/common/wikibase-repo/extensions/Wikibase/DataModel/DataModel/Snak/PropertyValueSnak.php:151
PHP  10. DataValues\\DataValueFactory->newDataValue()
/var/www/common/wikibase-repo/extensions/Wikibase/DataModel/DataModel/Entity/Property.php:177
PHP  11. DataValues\\GeoCoordinateValue::newFromArray()
/var/www/common/wikibase-repo/extensions/DataValues/DataValues/includes/DataValueFactory.php:102


Depending on what I feed the api, am also able to get:

PHP Catchable fatal error:  Argument 1 passed to
DataValues\\GeoCoordinateValue::newFromArray() must be an array, string given,
called in
/var/www/common/wikibase-repo/extensions/DataValues/DataValues/includes/DataValueFactory.php
on line 102 and defined in
/var/www/common/wikibase-repo/extensions/DataValues/DataValues/includes/values/GeoCoordinateValue.php
on line 281

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

Reply via email to