From nobody Sun Oct 30 13:41:52 2022 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4N0csF0LYpz4gwVJ for ; Sun, 30 Oct 2022 13:42:09 +0000 (UTC) (envelope-from archimedes.gaviola@gmail.com) Received: from mail-yw1-x1134.google.com (mail-yw1-x1134.google.com [IPv6:2607:f8b0:4864:20::1134]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4N0csD0dMZz3mZ4 for ; Sun, 30 Oct 2022 13:42:08 +0000 (UTC) (envelope-from archimedes.gaviola@gmail.com) Received: by mail-yw1-x1134.google.com with SMTP id 00721157ae682-3691e040abaso86954757b3.9 for ; Sun, 30 Oct 2022 06:42:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=FCkJrIICOnROTeHxjXvWQtJTGWEsUJJZpZzDKM+qSs0=; b=MIkw2QYDsaq8X74H/fZXxygCeqmNXH89R8MivP/LijNeyC9n7HKcuMLqSVvXMGVcDF Dj1qn03GwfcBSRVpISrOYjZbatragKxUBAAvoZPg/IBQndrWZIsSHEyk9cucRwr1qpz8 GpLuYWYeOr3kdVKpK4Sbb30NN6vrMh5dNJqhOZHjKxnImGqL9++ej3bbh44Fh3hSiaxZ wFWAGz48vKsstPTB5TSGyHOltjvcXLMcjrU6Ho1We+E4SIE/mwy80FEFtR83fWhuYYcM XxcOacsBkRRDfc13/oVzu6ml45DHZHm12Beg/BzonX6rTbY4L0e8ywbgahxchl5boIOb Sqkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=FCkJrIICOnROTeHxjXvWQtJTGWEsUJJZpZzDKM+qSs0=; b=EH3+A6t2ddPuGJyJEOdM+F0Iis/ZRe/DmulYppphqiPmrn6KE5uh+yVnuTqZtkf39Y iRWEIApPf8vy8xjg/loCueInVIhtiMmZNQRm0iwUoTcX6l/AVsn3oSafW5fVlsmOOo85 eDq6xM9h3v4M/x19pvY+51kkHzlLGlcWN7Iq2CqMX/w39jSBf4464XfliXNp+WpTEqva Ac6FkvI/b5PLNXyr6tJQu5sw4bmD2VajAk8Gq1bHt2YTQBk3RRX0FWdNrJWiiuQOVdDQ BVh052qySQCmcX6qxoq9Sx2t+KdYAj6HyYh73HLmajyzdi8I3bvbP42GGN9j7rltONG/ wqwQ== X-Gm-Message-State: ACrzQf0MG/U0LG7URMYxzM8x3xok86iIl3rizVEEDs6v1FUpxvp78saS l4V5nbjZSgt2UvgvURH10sYXB1EDkBPM1XjV6KUr+7RoC7w= X-Google-Smtp-Source: AMsMyM6DvgKpT0m+lL/b6zqfuzjuwaPtDagEFDfCJoQWAkZ+ozn67JDdO+5qRKZnQWlDGInw6IBTuDQmIebdhQkfjko= X-Received: by 2002:a81:9e09:0:b0:370:4458:7538 with SMTP id m9-20020a819e09000000b0037044587538mr5152516ywj.53.1667137325967; Sun, 30 Oct 2022 06:42:05 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 From: Archimedes Gaviola Date: Sun, 30 Oct 2022 21:41:52 +0800 Message-ID: Subject: 14.0-CURRENT failed to reclaim memory error in RPi 3B build To: freebsd-current@freebsd.org Content-Type: multipart/alternative; boundary="0000000000001b2d2005ec40a86c" X-Rspamd-Queue-Id: 4N0csD0dMZz3mZ4 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=MIkw2QYD; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of archimedes.gaviola@gmail.com designates 2607:f8b0:4864:20::1134 as permitted sender) smtp.mailfrom=archimedes.gaviola@gmail.com X-Spamd-Result: default: False [-3.97 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.97)[-0.972]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCPT_COUNT_ONE(0.00)[1]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::1134:from]; ARC_NA(0.00)[]; TAGGED_FROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; TO_DN_NONE(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N --0000000000001b2d2005ec40a86c Content-Type: text/plain; charset="UTF-8" Hi, I am building a kernel and world in 14.0-CURRENT https://download.freebsd.org/ftp/snapshots/arm64/aarch64/ISO-IMAGES/14.0/FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20221027-769b884e2e2-258837.img.xz with Raspberry Pi 3B (ARM kernel config file and in default system configurations) and compilation breaks due to "failed to reclaim memory" error as found in the dmesg. pid 91224 (llvm-tblgen), jid 0, uid 0, was killed: failed to reclaim memory pid 91131 (make), jid 0, uid 0, was killed: failed to reclaim memory Here's the set of the build commands I invoked. root@generic# cd /usr/src ; make KERNCONF=ARM TARGET_ARCH=aarch64 buildkernel buildworld installkernel installworld distribution DESTDIR=/home/freebsd/rpi3b Somewhere below, the error occurred. llvm-tblgen -gen-asm-matcher -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV -d RISCVGenAsmMatcher.inc.d -o RISCVGenAsmMatcher.inc /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td llvm-tblgen -gen-asm-writer -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV -d RISCVGenAsmWriter.inc.d -o RISCVGenAsmWriter.inc /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td llvm-tblgen -gen-callingconv -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV -d RISCVGenCallingConv.inc.d -o RISCVGenCallingConv.inc /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td llvm-tblgen -gen-compress-inst-emitter -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV -d RISCVGenCompressInstEmitter.inc.d -o RISCVGenCompressInstEmitter.inc /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td llvm-tblgen -gen-dag-isel -I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV -d RISCVGenDAGISel.inc.d -o RISCVGenDAGISel.inc /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td *** Signal 9 Stop. make[5]: stopped in /usr/src/lib/clang *** Error code 1 Stop. make[4]: stopped in /usr/src/lib *** Error code 1 Stop. make[3]: stopped in /usr/src *** Error code 1 Stop. make[2]: stopped in /usr/src 30924.61 real 27331.99 user 2960.40 sys *** Error code 1 Stop. make[1]: stopped in /usr/src *** Error code 1 Stop. make: stopped in /usr/src While checking the error message, it is spotted at the /usr/src/sys/vm/vm_pageout.c in the vm_pageout_oom() routine. ... if (bigproc != NULL) { switch (shortage) { case VM_OOM_MEM: reason = "failed to reclaim memory"; break; case VM_OOM_MEM_PF: reason = "a thread waited too long to allocate a page"; break; case VM_OOM_SWAPZ: reason = "out of swap space"; break; default: panic("unknown OOM reason %d", shortage); } if (vm_panic_on_oom != 0 && --vm_panic_on_oom == 0) panic("%s", reason); PROC_LOCK(bigproc); killproc(bigproc, reason); sched_nice(bigproc, PRIO_MIN); _PRELE(bigproc); PROC_UNLOCK(bigproc); } ... Any thoughts? As I don't have any idea about VM pageout. Thanks and best regards, Archimedes --0000000000001b2d2005ec40a86c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I am building= a kernel and world in 14.0-CURRENT https://download.freebsd.org/f= tp/snapshots/arm64/aarch64/ISO-IMAGES/14.0/FreeBSD-14.0-CURRENT-arm64-aarch= 64-RPI-20221027-769b884e2e2-258837.img.xz with Raspberry Pi 3B=C2=A0 (A= RM kernel config file and in default system configurations) and compilation= breaks due to "failed to reclaim memory" error as found in the d= mesg.

pid 91224 (llvm-tblgen), jid 0, uid 0, w= as killed: failed to reclaim memory
pid 91131 (make), jid 0, uid 0, was = killed: failed to reclaim memory

Here's the set of the build commands I invoked.

root@generic# cd /usr/src ; make KERNCONF=3DARM TARGET_ARCH=3Daarch64 buildkernel=20 buildworld installkernel installworld distribution=20 DESTDIR=3D/home/freebsd/rpi3b

Somewhere below, the error occurred.

llvm-tblgen -gen-asm-matcher =C2=A0-I /usr/src/contrib/llv= m-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target/RIS= CV =C2=A0-d RISCVGenAsmMatcher.inc.d -o RISCVGenAsmMatcher.inc =C2=A0/usr/s= rc/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td
llvm-tblgen -gen-= asm-writer =C2=A0-I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/= contrib/llvm-project/llvm/lib/Target/RISCV =C2=A0-d RISCVGenAsmWriter.inc.d= -o RISCVGenAsmWriter.inc =C2=A0/usr/src/contrib/llvm-project/llvm/lib/Targ= et/RISCV/RISCV.td
llvm-tblgen -gen-callingconv =C2=A0-I /usr/src/contrib= /llvm-project/llvm/include -I /usr/src/contrib/llvm-project/llvm/lib/Target= /RISCV =C2=A0-d RISCVGenCallingConv.inc.d -o RISCVGenCallingConv.inc =C2=A0= /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td
llvm-tblgen= -gen-compress-inst-emitter =C2=A0-I /usr/src/contrib/llvm-project/llvm/inc= lude -I /usr/src/contrib/llvm-project/llvm/lib/Target/RISCV =C2=A0-d RISCVG= enCompressInstEmitter.inc.d -o RISCVGenCompressInstEmitter.inc =C2=A0/usr/s= rc/contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.td
llvm-tblgen -gen-= dag-isel =C2=A0-I /usr/src/contrib/llvm-project/llvm/include -I /usr/src/co= ntrib/llvm-project/llvm/lib/Target/RISCV =C2=A0-d RISCVGenDAGISel.inc.d -o = RISCVGenDAGISel.inc =C2=A0/usr/src/contrib/llvm-project/llvm/lib/Target/RIS= CV/RISCV.td
*** Signal 9

Stop.
make[5]: stopped in /usr/src/li= b/clang
*** Error code 1

Stop.
make[4]: stopped in /usr/src/li= b
*** Error code 1

Stop.
make[3]: stopped in /usr/src
*** E= rror code 1

Stop.
make[2]: stopped in /usr/src
=C2=A0 =C2=A0 3= 0924.61 real =C2=A0 =C2=A0 27331.99 user =C2=A0 =C2=A0 =C2=A02960.40 sys*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error= code 1

Stop.
make: stopped in /usr/src

= While checking the error message, it is spotted at the /usr/src/sys/vm/vm_p= ageout.c in the vm_pageout_oom() routine.
...
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 if (bigproc !=3D NULL) {
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (shortage) {
=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 case VM_OOM_MEM:
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 reason = =3D "failed to reclaim memory";
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 case VM_OOM_MEM_PF:
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 reason =3D "a thread waited too long to allocate a page";<= br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 break;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 case VM_OOM_SWAPZ:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 reason =3D "out of swap space&q= uot;;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 break;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 default:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 panic("unknown OOM reason %d", sh= ortage);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (vm_panic_on_oom= !=3D 0 && --vm_panic_on_oom =3D=3D 0)
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 panic("%s&= quot;, reason);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = PROC_LOCK(bigproc);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 killproc(bigproc, reason);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 sched_nice(bigproc, PRIO_MIN);
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 _PRELE(bigproc);
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 PROC_UNLOCK(bigproc);
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 }
...

Any thoughts? As I don't have any idea about VM pageout.

Thanks and best regards,
Archimedes



=C2=A0
--0000000000001b2d2005ec40a86c--