Date: Tue, 16 Jul 2024 23:45:04 -0700 From: Mark Millard <marklmi@yahoo.com> To: "olce@freebsd.org" <olce@FreeBSD.org>, Philip Paeps <philip@freebsd.org>, FreeBSD ARM List <freebsd-arm@freebsd.org>, FreeBSD Mailing List <freebsd-ports@freebsd.org>, Current FreeBSD <freebsd-current@freebsd.org> Cc: Konstantin Belousov <kib@freebsd.org>, Baptiste Daroussin <bapt@FreeBSD.org> Subject: Re: armv7-on-aarch64 stuck at urdlck: I got a replication of the "ampere2" bulk build hangup problem on a Windows DevKit 2023 Message-ID: <BFCA474F-78D4-4E98-8A9B-B92C2DB6B0DE@yahoo.com> In-Reply-To: <E40B106D-30B7-49DC-8540-911A56E53FCA@yahoo.com> References: <A3BBDBA3-FF7E-47B8-8B45-C3351918FC08@yahoo.com> <8214703E-AB28-4FB3-A3DD-03C87363D8C6@yahoo.com> <E40B106D-30B7-49DC-8540-911A56E53FCA@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 16, 2024, at 18:41, Mark Millard <marklmi@yahoo.com> wrote: > On Jul 16, 2024, at 11:37, Mark Millard <marklmi@yahoo.com> wrote: >=20 >> On Jul 16, 2024, at 10:42, Mark Millard <marklmi@yahoo.com> wrote: >>=20 >>> No longer is the problem only observed on ampere2! But this was with >>> a non-debug, personally built kernel that has some of my now = patches. >>> I'll see if I can replicate the issue with an official pkgbase debug >>> kernel. >>=20 >> It replicated with the official pkgbase debug kernel. The >> kernel did not report anything. >>=20 >> The following commits in main and happen between the last working >> ampere2 armv7 builds and the first failing ampere2 builds and >> look be the only likely contributors from that range as far as >> I could tell: >>=20 >> Tue, 27 Feb 2024 >> . . . >> =E2=80=A2 git: 1df8700aa6cf - main - PP mutexes: unlock: Reset = inherited prio regardless of privileges Olivier Certner=20 >> =E2=80=A2 git: 9ac3ac9ece62 - main - PP mutexes: lock: Check if = priority is too high against base one Olivier Certner=20 >> =E2=80=A2 git: 39e4665c9694 - main - PP mutexes: lock: Reduce = 'umtx_lock' holding before taking the user lock Olivier Certner >>=20 >> These changes are not in 14.0-RELEASE but are in 14.1-STABLE and = 14.1-RELEASE. >> So I expect that when any ampere*'s progress to 14.1-RELEASE the = armv7 >> problems would start for them. >>=20 >> These changes are not in 13.3-RELEASE but are in 13.3-STABLE. So I = expect that >> when any ampere*'s progress to 13.4-RELEASE the problems would start = for them. >>=20 >>=20 >> With the prior packages already built in a prior poudriere-devel >> run it turns out that just: >>=20 >> # poudriere bulk -j main-armv7-poud -i graphics/graphviz >>=20 >> replicates the problem: >>=20 >> . . . >> [00:00:45] Installing graphics/graphviz | graphviz-9.0.0_4 >> [aarch64PBase] Installing graphviz-9.0.0_4... >> [aarch64PBase] `-- Installing cairo-1.17.4_2,3... >> [aarch64PBase] | `-- Installing fontconfig-2.15.0_2,1... >> [aarch64PBase] | | `-- Installing expat-2.6.2... >> [aarch64PBase] | | `-- Extracting expat-2.6.2: 100% >> [aarch64PBase] | | `-- Installing freetype2-2.13.2... >> [aarch64PBase] | | `-- Installing brotli-1.1.0,1... >> [aarch64PBase] | | `-- Extracting brotli-1.1.0,1: 100% >> [aarch64PBase] | | `-- Installing png-1.6.43... >> [aarch64PBase] | | `-- Extracting png-1.6.43: 100% >> [aarch64PBase] | | `-- Extracting freetype2-2.13.2: 100% >> [aarch64PBase] | `-- Extracting fontconfig-2.15.0_2,1: 100% >> [aarch64PBase] | `-- Installing glib-2.80.4,2... >> [aarch64PBase] | | `-- Installing libffi-3.4.6... >> [aarch64PBase] | | `-- Extracting libffi-3.4.6: 100% >> [aarch64PBase] | | `-- Installing libiconv-1.17_1... >> [aarch64PBase] | | `-- Extracting libiconv-1.17_1: 100% >> [aarch64PBase] | | `-- Installing pcre2-10.43... >> [aarch64PBase] | | `-- Extracting pcre2-10.43: 100% >> [aarch64PBase] | | `-- Installing py311-packaging-24.1... >> [aarch64PBase] | | `-- Installing python311-3.11.9_1... >> [aarch64PBase] | | | `-- Installing mpdecimal-4.0.0... >> [aarch64PBase] | | | `-- Extracting mpdecimal-4.0.0: 100% >> [aarch64PBase] | | | `-- Installing readline-8.2.10... >> [aarch64PBase] | | | `-- Extracting readline-8.2.10: 100% >> [aarch64PBase] | | `-- Extracting python311-3.11.9_1: 100% >> [aarch64PBase] | | `-- Extracting py311-packaging-24.1: 100% >> [aarch64PBase] | `-- Extracting glib-2.80.4,2: 100% >> [aarch64PBase] | `-- Installing libglvnd-1.7.0... >> [aarch64PBase] | `-- Extracting libglvnd-1.7.0: 100% >> [aarch64PBase] | `-- Installing pixman-0.42.2... >> [aarch64PBase] | `-- Extracting pixman-0.42.2: 100% >> [aarch64PBase] `-- Extracting cairo-1.17.4_2,3: 100% >> [aarch64PBase] `-- Installing harfbuzz-9.0.0... >> [aarch64PBase] | `-- Installing graphite2-1.3.14... >> [aarch64PBase] | `-- Extracting graphite2-1.3.14: 100% >> [aarch64PBase] `-- Extracting harfbuzz-9.0.0: 100% >> [aarch64PBase] `-- Installing jpeg-turbo-3.0.3... >> [aarch64PBase] `-- Extracting jpeg-turbo-3.0.3: 100% >> [aarch64PBase] `-- Installing libgd-2.3.3_13,1... >> [aarch64PBase] | `-- Installing tiff-4.6.0... >> [aarch64PBase] | | `-- Installing jbigkit-2.1_3... >> [aarch64PBase] | | `-- Extracting jbigkit-2.1_3: 100% >> [aarch64PBase] | | `-- Installing lerc-4.0.0... >> [aarch64PBase] | | `-- Extracting lerc-4.0.0: 100% >> [aarch64PBase] | | `-- Installing libdeflate-1.20... >> [aarch64PBase] | | `-- Extracting libdeflate-1.20: 100% >> [aarch64PBase] | | `-- Installing zstd-1.5.6... >> [aarch64PBase] | | `-- Installing liblz4-1.9.4_1,1... >> [aarch64PBase] | | `-- Extracting liblz4-1.9.4_1,1: 100% >> [aarch64PBase] | | `-- Extracting zstd-1.5.6: 100% >> [aarch64PBase] | `-- Extracting tiff-4.6.0: 100% >> [aarch64PBase] | `-- Installing webp-1.4.0_1... >> [aarch64PBase] | | `-- Installing giflib-5.2.2... >> [aarch64PBase] | | `-- Extracting giflib-5.2.2: 100% >> [aarch64PBase] | `-- Extracting webp-1.4.0_1: 100% >> [aarch64PBase] `-- Extracting libgd-2.3.3_13,1: 100% >> [aarch64PBase] `-- Installing libltdl-2.4.7... >> [aarch64PBase] `-- Extracting libltdl-2.4.7: 100% >> [aarch64PBase] `-- Installing pango-1.52.2_1... >> [aarch64PBase] | `-- Installing fribidi-1.0.15... >> [aarch64PBase] | `-- Extracting fribidi-1.0.15: 100% >> [aarch64PBase] | `-- Installing libXft-2.3.8... >> [aarch64PBase] | `-- Extracting libXft-2.3.8: 100% >> [aarch64PBase] | `-- Installing libthai-0.1.29_1... >> [aarch64PBase] | | `-- Installing libdatrie-0.2.13_2... >> [aarch64PBase] | | `-- Extracting libdatrie-0.2.13_2: 100% >> [aarch64PBase] | `-- Extracting libthai-0.1.29_1: 100% >> [aarch64PBase] `-- Extracting pango-1.52.2_1: 100% >> [aarch64PBase] Extracting graphviz-9.0.0_4: 100% >>=20 >> And here it is hung with /usr/local/bin/dot -c in urdlck : >>=20 >> 0 1483 4502 7 68 0 15760 4872 wait I+ 0 0:03.92 | | = `-- /usr/local/libexec/poudriere/sh -e -o pipefail = /usr/local/share/poudriere/bulk.sh -j main-armv7-poud -i = graphics/graphviz >> 0 1894 1483 5 68 0 15760 4712 nanslp S 0 0:02.07 | | = |-- sh: poudriere[main-armv7-poud-default]: html_json_main (sh) >> 0 25321 1483 6 68 0 6664 3868 wait I+J 0 0:00.11 | | = `-- /usr/bin/make -C /usr/ports/graphics/graphviz install-package >> 0 25322 25321 5 68 0 11140 8860 wait I+J 0 0:00.00 | | = `-- /usr/local/sbin/pkg-static add /packages/All/graphviz-9.0.0_4.pkg >> 0 25323 25322 5 20 0 63824 45144 select S+J 0 0:02.85 | | = `-- /usr/local/sbin/pkg-static add = /packages/All/graphviz-9.0.0_4.pkg >> 0 26900 25323 3 68 0 26292 23804 urdlck I+J 0 0:00.02 | | = `-- /usr/local/bin/dot -c >>=20 >>=20 >>> FYI for the replication that I got: >>>=20 >>> /usr/local/sbin/pkg-static add -A /packages/All/graphviz-9.0.0_4.pkg >>> runs: >>> /usr/local/bin/dot -c >>>=20 >>> each such /usr/local/bin/dot is stuck at MWCHAN urdlck . >>>=20 >>> # poudriere status -b >>> [main-armv7-poud-default] [2024-07-16_04h27m31s] [parallel_build] = Queued: 449 Built: 433 Failed: 0 Skipped: 0 Ignored: 0 Fetched: 0 = Tobuild: 16 Time: 04:44:38 >>> ID TOTAL ORIGIN PKGNAME = PHASE PHASE TMPFS CPU% MEM% >>> [01] 00:59:45 graphics/rubygem-ruby-graphviz | = rubygem-ruby-graphviz-1.2.5 run-depends 00:59:30 1.59 GiB 0% 0.2% >>> [02] 00:49:59 graphics/p5-GraphViz | p5-GraphViz-2.25 = build-depends 00:49:53 1.45 GiB 0% 0.2% >>> [03] 00:59:45 graphics/py-pydot@py311 | py311-pydot-2.0.0 = run-depends 00:59:34 1.47 GiB 0% 0.2% >>> [04] 00:59:45 graphics/py-pygraphviz@py311 | py311-pygraphviz-1.6 = lib-depends 00:59:33 1.47 GiB 0% 0.2% >>> [05] 00:58:57 graphics/py-graphviz@py311 | py311-graphviz-0.10.1 = run-depends 00:58:49 1.47 GiB 0% 0.2% >>> [06] 00:59:20 audio/ganv | ganv-1.8.2_1 = lib-depends 00:59:10 1.53 GiB 0% 0.2% >>> [07] 00:59:45 devel/libr3 | libr3-1.0.0_2 = lib-depends 00:59:19 1.54 GiB 0% 0.3% >>> [08] 00:59:45 net/netmap | netmap-0.1.3_2 = run-depends 00:59:22 1.46 GiB 0% 0.3% >>>=20 >>> I had started the bulk build via the list: >>>=20 >>> # more ~/origins/ampere2-failures-armv7.txt >>> audio/ganv >>> devel/doxygen >>> devel/libr3 >>> graphics/p5-GraphViz >>> graphics/p5-GraphViz2 >>> graphics/oyranos >>> graphics/pear-Image_GraphViz@php81 >>> graphics/py-graphviz@py311 >>> graphics/py-pydot@py311 >>> graphics/py-pygraphviz@py311 >>> graphics/rubygem-ruby-graphviz >>> math/ggobi >>> net-mgmt/librenms >>> net/netmap >>> print/dot2tex@py311 >>>=20 >>> # poudriere bulk -j main-armv7-poud `cat = ~/origins/ampere2-failures-armv7.txt` >>> . . . >>> [00:00:12] Building 449 packages using up to 8 builders >>> . . . >>> [03:44:55] [01] [00:18:54] Finished graphics/graphviz | = graphviz-9.0.0_4: Success >>> [03:44:56] [01] [00:00:00] Building graphics/rubygem-ruby-graphviz = | rubygem-ruby-graphviz-1.2.5 >>> [03:44:56] [03] [00:00:00] Building graphics/py-pydot@py311 | = py311-pydot-2.0.0 >>> [03:44:56] [04] [00:00:00] Building graphics/py-pygraphviz@py311 | = py311-pygraphviz-1.6 >>> [03:44:56] [07] [00:00:00] Building devel/libr3 | libr3-1.0.0_2 >>> [03:44:56] [08] [00:00:00] Building net/netmap | netmap-0.1.3_2 >>> [03:45:21] [06] [00:09:33] Finished x11-toolkits/gtkmm24 | = gtkmm24-2.24.5_4: Success >>> [03:45:21] [06] [00:00:00] Building audio/ganv | ganv-1.8.2_1 >>> [03:45:44] [05] [00:13:33] Finished graphics/ImageMagick6@nox11 | = ImageMagick6-nox11-6.9.12.77_9,1: Success >>> [03:45:44] [05] [00:00:00] Building graphics/py-graphviz@py311 | = py311-graphviz-0.10.1 >>> [03:54:42] [02] [00:24:53] Finished print/texlive-base | = texlive-base-20240312: Success >>> [03:54:42] [02] [00:00:00] Building graphics/p5-GraphViz | = p5-GraphViz-2.25 >>>=20 >>> In /usr/src/sys/kern/kern_umtx.c there is: >>>=20 >>> static int >>> do_rw_rdlock(struct thread *td, struct urwlock *rwlock, long fflag, >>> struct _umtx_time *timeout) >>> { >>> . . . >>> /* >>> * Contention bit is set, before sleeping, increase >>> * read waiter count. >>> */ >>> rv =3D fueword32(&rwlock->rw_blocked_readers, >>> &blocked_readers); >>> if (rv =3D=3D 0) >>> rv =3D suword32(&rwlock->rw_blocked_readers, >>> blocked_readers + 1); >>> if (rv =3D=3D -1) { >>> umtxq_unbusy_unlocked(&uq->uq_key); >>> error =3D EFAULT; >>> break; >>> } >>> while (state & wrflags) { >>> umtxq_lock(&uq->uq_key); >>> umtxq_insert(uq); >>> umtxq_unbusy(&uq->uq_key); >>> error =3D umtxq_sleep(uq, "urdlck", timeout = =3D=3D NULL ? >>> NULL : &timo); >>> umtxq_busy(&uq->uq_key); >>> umtxq_remove(uq); >>> umtxq_unlock(&uq->uq_key); >>> if (error) >>> break; >>> rv =3D fueword32(&rwlock->rw_state, &state); >>> if (rv =3D=3D -1) { >>> error =3D EFAULT; >>> break; >>> } >>> } >>>=20 >>> . . . >>>=20 >>>=20 >>>=20 >>> For reference: >>>=20 >>> # ps -alxdww | less >>> UID PID PPID C PRI NI VSZ RSS MWCHAN STAT TT TIME = COMMAND >>> . . . >>> 0 87700 4522 6 20 0 16576 1888 - T 0 0:00.01 | | = |-- vi /usr/local/share/poudriere/jail.sh >>> 0 91496 4522 4 20 0 15760 4684 select S+ 0 0:06.88 | | = `-- /usr/local/libexec/poudriere/sh -e -o pipefail = /usr/local/share/poudriere/bulk.sh audio/ganv devel/doxygen devel/libr3 = graphics/p5-GraphViz graphics/p5-GraphViz2 graphics/oyranos = graphics/pear-Image_GraphViz@php81 graphics/py-graphviz@py311 = graphics/py-pydot@py311 graphics/py-pygraphviz@py311 = graphics/rubygem-ruby-graphviz math/ggobi net-mgmt/librenms net/netmap = print/dot2tex@py311 >>> 0 37688 91496 0 68 0 15760 4700 wait I 0 0:00.05 | | = |-- sh: poudriere[main-armv7-poud-default][01]: build_pkg = (rubygem-ruby-graphviz-1.2.5) (sh) >>> 0 47568 37688 0 68 0 6664 3664 wait IJ 0 0:00.03 | | = | `-- /usr/bin/make -C /usr/ports/graphics/rubygem-ruby-graphviz = run-depends >>> 0 47598 47568 6 68 0 5568 2988 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 47743 47598 6 68 0 11188 8864 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 47747 47743 3 20 0 71692 48984 select SJ 0 0:04.26 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 56383 47747 1 68 0 26292 23812 urdlck IJ 0 0:00.02 | | = | `-- /usr/local/bin/dot -c >>> 0 37700 91496 6 68 0 15760 4700 wait I 0 0:00.04 | | = |-- sh: poudriere[main-armv7-poud-default][03]: build_pkg = (py311-pydot-2.0.0) (sh) >>> 0 45102 37700 2 68 0 6668 3704 wait IJ 0 0:00.02 | | = | `-- /usr/bin/make -C /usr/ports/graphics/py-pydot FLAVOR=3Dpy311 = run-depends >>> 0 45156 45102 4 68 0 5584 2992 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 45215 45156 4 68 0 11144 8864 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 45218 45215 4 20 0 51420 31512 select SJ 0 0:02.68 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 52147 45218 2 68 0 26292 23812 urdlck IJ 0 0:00.02 | | = | `-- /usr/local/bin/dot -c >>> 0 37721 91496 1 68 0 15760 4700 wait I 0 0:00.04 | | = |-- sh: poudriere[main-armv7-poud-default][04]: build_pkg = (py311-pygraphviz-1.6) (sh) >>> 0 45937 37721 1 68 0 6684 3744 wait IJ 0 0:00.03 | | = | `-- /usr/bin/make -C /usr/ports/graphics/py-pygraphviz = FLAVOR=3Dpy311 lib-depends >>> 0 46009 45937 7 68 0 5584 2992 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 46127 46009 7 68 0 11144 8864 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 46129 46127 1 20 0 51384 31548 select SJ 0 0:02.73 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 53311 46129 4 68 0 26292 23812 urdlck IJ 0 0:00.02 | | = | `-- /usr/local/bin/dot -c >>> 0 37744 91496 7 45 0 15760 4692 wait I 0 0:00.04 | | = |-- sh: poudriere[main-armv7-poud-default][07]: build_pkg = (libr3-1.0.0_2) (sh) >>> 0 55198 37744 0 50 0 6664 3664 wait IJ 0 0:00.03 | | = | `-- /usr/bin/make -C /usr/ports/devel/libr3 lib-depends >>> 0 55229 55198 0 68 0 5588 2988 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 55594 55229 7 68 0 11168 8864 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 55596 55594 2 20 0 69796 50180 select SJ 0 0:04.53 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 62753 55596 0 68 0 26292 23812 urdlck IJ 0 0:00.02 | | = | `-- /usr/local/bin/dot -c >>> 0 37763 91496 4 29 0 15760 4696 wait I 0 0:00.05 | | = |-- sh: poudriere[main-armv7-poud-default][08]: build_pkg = (netmap-0.1.3_2) (sh) >>> 0 51054 37763 6 36 0 6636 3684 wait IJ 0 0:00.03 | | = | `-- /usr/bin/make -C /usr/ports/net/netmap run-depends >>> 0 51107 51054 3 68 0 5568 2988 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 51576 51107 3 68 0 11168 8860 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 51580 51576 3 20 0 68220 49432 select SJ 0 0:04.27 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 59063 51580 6 68 0 26292 23808 urdlck IJ 0 0:00.02 | | = | `-- /usr/local/bin/dot -c >>> 0 53709 91496 1 68 0 15760 4700 wait I 0 0:00.04 | | = |-- sh: poudriere[main-armv7-poud-default][06]: build_pkg = (ganv-1.8.2_1) (sh) >>> 0 63371 53709 6 68 0 6636 3668 wait IJ 0 0:00.03 | | = | `-- /usr/bin/make -C /usr/ports/audio/ganv lib-depends >>> 0 63377 63371 1 68 0 5580 2996 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 63413 63377 4 68 0 11180 8864 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 63414 63413 3 20 0 56212 35980 select SJ 0 0:02.21 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 65577 63414 6 68 0 26292 23812 urdlck IJ 0 0:00.01 | | = | `-- /usr/local/bin/dot -c >>> 0 63365 91496 3 68 0 15760 4696 wait I 0 0:00.03 | | = |-- sh: poudriere[main-armv7-poud-default][02]: build_pkg = (p5-GraphViz-2.25) (sh) >>> 0 63807 63365 7 68 0 6696 3672 wait IJ 0 0:00.02 | | = | `-- /usr/bin/make -C /usr/ports/graphics/p5-GraphViz build-depends >>> 0 63808 63807 2 68 0 5568 2988 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 63833 63808 4 68 0 11188 8864 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 63834 63833 7 20 0 67400 48532 select SJ 0 0:03.52 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 66041 63834 2 68 0 26292 23812 urdlck IJ 0 0:00.02 | | = | `-- /usr/local/bin/dot -c >>> 0 69974 91496 1 68 0 15760 4700 wait I 0 0:00.04 | | = |-- sh: poudriere[main-armv7-poud-default][05]: build_pkg = (py311-graphviz-0.10.1) (sh) >>> 0 73474 69974 5 68 0 6684 3740 wait IJ 0 0:00.02 | | = | `-- /usr/bin/make -C /usr/ports/graphics/py-graphviz FLAVOR=3Dpy311 = run-depends >>> 0 73496 73474 6 68 0 5584 2992 wait IJ 0 0:00.01 | | = | `-- /bin/sh /usr/ports/Mk/Scripts/do-depends.sh >>> 0 73521 73496 7 68 0 11144 8864 wait IJ 0 0:00.00 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 73522 73521 0 20 0 52432 32664 select SJ 0 0:02.70 | | = | `-- /usr/local/sbin/pkg-static add -A = /packages/All/graphviz-9.0.0_4.pkg >>> 0 76540 73522 3 68 0 26292 23812 urdlck IJ 0 0:00.02 | | = | `-- /usr/local/bin/dot -c >>> 0 91907 91496 5 68 0 15760 4492 nanslp S 0 1:05.17 | | = |-- sh: poudriere[main-armv7-poud-default]: html_json_main (sh) >>> 0 99134 91496 1 40 0 15760 4740 piperd I 0 0:03.22 | | = `-- sh: poudriere[main-armv7-poud-default]: pkg_cacher_main (sh) >>> 0 23 >=20 >=20 > A little bit more context for /usr/local/bin/dot : >=20 > 0x20631520 in _umtx_op () from /lib/libsys.so.7 > (gdb) bt > #0 0x20631520 in _umtx_op () at /lib/libsys.so.7 > #1 0x2063245c in _umtx_op_err () at /lib/libsys.so.7 > #2 0x203a2da8 in ??? () at /lib/libthr.so.3 > #3 0x2039bbf4 in ??? () at /lib/libthr.so.3 > #4 0x20061788 in ??? () at /libexec/ld-elf.so.1 >=20 > And the associated instance of /usr/local/sbin/pkg-static : >=20 > (gdb) bt > #0 _poll () at _poll.S:4 > #1 0x007669e0 in __thr_poll (fds=3D0xd1, nfds=3D1, timeout=3D1000) at = /home/pkgbuild/worktrees/main/lib/libthr/thread/thr_syscalls.c:320 > #2 0x003602e8 in pkg_script_run_child (pid=3D64019, = pstat=3Dpstat@entry=3D0xffffc49c, inputfd=3D9, script_name=3D0x5d5c9 = "POST-INSTALL") at scripts.c:303 > #3 0x0035fc34 in pkg_script_run (pkg=3D0x20972e00, type=3D<optimized = out>, upgrade=3D<optimized out>) at scripts.c:227 > #4 0x00371250 in pkg_add_common (db=3D<optimized out>, = path=3D<optimized out>, path@entry=3D0xffffda7f = "/packages/All/graphviz-9.0.0_4.pkg", flags=3D<optimized out>, = reloc=3D<optimized out>, remote=3D0x0, local=3D0x0, t=3D0x0) at = pkg_add.c:1386 > #5 0x003707e4 in pkg_add (db=3D0x4, path=3D0x1 <error: Cannot access = memory at address 0x1>, path@entry=3D0xffffda7f = "/packages/All/graphviz-9.0.0_4.pkg", flags=3D1000, = location=3D0x766990 <__thr_poll> "\360H-\351\020\260\215\342") at = pkg_add.c:1460 > #6 0x00194544 in exec_add (argc=3D<optimized out>, argv=3D<optimized = out>) at add.c:178 > #7 0x0019f840 in main (argc=3D2, argv=3D0xffffd87c) at main.c:872 >=20 >=20 Continued experiments point in a different direction via an simpler test of just use of "dot -c": # /usr/local/bin/dot -c Error: /usr/local/lib/graphviz/config6 is zero sized. And after the Error: line dot is hung up like it is when used via pkg-static. It seems that whatever leads to the "Error:" line output and that conidition's handling in dot is the source of the hangup. "dot -c" generates configuration file content for plugins and, appearently, should not gnerate an empty config6 file. =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BFCA474F-78D4-4E98-8A9B-B92C2DB6B0DE>