Tuleap Community Edition development and releases are no longer public. You have until September 30th to download packages and sources in Tuleap project. You can contact the team if you need further assistance.

    •  
      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
    46248
    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}