[email protected] (Michael van Elst) writes: >[email protected] (Chuck Silvers) writes:
>>> would this apply to netbsd-9 too ? The hang I'm seeing is on a system >>> with a HEAD kernel and a netbsd-9 userland >>it looks like the diff won't apply as-is, but I think the concept still >>applies. >I'm currently testing: Not really successful. I got a a hang with all but one threads in park and one waiting for kqueue. Parked threads look like: #0 0x00007d0ce8ca220a in ___lwp_park60 () from /usr/lib/libc.so.12 #1 0x00007d0ce9e0addf in pthread_cond_timedwait () from /usr/lib/libpthread.so.1 #2 0x00007d0ce9aa1412 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/libstdc++.so.9 #3 0x00000000a48f7685 in cmWorkerPoolInternal::Work(unsigned int) () #4 0x00007d0ce9a9f5aa in ?? () from /usr/lib/libstdc++.so.9 #5 0x00007d0ce9e0c757 in ?? () from /usr/lib/libpthread.so.1 #6 0x00007d0ce8c87e10 in ?? () from /usr/lib/libc.so.12 #7 0x0000000000000000 in ?? () except for one: #0 0x00007d0ce8ca220a in ___lwp_park60 () from /usr/lib/libc.so.12 #1 0x00007d0ce9e0addf in pthread_cond_timedwait () from /usr/lib/libpthread.so.1 #2 0x00007d0ce9aa1412 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/libstdc++.so.9 #3 0x00000000a48f812e in cmWorkerPoolWorker::RunProcess(cmWorkerPool::ProcessResultT&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () #4 0x00000000a489731c in (anonymous namespace)::cmQtAutoMocUicT::JobT::RunProcess(cmQtAutoGen::GenT, cmWorkerPool::ProcessResultT&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) () #5 0x00000000a48aadc8 in (anonymous namespace)::cmQtAutoMocUicT::JobCompileMocT::Process() () #6 0x00000000a48f75b6 in cmWorkerPoolInternal::Work(unsigned int) () #7 0x00007d0ce9a9f5aa in ?? () from /usr/lib/libstdc++.so.9 #8 0x00007d0ce9e0c757 in ?? () from /usr/lib/libpthread.so.1 #9 0x00007d0ce8c87e10 in ?? () from /usr/lib/libc.so.12 #10 0x0000000000000000 in ?? () The kqueue wait looks like: #0 0x00007d0ce8c42e6a in _sys___kevent50 () from /usr/lib/libc.so.12 #1 0x00007d0ce9e07cb9 in __kevent50 () from /usr/lib/libpthread.so.1 #2 0x00007d0ceac1c650 in uv.io_poll () from /usr/pkg/lib/libuv.so.1 #3 0x00007d0ceac0de48 in uv_run () from /usr/pkg/lib/libuv.so.1 #4 0x00000000a48f70a8 in cmWorkerPoolInternal::Process() () #5 0x00000000a48f7102 in cmWorkerPool::Process(void*) () #6 0x00000000a48ae2bf in (anonymous namespace)::cmQtAutoMocUicT::Process() () #7 0x00000000a4b8b2ea in cmQtAutoGenerator::Run(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) () #8 0x00000000a489b150 in cmQtAutoMocUic(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) () #9 0x00000000a4838c3c in cmcmd::ExecuteCMakeCommand(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::unique_ptr<cmConsoleBuf, std::default_delete<cmConsoleBuf> >) () #10 0x00000000a4c3c6bc in main ()
