Summary: | dev-build/cmake-3.26.4-r1: cmake hangs forever whenever I run it on loong in io_uring_setup with dev-libs/libuv-1.45.0 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Justin Yang <darkgeekyang> |
Component: | Current packages | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | kde, kernel, loong |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | Loong | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Justin Yang
2023-05-27 14:32:21 UTC
Can you try downgrade libuv? It recently started to use io_uring. (In reply to Sam James from comment #1) > Can you try downgrade libuv? It recently started to use io_uring. Thanks! Downgrading libuv to 1.44.2-r1 fix the issue. I still couldn't get what's wrong with io_uring on my system... No problem :) It's likely a kernel bug. Could you try running the test suite for new libuv (emerge -v1 --with-test-deps libuv; FEATURES=test emerge -v1 libuv)? That should help us find a smaller reproducer. (In reply to Sam James from comment #3) > No problem :) > > It's likely a kernel bug. Could you try running the test suite for new libuv > (emerge -v1 --with-test-deps libuv; FEATURES=test emerge -v1 libuv)? > > That should help us find a smaller reproducer. The output seems to be quite large:) I waited there and soon found that it stopped at "make check-TESTS" and never proceeded. --- ...skip... make[1]: Leaving directory '/var/tmp/portage/dev-libs/libuv-1.45.0/work/libuv-1.45.0' make check-TESTS --- And quite similar to my cmake issue described aforementationed, the "run-tests" process becomes a zombile too... $ ps auxww | grep run-test portage 23611 0.0 0.0 7984 4224 pts/0 S+ 00:04 0:00 /bin/sh -c failed=0; all=0; xfail=0; xpass=0; skip=0; \ srcdir=.; export srcdir; \ list=' test/run-tests '; \ { mgn= red= grn= lgn= blu= brg= std=; am__color_tests=no; if test "X" = Xno; then am__color_tests=no; elif test "X" = Xalways; then am__color_tests=yes; elif test "X$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then am__color_tests=yes; fi; if test $am__color_tests = yes; then red='?[0;31m'; grn='?[0;32m'; lgn='?[1;32m'; blu='?[1;34m'; mgn='?[0;35m'; brg='?[1m'; std='?[m'; fi; }; \ if test -n "$list"; then \ for tst in $list; do \ if test -f ./$tst; then dir=./; \ elif test -f $tst; then dir=; \ else dir="./"; fi; \ if ${dir}$tst ; then \ all=`expr $all + 1`; \ case " " in \ *[\ \?]$tst[\ \?]*) \ ?xpass=`expr $xpass + 1`; \ ?failed=`expr $failed + 1`; \ ?col=$red; res=XPASS; \ ;; \ *) \ ?col=$grn; res=PASS; \ ;; \ esac; \ elif test $? -ne 77; then \ all=`expr $all + 1`; \ case " " in \ *[\ \?]$tst[\ \?]*) \ ?xfail=`expr $xfail + 1`; \ ?col=$lgn; res=XFAIL; \ ;; \ *) \ ?failed=`expr $failed + 1`; \ ?col=$red; res=FAIL; \ ;; \ esac; \ else \ skip=`expr $skip + 1`; \ col=$blu; res=SKIP; \ fi; \ echo "${col}$res${std}: $tst"; \ done; \ if test "$all" -eq 1; then \ tests="test"; \ All=""; \ else \ tests="tests"; \ All="All "; \ fi; \ if test "$failed" -eq 0; then \ if test "$xfail" -eq 0; then \ banner="$All$all $tests passed"; \ else \ if test "$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ banner="$All$all $tests behaved as expected ($xfail expected $failures)"; \ fi; \ else \ if test "$xpass" -eq 0; then \ banner="$failed of $all $tests failed"; \ else \ if test "$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ banner="$failed of $all $tests did not behave as expected ($xpass unexpected $passes)"; \ fi; \ fi; \ dashes="$banner"; \ skipped=""; \ if test "$skip" -ne 0; then \ if test "$skip" -eq 1; then \ skipped="($skip test was not run)"; \ else \ skipped="($skip tests were not run)"; \ fi; \ test `echo "$skipped" | wc -c` -le `echo "$banner" | wc -c` || \ dashes="$skipped"; \ fi; \ report=""; \ if test "$failed" -ne 0 && test -n "https://github.com/libuv/libuv/issues"; then \ report="Please report to https://github.com/libuv/libuv/issues"; \ test `echo "$report" | wc -c` -le `echo "$banner" | wc -c` || \ dashes="$report"; \ fi; \ dashes=`echo "$dashes" | sed s/./=/g`; \ if test "$failed" -eq 0; then \ col="$grn"; \ else \ col="$red"; \ fi; \ echo "${col}$dashes${std}"; \ echo "${col}$banner${std}"; \ test -z "$skipped" || echo "${col}$skipped${std}"; \ test -z "$report" || echo "${col}$report${std}"; \ echo "${col}$dashes${std}"; \ test "$failed" -eq 0; \ else :; fi portage 23612 0.0 0.0 19744 2992 pts/0 Sl+ 00:04 0:00 /var/tmp/portage/dev-libs/libuv-1.45.0/work/libuv-1.45.0/test/.libs/run-tests portage 23628 99.9 0.0 0 0 pts/0 Zl+ 00:04 2:50 [run-tests] <defunct> At this point, I think it's beyond me, and I need either xen0n to help you debug it, or for you to report it to io-uring upstream (who are very nice). I'd maybe do the latter now and see what they say? (In reply to Sam James from comment #5) > At this point, I think it's beyond me, and I need either xen0n to help you > debug it, or for you to report it to io-uring upstream (who are very nice). > > I'd maybe do the latter now and see what they say? OK, thanks! If they need more information, just tell me. (In reply to Justin Yang from comment #6) > (In reply to Sam James from comment #5) > > At this point, I think it's beyond me, and I need either xen0n to help you > > debug it, or for you to report it to io-uring upstream (who are very nice). > > > > I'd maybe do the latter now and see what they say? > > OK, thanks! If they need more information, just tell me. Sorry for being unclear! I was suggesting you report it. I could do it, but I don't really have the ability to give any more information so I'd just be a middleman. Apologies! Hi! I have tried to reproduce the problem locally but couldn't. I also have cmake 3.26.4-r1 and libuv 1.45.0 but I run the latest kernel; it seems you have very ancient kernel version (even predating the upstream inclusion!!!) so that may very likely be the reason. Please upgrade your kernel to e.g. the 6.1.x series, or better, one of the latest 6.3.x, and see if the problem persists. Thanks! Thanks. I think it's quite likely related to kernel problem, and I might try to upgrade my ancient kernel in the near future. |