From 3361e87988276d02b6b79cb9bb780667e132d3c1 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 12 Dec 2022 07:40:39 +0100 Subject: [PATCH] [FIX] forwardport: relax limits on all git operations Apparently it's not just GC which causes trouble, on the new configuration anyway. --- forwardport/models/project.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/forwardport/models/project.py b/forwardport/models/project.py index bb2f3d78..2a322eef 100644 --- a/forwardport/models/project.py +++ b/forwardport/models/project.py @@ -30,6 +30,7 @@ import typing import dateutil.relativedelta import requests +import resource from odoo import _, models, fields, api from odoo.osv import expression from odoo.exceptions import UserError @@ -1190,6 +1191,10 @@ class Feedback(models.Model): token_field = fields.Selection(selection_add=[('fp_github_token', 'Forwardport Bot')]) ALWAYS = ('gc.auto=0', 'maintenance.auto=0') + +def _bypass_limits(): + resource.setrlimit(resource.RLIMIT_AS, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)) + def git(directory): return Repo(directory, check=True) class Repo: def __init__(self, directory, **config): @@ -1208,7 +1213,7 @@ class Repo: + tuple(itertools.chain.from_iterable(('-c', p) for p in self._params + ALWAYS))\ + args try: - return self._opener(args, **opts) + return self._opener(args, preexec_fn=_bypass_limits, **opts) except subprocess.CalledProcessError as e: stream = e.stderr if e.stderr else e.stdout if stream: