•  
      request #44483 A search string may render the tracker reports unavailable
    Infos
    #44483
    Aurélien Tisné (atisne)
    2025-09-03 17:22
    2025-09-03 17:20
    46185
    Details
    A search string may render the tracker reports unavailable

    In the tracker view, if I search on a text field ('summary' for example) using a string containing '//', the search hangs (INTERNAL SERVER ERROR) and the tracker view becomes unavailable.

    Steps to reproduce: As a user, 1- Go to a tracker 2- Chose the normal mode of the report criteria 3- In the field summary (or any field of type string), enter the value 'aa // bb' 4- Click on the button 'Search'

    Trackers
    16.11
    Empty
    • [ ] enhancement
    • [ ] internal improvement
    Empty
    Stage
    Empty
    New
    Empty
    Attachments
    Empty
    References
    References list is empty

    Follow-ups

    User avatar

    The stack trace

    2025-09-03T09:21:22+00:00 [9362] [error] Error while trying to execute the following report query with 16 parameters:  SELECT id, last_changeset_id FROM (SELECT c.artifact_id AS id, c.id AS last_changeset_id  FROM tracker_artifact AS artifact
                     INNER JOIN tracker_changeset AS c ON (artifact.last_changeset_id = c.id)  INNER JOIN tracker_changeset_value AS A_137
                                 ON (A_137.changeset_id = c.id AND A_137.field_id = ?)
                                 INNER JOIN tracker_changeset_value_text AS B_137
                                 ON (B_137.changeset_value_id = A_137.id
                                     AND B_137.value RLIKE ?
                                 )   INNER JOIN tracker_changeset_value AS A_146
                             ON (A_146.changeset_id = c.id
                                 AND A_146.field_id = ?
                             )
                             INNER JOIN tracker_changeset_value_list AS B_146 ON (
                                B_146.changeset_value_id = A_146.id
                             )  WHERE (artifact.tracker_id = ?) AND (B_146.bindvalue_id IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?))) AS R GROUP BY id, last_changeset_id
    2025-09-03T09:21:22+00:00 [9362] [error] Caught exception: SQLSTATE[HY000]: General error: 3685 Illegal argument to a regular expression.:
    #0 /usr/share/tuleap/src/vendor/paragonie/easydb/src/EasyDB.php(1005): PDOStatement->execute()
    #1 /usr/share/tuleap/src/vendor/paragonie/easydb/src/EasyDB.php(948): ParagonIE\EasyDB\EasyDB->safeQuery()
    #2 /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/QueryDao.php(125): ParagonIE\EasyDB\EasyDB->run()
    #3 /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Tracker_Report.php(2156): Tuleap\Tracker\Report\Query\QueryDao->searchMatchingIds()
    #4 /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Tracker_Report.php(463): Tracker_Report->getMatchingIdsInDb()
    #5 /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Tracker_Report.php(2068): Tracker_Report->getMatchingIdsFromCriteriaInDb()
    #6 /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Tracker_Report.php(392): Tracker_Report->getMatchingIdsFromCriteria()
    #7 /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Tracker_Report.php(1041): Tracker_Report->getMatchingIds()
    #8 /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Tracker_Report.php(1664): Tracker_Report->display()
    #9 /usr/share/tuleap/plugins/tracker/include/Tracker.php(1352): Tracker_Report->process()
    #10 /usr/share/tuleap/plugins/tracker/include/Tracker.php(1150): Tuleap\Tracker\Tracker->displayAReport()
    #11 /usr/share/tuleap/plugins/tracker/include/Tracker/TrackerManager.php(151): Tuleap\Tracker\Tracker->process()
    #12 /usr/share/tuleap/plugins/tracker/include/Tracker/TrackerManager.php(169): TrackerManager->processSubElement()
    #13 /usr/share/tuleap/plugins/tracker/include/TrackerPluginDefaultController.php(45): TrackerManager->process()
    #14 /usr/share/tuleap/src/common/Request/FrontRouter.php(251): Tuleap\Tracker\TrackerPluginDefaultController->process()
    #15 /usr/share/tuleap/src/common/Request/FrontRouter.php(109): Tuleap\Request\FrontRouter->routeHandler()
    #16 /usr/share/tuleap/src/www/index.php(50): Tuleap\Request\FrontRouter->route()
    #17 {main}