Page MenuHomePhabricator

Cirrussearch Error "An error has occurred while searching" due to comma used as decimal separator
Closed, ResolvedPublic

Description

  • Tried to search for "test"
  • the quick search box gave an result
  • after clicking on "containing ... test" the following error occured
  • the cirrussearch error.log:
error.log
2018-03-16 14:34:24 wiki mediawiki: Title search result type hit a match but we can't figure out what caused the match:  0:Testseite
2018-03-16 14:34:24 wiki mediawiki: Title search result type hit a match but we can't figure out what caused the match:  0:Testliste
2018-03-16 14:34:24 wiki mediawiki: Title search result type hit a match but we can't figure out what caused the match:  0:Testseite
2018-03-16 14:34:24 wiki mediawiki: Title search result type hit a match but we can't figure out what caused the match:  0:Testliste
2018-03-16 14:34:26 wiki mediawiki: Search backend error during full_text search for 'test' after 6: number_format_exception: For input string: "0,5"
  • Browser tested:
    • Chrome
    • Firefox
    • Edge
  • Version:
    • MediaWiki 1.30.0 (4c97eee)
    • PHP 5.6.33-0+deb8u1 (apache2handler)
    • MySQL 5.5.59-0+deb8u1
    • ICU 52.1
    • Elasticsearch 5.4.3
    • CirrusSearch 0.2 (043d223)

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Workaround: Back to 1.29.2 (3e13d5a) and everything is working again

Change 421705 had a related patch set uploaded (by DCausse; owner: DCausse):
[mediawiki/extensions/CirrusSearch@master] Fix type convertion and actually use float for ns weights

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

dcausse renamed this task from Cirrussearch Error "An error has occurred while searching" to Cirrussearch Error "An error has occurred while searching" due to comma used as decimal separator.Mar 24 2018, 3:28 PM
dcausse claimed this task.
dcausse moved this task from needs triage to Current work on the Discovery-Search board.
dcausse moved this task from Incoming to Needs review on the Discovery-Search (Current work) board.

Change 421843 had a related patch set uploaded (by DCausse; owner: DCausse):
[mediawiki/extensions/CirrusSearch@REL1_30] Fix type convertion and actually use float for ns weights

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

Change 421705 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@master] Fix type convertion and actually use float for ns weights

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

Change 421843 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@REL1_30] Fix type convertion and actually use float for ns weights

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

Is this issue really solved? In MW 1.35 with the latest Cirrussearch and Elastica extensions we experience the very same error in CirrusSearch error log:

mw_xyz: Search backend error during full_text search for 'test' after 4: number_format_exception: For input string: "0,5"

CirrusSearch is definitly up and also ElasicSearch service works and can be reached by MW.

Maybe there is still a dependency on the locale; we have de_DE.UTF-8.

@Aschroet could you append &cirrusDumpQuery to the search URL you obtain when the error occurs and paste its output on the ticket, thanks!

Gehel triaged this task as High priority.Oct 12 2020, 3:25 PM
Gehel raised the priority of this task from High to Needs Triage.
Gehel moved this task from needs triage to Ops / SRE on the Discovery-Search board.
Gehel moved this task from Ops / SRE to Bugs on the Discovery-Search board.

@dcausse we got everything runing now by setting in the Localsettings.php:

$wgShellLocale = "C.UTF-8"
setlocale(LC_NUMERIC, "C");

This was also the solution for T181987. The troubleshooting just took as a while because we did not disable the MW chaching so that such parameter changes had no immediate effect.

@Aschroet thanks for the reply, closing as it seems you found a workaround.
Please feel free to re-open if you think there's still a fix to be made to Cirrus.