Re: Arm v7 RPi2 -current unresponsive to debugger escape during buildworld
Date: Fri, 07 Nov 2025 16:41:13 UTC
On Nov 7, 2025, at 07:42, Paul Mather <paul@gromit.dlib.vt.edu> wrote: > On Nov 6, 2025, at 9:22 pm, bob prohaska <fbsd@www.zefox.net> wrote: > >> On Thu, Nov 06, 2025 at 10:00:19AM -0800, Mark Millard wrote: >>> On Nov 6, 2025, at 08:38, bob prohaska <fbsd@www.zefox.net> wrote: >>> >>>> On Thu, Nov 06, 2025 at 03:45:01PM +0100, Ronald Klop wrote: >>>>> Hi, >>>>> >>>>> To me it sounds like your machine is overwhelmed by swapping. >>>>> >>>>> Try -j1 buildworld. >> Maybe a -j1 buildworld could be at least somewhat informative. >> Lately none of my Pi2's has made it through buildworld >> without hanging silently. If -j1 buildworld completes, >> that would be a significant change. The test will take a >> week, but the problem has been going on for a year. > > > This isn't related directly to building on the RPi2, but just a general comment that on a system with 1 GB RAM like the RPi2, building with -j3 (or anything more than -j1) is probably wishful thinking at this point given it seems the RAM requirements of LLVM right now seem to be creeping ever upwards. Bob has been building FreeBSD on these RPi2 v1.1 and other RPi*'s for many years. He is familiar with the progression for resource requirements. But his activities have also previously helped with identifying problems and providing evidence about problems that have lead to FreeBSD fixes --and to configuration recommendations that have proved handy for me for far bigger systems doing system and port-package builds (including normally rare "bulk -Ca" built tests). > LLVM 19.1.7 seems slower and more memory-hungry than ever before. Maybe it's LTO? For the most part it seems LTO is not enabled by default because of its resource requirements (including time and RAM+SWAP). Are you deliberately choosing to build some stuff with LTO in use? I avoid it. > I don't know. My current bugbear is the databases/mongodb70 port which will no longer build for me on the 16 GB RAM FreeBSD/amd64 14-STABLE system I use to build ports locally via Poudriere. Type of processor? How many FreeBSD CPUs? ZFS? UFS? Other use of the system that competes for resource during the build? poudriere.conf : USE_TMPFS=??? TMPFS_BLACKLIST=??? PARALLEL_JOBS=??? # (or command line control of such) ALLOW_MAKE_JOBS=??? # (defined vs. not) ALLOW_MAKE_JOBS_PACKAGES=??? MUTUALLY_EXCLUSIVE_BUILD_PACKAGES=??? PRIORITY_BOOST=??? other relevant possibilities? make.conf (or command line control of such): MAKE_JOBS_NUMBER_LIMIT=??? # or MAKE_JOBS_NUMBER=??? Do you use anything like: # Delay when persistent low free RAM leads to # Out Of Memory killing of processes: vm.pageout_oom_seq=120 Or: # # For plunty of swap/paging space (will not # run out), avoid pageout delays leading to # Out Of Memory killing of processes: #vm.pfault_oom_attempts=-1 # # For possibly insufficient swap/paging space # (might run out), increase the pageout delay # that leads to Out Of Memory killing of # processes (showing defaults at the time): #vm.pfault_oom_attempts= 3 #vm.pfault_oom_wait= 10 > It will grind away for hours and ultimately fail due to the compiler being out of memory at some point. I found a Bugzilla report by someone who attested it required 24 GB RAM to build, and it will only successfully build now for me if I add an extra 30 GB swap or so on that build system. Even then, it takes an age to build: the last successful one being 12:39:27 (and that potentially benefitting from prior ccache builds). That mongodb70 port takes about an order of magnitude longer to build than an entire buildword/buildkernel on the same system. > > I guess building software yourself just takes more RAM these days, and recognise that the RPi2 does not have much RAM in the grand scheme of things by today's standards. I hope a "-j1" build works for you. === Mark Millard marklmi at yahoo.com