Re: Hang in futex wait with a Node.js binary in Linuxulator

From: Dmitry Chagin <dchagin_at_heemeyer.club>
Date: Wed, 17 Aug 2022 07:28:41 UTC
On Mon, Aug 15, 2022 at 09:43:29PM -0700, Alex Arslan wrote:
> Hi folks,
> 
> I'm trying to run the Linux binary for Codecov's official coverage uploader (https://docs.codecov.com/docs/codecov-uploader <ihttps://docs.codecov.com/docs/codecov-uploader>) on FreeBSD via Linuxulator. It's a statically compiled Node.js application built with the Node.js package called pkg. The application's own verbose logging shows that it completes, but the process just hangs indefinitely, using 0 CPU and not letting go of its memory. With devel/linux-c7-strace, it appears it's getting stuck on:
> 
> futex(0x8427f1b70, FUTEX_WAIT_PRIVATE, 2, NULL
> 
> Too stuck to even finish printing the argument list or closing parenthesis, apparently! A Cirrus CI build log where I set the process to terminate via timeout is available at https://cirrus-ci.com/task/6610515924353024 <https://cirrus-ci.com/task/6610515924353024> but it's actually reproducible for me locally with just
> 
> curl -O https://uploader.codecov.io/latest/linux/codecov
> chmod +x codecov
> ./codecov -h
> 
> Does anyone have any advice for how to debug this further?
>

hi, mostly by ktrace -di/kdump -HAR and see which uaddr wake-up missed,
which freebsd version you are used?