[Bug 264158] devel/pkconf: loop forever in Haskell package
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkconf: loop forever in Haskell package"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264158] devel/pkgconf: loop forever in Haskell package"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 22 May 2022 20:43:08 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264158 Bug ID: 264158 Summary: devel/pkconf: loop forever in Haskell package Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: alexis.praga@free.fr CC: arrowd@FreeBSD.org Hi, I've discovered running `cabal install` for Haskell programmes takes a very long time, for example `xmonad`. With the help of @arrowd, here is a minimal reproducible example. 1. Run `make` in /usr/ports/devel/hs-ormolu 2. pkg-config takes a lot of CPU PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 19887 root 1 89 0 13M 3156K CPU0 0 0:09 100.23% pkgconf 3. Running the command by hand is fast but inside make, it seems to be stuck. 4. Enable debug flags of `pkgconf` and get a backtrace: ---- #0 0x00000008003c1985 in memset () from /lib/libc.so.7 #1 0x0000000800385822 in snprintf () from /lib/libc.so.7 #2 0x0000000800258455 in pkgconf_trace (client=0x20d488 <pkg_client>, filename=0x8002537a9 "libpkgconf/pkg.c", lineno=1346, funcname=0x800252fed "pkgconf_pkg_t *pkgconf_pkg_verify_dependency(pkgconf_client_t *, pkgconf_dependency_t *, unsigned int *)", format=0x8002543ff "trying to verify dependency: %s") at libpkgconf/client.c:379 #3 0x000000080025aa03 in pkgconf_pkg_verify_dependency (client=0x20d488 <pkg_client>, pkgdep=0x800a37f70, eflags=0x7ffffffe7174) at libpkgconf/pkg.c:1346 #4 0x000000080025b24b in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a3b580, deplist=0x800a3b638, func=0x0, data=0x0, depth=1986, skip_flags=0) at libpkgconf/pkg.c:1455 #5 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a3b580, func=0x0, data=0x0, maxdepth=1986, skip_flags=0) at libpkgconf/pkg.c:1581 #6 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a6e180, deplist=0x800a6e238, func=0x0, data=0x0, depth=1987, skip_flags=0) at libpkgconf/pkg.c:1481 #7 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a6e180, func=0x0, data=0x0, maxdepth=1987, skip_flags=0) at libpkgconf/pkg.c:1581 #8 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a6e000, deplist=0x800a6e0b8, func=0x0, data=0x0, depth=1988, skip_flags=0) at libpkgconf/pkg.c:1481 #9 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a6e000, func=0x0, data=0x0, maxdepth=1988, skip_flags=0) at libpkgconf/pkg.c:1581 #10 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a70280, deplist=0x800a70338, func=0x0, data=0x0, depth=1989, skip_flags=0) at libpkgconf/pkg.c:1481 #11 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a70280, func=0x0, data=0x0, maxdepth=1989, skip_flags=0) at libpkgconf/pkg.c:1581 #12 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a6f500, deplist=0x800a6f5b8, func=0x0, data=0x0, depth=1990, skip_flags=0) at libpkgconf/pkg.c:1481 #13 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a6f500, func=0x0, data=0x0, maxdepth=1990, skip_flags=0) at libpkgconf/pkg.c:1581 #14 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a89f00, deplist=0x800a89fb8, func=0x0, data=0x0, depth=1991, skip_flags=0) at libpkgconf/pkg.c:1481 #15 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a89f00, func=0x0, data=0x0, maxdepth=1991, skip_flags=0) at libpkgconf/pkg.c:1581 #16 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a89180, deplist=0x800a89238, func=0x0, data=0x0, depth=1992, skip_flags=0) at libpkgconf/pkg.c:1481 #17 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a89180, func=0x0, data=0x0, maxdepth=1992, skip_flags=0) at libpkgconf/pkg.c:1581 #18 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800aa6680, deplist=0x800aa6738, func=0x0, data=0x0, depth=1993, skip_flags=0) at libpkgconf/pkg.c:1481 #19 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800aa6680, func=0x0, data=0x0, maxdepth=1993, skip_flags=0) at libpkgconf/pkg.c:1581 #20 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800aa6380, deplist=0x800aa6438, func=0x0, data=0x0, depth=1994, skip_flags=0) at libpkgconf/pkg.c:1481 #21 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800aa6380, func=0x0, data=0x0, maxdepth=1994, skip_flags=0) at libpkgconf/pkg.c:1581 #22 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a70e80, deplist=0x800a70f38, func=0x0, data=0x0, depth=1995, skip_flags=0) at libpkgconf/pkg.c:1481 #23 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a70e80, func=0x0, data=0x0, maxdepth=1995, skip_flags=0) at libpkgconf/pkg.c:1581 #24 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800a70d00, deplist=0x800a70db8, func=0x0, data=0x0, depth=1996, skip_flags=0) at libpkgconf/pkg.c:1481 #25 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800a70d00, func=0x0, data=0x0, maxdepth=1996, skip_flags=0) at libpkgconf/pkg.c:1581 #26 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800ac9800, deplist=0x800ac98b8, func=0x0, data=0x0, depth=1997, skip_flags=0) at libpkgconf/pkg.c:1481 #27 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800ac9800, func=0x0, data=0x0, maxdepth=1997, skip_flags=0) at libpkgconf/pkg.c:1581 #28 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800aca400, deplist=0x800aca4b8, func=0x0, data=0x0, depth=1998, skip_flags=0) at libpkgconf/pkg.c:1481 #29 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800aca400, func=0x0, data=0x0, maxdepth=1998, skip_flags=0) at libpkgconf/pkg.c:1581 #30 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x800ac9380, deplist=0x800ac9438, func=0x0, data=0x0, depth=1999, skip_flags=0) at libpkgconf/pkg.c:1481 #31 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x800ac9380, func=0x0, data=0x0, maxdepth=1999, skip_flags=0) at libpkgconf/pkg.c:1581 #32 0x000000080025b345 in pkgconf_pkg_walk_list (client=0x20d488 <pkg_client>, parent=0x7ffffffe7dd8, deplist=0x7ffffffe7e90, func=0x0, data=0x0, depth=2000, skip_flags=0) at libpkgconf/pkg.c:1481 #33 0x000000080025ae30 in pkgconf_pkg_traverse (client=0x20d488 <pkg_client>, root=0x7ffffffe7dd8, func=0x0, data=0x0, maxdepth=2000, skip_flags=0) at libpkgconf/pkg.c:1581 #34 0x000000080025ac9e in pkgconf_pkg_verify_graph (client=0x20d488 <pkg_client>, root=0x7ffffffe7dd8, depth=2000) at libpkgconf/pkg.c:1399 #35 0x0000000800260b1c in pkgconf_queue_verify (client=0x20d488 <pkg_client>, world=0x7ffffffe7dd8, list=0x7ffffffe8090, maxdepth=2000) at libpkgconf/queue.c:116 #36 0x0000000800260bd6 in pkgconf_queue_validate (client=0x20d488 <pkg_client>, list=0x7ffffffe8090, maxdepth=2000) at libpkgconf/queue.c:189 #37 0x0000000000206ea2 in main (argc=1147, argv=0x7fffffff8880) at cli/main.c:1308 --- 5. Continuing the execution and get a backtrace again result in the same thing. My configuration: - FreeBSD 13.0-RELEASE-p11 - ghc 8.10.7 and cabal-install 3.6.0.0 (from the ports tree) Thanks ! -- You are receiving this mail because: You are the assignee for the bug.