[Bug 246527] emulators/qemu-user-static: please add syscall 574 (__realpathat)
Mark Millard
marklmi at yahoo.com
Sun May 17 23:35:28 UTC 2020
Kyle Evans wrote:
QUOTE
--- Comment #3 from Kyle Evans <kevans at freebsd.org> ---
Yup- I should have mentioned, if you do or are willing to build your own
qemu-user-static port, I have a patch available here that updates it to a
version that implements most of the latest syscalls and seemingly fixes issues
with multi-threaded stuff:
https://reviews.freebsd.org/D24655
-> It doesn't fix
the aforementioned signal regression, but it's generally stable.
END QUOTE
So I tried updating and then doing a poudriere bulk run on
amd64 targeting armv7 (/nxb-bin/ style). I'm getting my
historical style of hangups. First I'll list the example
for lld getting no cpu time (from top):
Building qt5-qmake-5.14.2 . . .
16570 root 52 0 540336Ki 199216Ki uwait 12 0:02 0.00% qemu-arm-static -0 /usr/bin/ld -L /usr/gnemul/qemu-arm /usr/bin/ld --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-s
. . . (long list of threads) . . .
16570 root 52 0 540336Ki 199216Ki uwait 5 0:00 0.00% qemu-arm-static -0 /usr/bin/ld -L /usr/gnemul/qemu-arm /usr/bin/ld --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-s
In other words (showing the thread count instead):
16570 root 34 52 0 540336Ki 199216Ki uwait 12 0:03 0.00% qemu-arm-static -0 /usr/bin/ld -L /usr/gnemul/qemu-arm /usr/bin/ld --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --ha
FYI, the matchup to that ld is:
16161 root 2 52 0 150652Ki 33900Ki wait 5 0:00 0.00% /usr/local/bin/qemu-arm-static clang++ -o ../bin/qmake main.o meta.o option.o project.o property.o ioutils.o proitems.o qma
An interesting point for that last is that clang++ was not via
use of a /nxb-bin/ path.
There also seem to be 4 gmake's that are stuck using about 100%
of a cpu:
94366 root 2 103 0 99252Ki 22000Ki CPU14 14 40:30 99.76% /usr/local/bin/qemu-arm-static gmake DESTDIR= RPATH_ENVVAR=LD_LIBRARY_PATH TARGET_SUBDIR=armv7-portbld-freebsd13.0 bindir=/
17816 root 2 103 0 102076Ki 24388Ki CPU17 17 39:44 99.76% /usr/local/bin/qemu-arm-static gmake DESTDIR=/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/stage RPATH_ENVVAR=LD_LIBRA
26001 root 2 103 0 96544Ki 19152Ki CPU31 31 35:39 99.76% /usr/local/bin/qemu-arm-static gmake DESTDIR= RPATH_ENVVAR=LD_LIBRARY_PATH TARGET_SUBDIR=arm-none-eabi bindir=/usr/local/bi
42110 root 2 103 0 101120Ki 23820Ki CPU24 24 33:28 99.76% qemu-arm-static -0 gmake -L /usr/gnemul/qemu-arm /usr/local/bin/gmake -f Makefile -j32 all
Some of these have defunct subprocesses (from ps -auxd):
Building ffmpeg-4.2.2_11,1 . . .
root 42110 100.0 0.0 101120 23820 0 RJ 15:31 34:09.07 | | | `-- qemu-arm-static -0 gmake -L /usr/gnemul/qemu-arm /usr/local/bin/gmake -f Makefile -j32 all
root 44988 0.0 0.0 0 0 0 ZJ 15:32 0:15.08 | | | |-- <defunct>
root 44991 0.0 0.0 0 0 0 ZJ 15:32 0:42.60 | | | |-- <defunct>
root 44993 0.0 0.0 0 0 0 ZJ 15:32 0:53.06 | | | |-- <defunct>
root 45006 0.0 0.0 0 0 0 ZJ 15:32 0:30.58 | | | |-- <defunct>
root 45239 0.0 0.0 0 0 0 ZJ 15:32 0:17.28 | | | |-- <defunct>
root 45244 0.0 0.0 0 0 0 ZJ 15:32 0:15.74 | | | |-- <defunct>
root 45245 0.0 0.0 0 0 0 ZJ 15:32 0:09.55 | | | `-- <defunct>
Building arm-none-eabi-gcc-8.4.0_1 . . .
root 26001 100.0 0.0 96544 19152 0 RJ 15:27 36:20.30 | | | `-- /usr/local/bin/qemu-arm-static gmake DESTDIR= RPATH_ENVVAR=LD_LIBRARY_PATH TARGET_SUBDIR=arm-none
root 34753 0.0 0.0 0 0 0 ZJ 15:30 0:46.74 | | | `-- <defunct>
Building gcc9-9.3.0_1 . . .
root 94366 100.0 0.0 99252 22000 0 RJ 15:21 41:10.84 | | | `-- /usr/local/bin/qemu-arm-static gmake DESTDIR= RPATH_ENVVAR=LD_LIBRARY_PATH TARGET_SUBDIR=armv
root 15615 0.0 0.0 0 0 0 ZJ 15:25 0:07.77 | | | |-- <defunct>
root 15616 0.0 0.0 0 0 0 ZJ 15:25 0:02.85 | | | |-- <defunct>
root 15617 0.0 0.0 0 0 0 ZJ 15:25 0:03.32 | | | |-- <defunct>
root 15618 0.0 0.0 0 0 0 ZJ 15:25 0:03.35 | | | |-- <defunct>
root 15623 0.0 0.0 0 0 0 ZJ 15:25 0:02.29 | | | |-- <defunct>
root 16142 0.0 0.0 0 0 0 ZJ 15:25 0:00.05 | | | `-- <defunct>
One does not:
Building aarch64-none-elf-gcc-8.4.0_1 . . .
root 17816 100.0 0.0 102076 24388 0 RJ 15:25 40:24.87 | | | `-- /usr/local/bin/qemu-arm-static gmake DESTDIR=/wrkdirs/usr/ports/devel/aarch64-none-elf-gcc/work/sta
I seem to also have one other stuck process that is not using
cpu time:
Building xcb-util-keysyms-0.4.0_1 . . .
root 38255 0.0 0.0 91108 11408 0 IJ 15:08 0:00.00 | | `-- /usr/local/bin/qemu-arm-static /usr/bin/nm conftest.o
I'll leave them all running a while longer.
There is also a boost-libs-1.72.0_2 running bjam but I expect
this one to take a very long time, even when things are working
well. So I expect that it might complete.
For reference (top's TIME showing more like 62 minutes now
instead of the 33+ minutes above):
[FBSDFSSDjailArmV7-default] [2020-05-17_15h05m26s] [parallel_build:] Queued: 237 Built: 141 Failed: 2 Skipped: 68 Ignored: 0 Tobuild: 26 Time: 01:26:55
[01]: devel/qt5-qmake | qt5-qmake-5.14.2 build (01:24:35 / 01:26:02)
[02]: devel/arm-none-eabi-gcc | arm-none-eabi-gcc-8.4.0_1 build (01:13:07 / 01:15:30)
[03]: lang/gcc9 | gcc9-9.3.0_1 build (01:16:34 / 01:18:31)
[05]: devel/boost-libs | boost-libs-1.72.0_2 stage (01:10:31 / 01:16:35)
[11]: devel/aarch64-none-elf-gcc | aarch64-none-elf-gcc-8.4.0_1 stage (01:06:29 / 01:18:41)
[24]: multimedia/ffmpeg | ffmpeg-4.2.2_11,1 build (01:00:31 / 01:02:47)
[29]: x11/xcb-util-keysyms | xcb-util-keysyms-0.4.0_1 configure (01:24:38 / 01:25:43)
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-emulation
mailing list