Impossible de reconstruire l'application

journal ici :

[2025-03-31T05:52:21.927771 #1]  INFO -- :  > cd /var/www/discourse  & & if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "Cette version de Discourse utilise yarn, mais des modules node pnpm sont déjà présents. Nettoyage en cours..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile  & & yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile  & & pnpm prune'
fi
bash: line 1:   302 Killed                  CI=1 pnpm install --frozen-lockfile
I, [2025-03-31T05:52:29.299652 #1]  INFO -- : Scope: all 17 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +455 -114
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
Progress: resolved 455, reused 170, downloaded 50, added 119
Progress: resolved 455, reused 170, downloaded 187, added 257
Progress: resolved 455, reused 170, downloaded 281, added 349
Progress: resolved 455, reused 170, downloaded 285, added 357, done
.../core-js@3.33.0/node_modules/core-js postinstall$ node -e "try{require('./postinstall')}catch(e){}"
.../node_modules/@swc/core postinstall$ node postinstall.js
.../esbuild@0.24.2/node_modules/esbuild postinstall$ node install.js
.../core-js@3.33.0/node_modules/core-js postinstall: Done
.../node_modules/@swc/core postinstall: Failed


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse  & & if [ -f yarn.lock ]; then
  if [ -d node_modules/.pnpm ]; then
    echo "Cette version de Discourse utilise yarn, mais des modules node pnpm sont déjà présents. Nettoyage en cours..."
    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +
  fi
  su discourse -c 'yarn install --frozen-lockfile  & & yarn cache clean'
else
  su discourse -c 'CI=1 pnpm install --frozen-lockfile  & & pnpm prune'
fi failed with return #<Process::Status: pid 299 exit 137>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"yarn", "cmd"=>["if [ -f yarn.lock ]; then\n  if [ -d node_modules/.pnpm ]; then\n    echo \"Cette version de Discourse utilise yarn, mais des modules node pnpm sont déjà présents. Nettoyage en cours...\"\n    find ./node_modules ./app/assets/javascripts/*/node_modules -mindepth 1 -maxdepth 1 -exec rm -rf {} +\n  fi\n  su discourse -c 'yarn install --frozen-lockfile  & & yarn cache clean'\nelse\n  su discourse -c 'CI=1 pnpm install --frozen-lockfile  & & pnpm prune'\nfi"]}
bootstrap failed with exit code 137
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

Si ma mémoire est bonne, la sortie 137 signifie « manque de mémoire ».

Ajoutez plus de RAM et/ou augmentez l’espace d’échange (swap). Vous avez probablement besoin d’au moins 5 Go d’espace d’échange + RAM.

3 « J'aime »

               total        used        free      shared  buff/cache   available
Mem:            31Gi       4.1Gi        17Gi       3.5Mi       9.9Gi        27Gi
Swap:          8.0Gi          0B       8.0Gi

mais mon serveur a assez de mémoire… @pfaffman

2 « J'aime »

C’est très étrange. 137 signifie que le processus a reçu un SIGKILL, ce qui indique généralement un manque de mémoire.

Cependant, cela n’a pas de sens avec autant de mémoire.

2 « J'aime »

C’est étrange.

Peut-être vérifier la sortie de
sysctl vm.overcommit_memory

Et aussi :

1 « J'aime »
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.2 LTS"

$ uptime
 02:12:36 up 21 days,  5:25,  2 users,  load average: 0.02, 0.18, 0.26

$ df -h /
Filesystem                             Size  Used Avail Use% Mounted on
/dev/mapper/vg0--root-root--partition  492G   29G  463G   6% /

$ free
               total        used        free      shared  buff/cache   available
Mem:        32819356     4093776    19016296        3576    10185012    28725580
Swap:        8388604           0     8388604

$ swapon
NAME      TYPE SIZE USED PRIO
/swap.img file   8G   0B   -2

$ vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 18944824   3620 10211784    0    0     2    81 1057    1  1  0 99  0  0
 0  0      0 18965764   3620 10195160    0    0     0   123 8661 10955  3  6 91  0  0
 2  0      0 18953904   3620 10203228    0    0     0     9 3388 3559  1  1 98  0  0
 1  0      0 18864336   3620 10292272    0    0     3  3408 8327 10272  6  4 90  0  0
 9  3      0 17795380   3620 10561284    0    0  1666 33519 29310 41403 27 27 44  1  0

dmesg|egrep -i "memory|oom|kill"
none

$ ps auxrc
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
td20      347732  200  0.0  21408  5588 pts/1    R+   02:16   0:00 ps

$ sysctl vm.overcommit_memory
vm.overcommit_memory = 0


@Ed_S

J’ai remarqué que lorsque l’utilisation de la mémoire dépasse 1 Go, le processus est rapidement arrêté.

Merci… C’est encore un peu mystérieux pour moi. Mais je recommanderais fortement d’utiliser l’overcommit. Vous pouvez le définir maintenant avec

sudo sysctl vm.overcommit_memory=1

mais pour le définir également au redémarrage, cela peut demander un peu plus d’efforts. Cela pourrait tout faire fonctionner, auquel cas le rendre persistant est la bonne chose à faire. Il semble que je l’ai fait en créant un fichier d’une seule ligne :

# cat /etc/sysctl.d/90-vm_overcommit_memory.conf 
vm.overcommit_memory=1

Si cela ne vous aide pas, il semble qu’un chien de garde ou une quota surveille la surutilisation des ressources et tue les processus. Un bon examen de la sortie complète de dmesg pourrait aider - si vous avez récemment eu la panne, peut-être les 100 dernières lignes pourraient donner un indice.

1 « J'aime »
2 « J'aime »

Ce sujet a été automatiquement fermé après 2 jours. Les nouvelles réponses ne sont plus autorisées.