Page MenuHomePhabricator

Wikimedia\Rdbms\Database::selectSQLText called from IndexPager::buildQueryInfo (SecurePoll_ElectionPager) with incorrect parameters: $conds must be a string or an array
Closed, ResolvedPublic

Description

I think it is the train because it is on wiktionaries only, and it seems like a simple syntax problem that would have happened on a new deployment, but please prove me wrong. If it is not a blocker, at least it is a real bug happening on production right now:

{
  "_index": "logstash-2018.03.08",
  "_type": "mediawiki",
  "_id": "AWIFB9AYruwYJ7-tProw",
  "_version": 1,
  "_score": null,
  "_source": {
    "server": "en.wiktionary.org",
    "unique_id": "WqEIJApAMFYAAF6Po-4AAAAS",
    "level": "WARNING",
    "ip": "10.64.0.102",
    "wiki": "enwiktionary",
    "channel": "DBQuery",
    "mwversion": "1.31.0-wmf.24",
    "message": "Wikimedia\\Rdbms\\Database::selectSQLText called from IndexPager::buildQueryInfo (SecurePoll_ElectionPager) with incorrect parameters: $conds must be a string or an array",
    "type": "mediawiki",
    "normalized_message": "Wikimedia\\Rdbms\\Database::selectSQLText called from IndexPager::buildQueryInfo (SecurePoll_ElectionPager) with incorrect parameters: $conds must be a string or an array",
    "url": "/wiki/Special:SecurePoll",
    "tags": [
      "syslog",
      "es",
      "es"
    ],
    "reqId": "WqEIJApAMFYAAF6Po-4AAAAS",
    "referrer": "https://en.wiktionary.org/wiki/Wiktionary:Requests_for_deletion/English",
    "@timestamp": "2018-03-08T09:53:40.000Z",
    "http_method": "GET",
    "@version": 1,
    "host": "mw1251",
    "shard": "s2"
  },
  "fields": {
    "@timestamp": [
      1520502820000
    ]
  },
  "sort": [
    1520502820000
  ]
}

Event Timeline

jcrespo created this task.Mar 8 2018, 10:04 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 8 2018, 10:04 AM
Huji claimed this task.Mar 8 2018, 4:51 PM
Huji added a subscriber: Huji.

Will review in a few hours

Change 417481 had a related patch set uploaded (by Huji; owner: Huji):
[mediawiki/extensions/SecurePoll@master] $conds value passed from getQueryInfo() must be an array

https://gerrit.wikimedia.org/r/417481

My theory is that this would be a long-existing issue, or degraded gracefully, but the new deploy, rather than break things, exposed it as an error. Could that be what happened?

Huji added a comment.Mar 10 2018, 4:29 PM

Likely.

There are two things to know about SecurePoll: (1) because it is not used often, logs are not generated daily, so you won't know that a, so to speak, "new" log is because something just broke, or because someone just used a rarely used feature that has been broken for a long time. (2) The code base is archaic, to the point that most SQL queries in it do not comply with strict mode.

I have suggested to add errors like this one to fatalmonitor dashboard on T165675

Change 417481 merged by jenkins-bot:
[mediawiki/extensions/SecurePoll@master] $conds value passed from getQueryInfo() must be an array

https://gerrit.wikimedia.org/r/417481

Thank you very much for working on this.

Huji closed this task as Resolved.Mar 22 2018, 11:36 PM
Huji removed a project: Patch-For-Review.
mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:09 PM