tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: rust-1.66.1 stalls



hi,

this hang looks like the bug that was fixed by this commit:

commit 8e524776bfc153bf8ae68a82c2ea7bd5c0a3aa1e
Author: joerg <joerg%NetBSD.org@localhost>
Date:   Thu Apr 16 14:39:58 2020 +0000

    Introduce intermediate locking for fork, so that the dynamic linker is
    in a consistent state. This most importantly avoids races between dlopen
    and friends and fork, potentially resulting in dead locks in the child
    when it itself tries to acquire locks.


To get this fix you'll need to upgrade to at least NetBSD 9.1,
but as long as you're upgrading you might as well go to the latest 9.3.

-Chuck


On Sat, Mar 11, 2023 at 08:26:29AM +0900, Makoto Fujiwara wrote:
> On NetBSD/9.0 amd64, process is being stalled, and I did kill it (17371) manually
> 
> ps axd 
> 
> 15902 ?     Is      0:00.05 | `-- sshd: root@notty 
> 29831 ?     Is      0:00.18 |   `-- /usr/pkg_bulk/bin/pbulk-build -c 192.168.60.1:2002 -b /usr/pkg_bulk/libexec/pbulk/pkg-build 
> 23227 ?     I       0:00.02 |     `-- /bin/sh /usr/pkg_bulk/libexec/pbulk/pkg-build 
> 18556 ?     I       0:00.29 |       `-- /usr/bin/make all BATCH DEPENDS_TARGET PYTHON_VERSION_REQD WRKLOG 
> 27480 ?     I       0:00.00 |         `-- /bin/sh -c set -e;\t\t\t\t\t if test -n "" &&  /usr/sbin/pkg_info -K /usr/pkg/pkgdb -qe rust-1.66.1; then  echo ===\\> "Skip
> 27608 ?     I       0:00.26 |           `-- /usr/bin/make _MAKE OPSYS OS_VERSION OPSYS_VERSION LOWER_OPSYS _PKGSRCDIR PKGTOOLS_VERSION UNPRIVILEGED_USER UNPRIVILEGED_
> 28129 ?     I       0:00.01 |             `-- sh -c if [ "build" = "dist" ]; then\t\t unset DESTDIR;\t\t\t\t\t\t /usr/pkg/bin/python3.10 ./x.py -v\t\t\t\t\t build -j 
> 25181 ?     I       0:00.46 |               `-- /usr/pkg/bin/python3.10 ./x.py -v build --stage 2 -j 1 
>  7967 ?     I       0:00.65 |                 `-- /tmp/lang/rust/work/rustc-1.66.1-src/build/bootstrap/debug/bootstrap -v build --stage 2 -j 1 
> 18256 ?     Il      0:13.13 |                   `-- /tmp/lang/rust/work/rust-bootstrap/bin/cargo build --target x86_64-unknown-netbsd -Zcheck-cfg=names,values,output,
>  1767 ?     Il      0:00.68 |                     `-- /tmp/lang/rust/work/rustc-1.66.1-src/build/x86_64-unknown-netbsd/stage2-tools/release/build/libgit2-sys-b80b8f49
> 17371 ?     S       0:00.00 |                       `-- /tmp/lang/rust/work/rustc-1.66.1-src/build/x86_64-unknown-netbsd/stage2-tools/release/build/libgit2-sys-b80b8f
> 
> 
> gdb attach 17371
> ...
> 0x00007f7e9380c3aa in ___lwp_park60 () from /usr/libexec/ld.elf_so
> (gdb) bt
> #0  0x00007f7e9380c3aa in ___lwp_park60 () from /usr/libexec/ld.elf_so
> #1  0x00007f7e93801595 in _rtld_shared_enter () from /usr/libexec/ld.elf_so
> #2  0x00007f7e93800b9b in _rtld_bind () from /usr/libexec/ld.elf_so
> #3  0x00007f7e938007fd in _rtld_bind_start () from /usr/libexec/ld.elf_so
> #4  0x0000000000000246 in ?? ()
> #5  0x000071568c4a1d20 in opendir () from /usr/lib/libc.so.12
> #6  0x000071568c506cf9 in je_jemalloc_prefork () from /usr/lib/libc.so.12
> #7  0x000071568d037c00 in ?? ()
> #8  0x0000000000000144 in ?? ()
> #9  0x0000000165ca82c1 in std::sys::unix::process::process_inner::<impl std::sys::unix::process::process_common::Command>::do_exec ()
> #10 0x0000000165ca7d41 in std::sys::unix::process::process_inner::<impl std::sys::unix::process::process_common::Command>::spawn ()
> #11 0x0000000165cc59ca in std::process::Command::spawn ()
> #12 0x0000000165c3e8b0 in cc::spawn ()
> #13 0x0000000165c3d66c in cc::run ()
> #14 0x0000000165c28df7 in cc::Build::compile_object ()
> #15 0x0000000165c27d40 in cc::Build::compile_objects::{{closure}} ()
> #16 0x0000000165c43edb in std::sys_common::backtrace::__rust_begin_short_backtrace ()
> #17 0x0000000165c6bfbc in std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}} ()
> #18 0x0000000165c4a41d in <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once ()
> #19 0x0000000165c4b670 in std::panicking::try::do_call ()
> #20 0x0000000165c4e06b in __rust_try ()
> #21 0x0000000165c4b47a in std::panicking::try ()
> #22 0x0000000165c6752c in std::panic::catch_unwind ()
> #23 0x0000000165c6b929 in std::thread::Builder::spawn_unchecked_::{{closure}} ()
> #24 0x0000000165c62897 in core::ops::function::FnOnce::call_once{{vtable-shim}} ()
> #25 0x0000000165cd0a13 in std::sys::unix::thread::Thread::new::thread_start ()
> #26 0x000071568ce0c072 in ?? () from /usr/lib/libpthread.so.1
> #27 0x000071568c487af0 in ?? () from /usr/lib/libc.so.12
> #28 0x0000000000000000 in ?? ()
> (gdb) quit
> 
> 
> 
> pkgsrc@makoto 08:22:16/230311(..bulklog/meta)% head -4 status 
> PLATFORM=NetBSD 9.0/x86_64
> COMPILER=gcc
> BUILD_START_ISO=2023-03-09 13:09
> BUILD_START_DIR=20230309.1309
> 
> -- 
> Makoto Fujiwara
> mef%NetBSD.org@localhost
> makoto%if.t.u-tokyo.ac.jp@localhost
> Key fingerprint = 0BFA FAEB EAD1 90BA 7498  8F85 6809 9E0B B7EF A12E
> ----
> pkgsrc freshness:
> http://www.ki.nu/~makoto/pkgsrc/check-update/00_Summary.html


Home | Main Index | Thread Index | Old Index