Fehler bei einigen Suchen in der Filebase

  • Affected Version
    WoltLab Suite 5.5

    Hi zusammen,

    bei mir im Forum fällt mir seit kurzem auf, dass im Fehlerprotokoll einige MySQL-Fehler geloggt werden. Einige Suchbegriffe (nicht alle), die über die Filebase laufen, lösen einen Fehler aus. Beschränkt man die Suche auf den Betreff (nicht nur Betreff + Nachricht) wird der Fehler nicht geworfen.

    Beispiel:

    https://www.orkenspalter.de/filebase/ => Suche nach Bornland

    Konkret wird ausgelöst:

    Habt ihr eine Idee, woran das liegen könnte?

    Vollständiges Fehlerprotokoll:

    Display Spoiler
    Requested URL
    POST /wcf/index.php?ajax-proxy/&t=95055ecea7c2078435fde5b82399c2034f40910234c932ff1c24db5c138fafa2-SzHJ72KGNKem/judnG6ZGQ==
    Referrer
    https://www.orkenspalter.de/wcf/index.php?search/&q=DSA&type=com.woltlab.filebase.file&sortField=time&sortOrder=DESC
    WoltLab Suite
    5.5.7
    PHP
    8.0.25
    Error Message
    MySQL search query failed.
    Type
    wcf\system\search\exception\SearchFailed
    File (Line)
    /home/www/orkenspalter.de/wcf/lib/system/search/mysql/MysqlSearchEngine.class.php (130)
    Stacktrace
    1. /home/www/orkenspalter.de/wcf/lib/system/search/SearchEngine.class.php (115): wcf\system\search\mysql\MysqlSearchEngine->search(…)
    2. /home/www/orkenspalter.de/wcf/lib/system/search/SearchHandler.class.php (312): wcf\system\search\SearchEngine->search(…)
    3. /home/www/orkenspalter.de/wcf/lib/system/search/SearchHandler.class.php (89): wcf\system\search\SearchHandler->loadResults(…)
    4. /home/www/orkenspalter.de/wcf/lib/data/search/SearchAction.class.php (105): wcf\system\search\SearchHandler->search(…)
    5. /home/www/orkenspalter.de/wcf/lib/data/AbstractDatabaseObjectAction.class.php (216): wcf\data\search\SearchAction->search(…)
    6. /home/www/orkenspalter.de/wcf/lib/action/AJAXProxyAction.class.php (92): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    7. /home/www/orkenspalter.de/wcf/lib/action/AJAXInvokeAction.class.php (111): wcf\action\AJAXProxyAction->invoke(…)
    8. /home/www/orkenspalter.de/wcf/lib/action/AbstractAction.class.php (57): wcf\action\AJAXInvokeAction->execute(…)
    9. /home/www/orkenspalter.de/wcf/lib/action/AJAXInvokeAction.class.php (65): wcf\action\AbstractAction->__run(…)
    10. /home/www/orkenspalter.de/wcf/lib/system/request/Request.class.php (90): wcf\action\AJAXInvokeAction->__run(…)
    11. /home/www/orkenspalter.de/wcf/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    12. /home/www/orkenspalter.de/wcf/index.php (11): wcf\system\request\RequestHandler->handle(…)
    Error Message
    Could not execute statement 'SELECT filebase1_file.fileID AS objectID, time, username, 'com.woltlab.filebase.file' AS objectType, ( SELECT subject FROM filebase1_file_content WHERE fileID = filebase1_file.fileID AND (languageID IS NULL OR languageID = 1) ) AS subject FROM filebase1_file INNER JOIN ( SELECT DISTINCT file_content.fileID FROM filebase1_file_content file_content INNER JOIN (SELECT objectID , '0' AS relevance FROM filebase1_file_search_index WHERE MATCH (subject, message, metaData) AGAINST (? IN BOOLEAN MODE) AND (languageID IN (?,?,?,?,?,?) OR languageID = 0) LIMIT 2500) search_index ON file_content.fileContentID = search_index.objectID ) AS subselect ON filebase1_file.fileID = subselect.fileID WHERE filebase1_file.categoryID IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) AND filebase1_file.isDisabled = 0 AND filebase1_file.isDeleted = 0 ORDER BY time DESC LIMIT 1000'
    Type
    wcf\system\database\exception\DatabaseQueryExecutionException
    File (Line)
    /home/www/orkenspalter.de/wcf/lib/system/database/statement/PreparedStatement.class.php (144)
    Query Parameter 1
    '+DSA*'
    Query Parameter 2
    1
    Query Parameter 3
    2
    Query Parameter 4
    5
    Query Parameter 5
    3
    Query Parameter 6
    6
    Query Parameter 7
    4
    Query Parameter 8
    4
    Query Parameter 9
    6
    Query Parameter 10
    9
    Query Parameter 11
    22
    Query Parameter 12
    23
    Query Parameter 13
    25
    Query Parameter 14
    26
    Query Parameter 15
    28
    Query Parameter 16
    29
    Query Parameter 17
    30
    Query Parameter 18
    31
    Query Parameter 19
    34
    Query Parameter 20
    40
    Query Parameter 21
    101
    Query Parameter 22
    107
    Query Parameter 23
    5
    Query Parameter 24
    7
    Query Parameter 25
    10
    Query Parameter 26
    24
    Query Parameter 27
    27
    Query Parameter 28
    32
    Query Parameter 29
    41
    Query Parameter 30
    8
    Query Parameter 31
    11
    Query Parameter 32
    33
    Query Parameter 33
    42
    Query Parameter 34
    12
    Query Parameter 35
    39
    Query Parameter 36
    44
    Query Parameter 37
    13
    Query Parameter 38
    45
    Query Parameter 39
    14
    Query Parameter 40
    46
    Query Parameter 41
    15
    Query Parameter 42
    47
    Query Parameter 43
    16
    Query Parameter 44
    48
    Query Parameter 45
    194
    Query Parameter 46
    17
    Query Parameter 47
    49
    Query Parameter 48
    111
    Query Parameter 49
    18
    Query Parameter 50
    50
    Stacktrace
    1. /home/www/orkenspalter.de/wcf/lib/system/search/mysql/MysqlSearchEngine.class.php (122): wcf\system\database\statement\PreparedStatement->execute(…)
    2. /home/www/orkenspalter.de/wcf/lib/system/search/SearchEngine.class.php (115): wcf\system\search\mysql\MysqlSearchEngine->search(…)
    3. /home/www/orkenspalter.de/wcf/lib/system/search/SearchHandler.class.php (312): wcf\system\search\SearchEngine->search(…)
    4. /home/www/orkenspalter.de/wcf/lib/system/search/SearchHandler.class.php (89): wcf\system\search\SearchHandler->loadResults(…)
    5. /home/www/orkenspalter.de/wcf/lib/data/search/SearchAction.class.php (105): wcf\system\search\SearchHandler->search(…)
    6. /home/www/orkenspalter.de/wcf/lib/data/AbstractDatabaseObjectAction.class.php (216): wcf\data\search\SearchAction->search(…)
    7. /home/www/orkenspalter.de/wcf/lib/action/AJAXProxyAction.class.php (92): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    8. /home/www/orkenspalter.de/wcf/lib/action/AJAXInvokeAction.class.php (111): wcf\action\AJAXProxyAction->invoke(…)
    9. /home/www/orkenspalter.de/wcf/lib/action/AbstractAction.class.php (57): wcf\action\AJAXInvokeAction->execute(…)
    10. /home/www/orkenspalter.de/wcf/lib/action/AJAXInvokeAction.class.php (65): wcf\action\AbstractAction->__run(…)
    11. /home/www/orkenspalter.de/wcf/lib/system/request/Request.class.php (90): wcf\action\AJAXInvokeAction->__run(…)
    12. /home/www/orkenspalter.de/wcf/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    13. /home/www/orkenspalter.de/wcf/index.php (11): wcf\system\request\RequestHandler->handle(…)
    Error Message
    SQLSTATE[21000]: Cardinality violation: 1242 Subquery returns more than 1 row
    Type
    PDOException
    File (Line)
    /home/www/orkenspalter.de/wcf/lib/system/database/statement/PreparedStatement.class.php (126)
    Stacktrace
    1. /home/www/orkenspalter.de/wcf/lib/system/database/statement/PreparedStatement.class.php (126): PDOStatement->execute(…)
    2. /home/www/orkenspalter.de/wcf/lib/system/search/mysql/MysqlSearchEngine.class.php (122): wcf\system\database\statement\PreparedStatement->execute(…)
    3. /home/www/orkenspalter.de/wcf/lib/system/search/SearchEngine.class.php (115): wcf\system\search\mysql\MysqlSearchEngine->search(…)
    4. /home/www/orkenspalter.de/wcf/lib/system/search/SearchHandler.class.php (312): wcf\system\search\SearchEngine->search(…)
    5. /home/www/orkenspalter.de/wcf/lib/system/search/SearchHandler.class.php (89): wcf\system\search\SearchHandler->loadResults(…)
    6. /home/www/orkenspalter.de/wcf/lib/data/search/SearchAction.class.php (105): wcf\system\search\SearchHandler->search(…)
    7. /home/www/orkenspalter.de/wcf/lib/data/AbstractDatabaseObjectAction.class.php (216): wcf\data\search\SearchAction->search(…)
    8. /home/www/orkenspalter.de/wcf/lib/action/AJAXProxyAction.class.php (92): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    9. /home/www/orkenspalter.de/wcf/lib/action/AJAXInvokeAction.class.php (111): wcf\action\AJAXProxyAction->invoke(…)
    10. /home/www/orkenspalter.de/wcf/lib/action/AbstractAction.class.php (57): wcf\action\AJAXInvokeAction->execute(…)
    11. /home/www/orkenspalter.de/wcf/lib/action/AJAXInvokeAction.class.php (65): wcf\action\AbstractAction->__run(…)
    12. /home/www/orkenspalter.de/wcf/lib/system/request/Request.class.php (90): wcf\action\AJAXInvokeAction->__run(…)
    13. /home/www/orkenspalter.de/wcf/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    14. /home/www/orkenspalter.de/wcf/index.php (11): wcf\system\request\RequestHandler->handle(…)
  • Das liegt wohl an der Mehrsprachigkeit, dürfte das selbe Problem wie hier sein.

    Stephan_70
    August 15, 2022 at 2:35 PM

    Die Meldung lässt mich vermuten, dass die Mehrsprachigkeit in der Filebase nachträglich aktiviert wurde und einige Einträge sowohl einen sprachbezogenen als auch einen sprachneutralen Datensatz aufweisen, kann dies zutreffen?

    Greetz

    Dark

    Mit dem Ende naht der Anfang mit etwas Neuen, um dann wieder zu sagen „Nach dem Update ist vor dem Update“. :S

  • Ich habe in der Datenbank geschaut, ob es Einträge im Umfeld der filebase gibt, die mit languageID ausgestattet sind. Da waren noch 2, die habe ich umgebogen. Sind jetzt alle mit NULL gesetzt.

    Also:

    • filebase1_file_content: alle languageID auf NULL
    • filebase1_file_search_index: alle languageID auf 0
    • filebase1_file_version_content: alle languageID auf NULL

    Leider taucht der Fehler noch immer auf. Da es jedoch nur bezogen auf einige Schlagworte auftaucht (also z.B. Bornand, aber nicht ornland) vermute ich, dass es noch anderswo im Index eine Referenz gibt, die ich korrigieren könnte.

    Habt ihr dazu einen Tipp?

  • Alexander Ebert January 31, 2023 at 12:58 AM

    Added the Label Feedback required
  • Marcel Werk February 2, 2023 at 1:58 PM

    Added the Label 5.5.9
  • Marcel Werk February 2, 2023 at 1:58 PM

    Set the Label from Feedback required to Fixed

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!