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 #15077 Pull Request processing fails on huge Git merge
    Infos
    #15077
    Guilhem Bonnefille (CS) (gbonnefille)
    2020-07-17 11:42
    2020-07-06 17:27
    16351
    Details
    Pull Request processing fails on huge Git merge
    When a merge between a trunk branch and a feature branch introduce a HUGE diff, the pull request processing fails.

    On FPM log we can see a memory error:

    [06-Jul-2020 10:04:11] WARNING: [pool tuleap] child 18853 said into stderr: "NOTICE: PHP message: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 134217736 bytes) in /usr/share/tuleap/src/common/System/Command.class.php on line 33"


    Looking at the code, the PullRequestMerger->detectMergeConflict call a mergeTree action and read result in memory.

    As the expected feature is to detect a conflict marker, perhaps the git command can be processed by a `grep --quiet` command and only focus on the return code.
    Pull Request
    11.15
    Empty
    • [ ] enhancement
    • [ ] internal improvement
    Empty
    Stage
    Thomas Gerbet (tgerbet)
    Closed
    2020-07-17
    Attachments
    Empty
    References
    Referencing request #15077

    Follow-ups

    User avatar
    Integrated into Tuleap 11.16.99.164

    • Status changed from Under review to Closed
    • Connected artifacts
    • Close date set to 2020-07-17
    User avatar
    Please, note that adding traces in execInPath (before and after call) was very useful.
    Perhaps can you plan to add a logger here and trace these calls as debug.
    User avatar
    Thomas Gerbet (tgerbet)2020-07-06 17:37
    Great catch and thanks for the detailed report 👍 ! I'm guessing the debugging was painful.


    I will take a look to see what can be done, hopefully for this release cycle (11.17).

    • Status changed from New to Verified
    • Assigned to changed from None to Thomas Gerbet (tgerbet)