From nobody Thu Aug 18 08:35:35 2022 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4M7dWT7017z4YrR7 for ; Thu, 18 Aug 2022 08:35:49 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (heemeyer.club [195.93.173.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4M7dWS6yqTz3LfW for ; Thu, 18 Aug 2022 08:35:48 +0000 (UTC) (envelope-from dchagin@heemeyer.club) Received: from heemeyer.club (localhost [127.0.0.1]) by heemeyer.club (8.17.1/8.16.1) with ESMTP id 27I8Za2K034044; Thu, 18 Aug 2022 11:35:36 +0300 (MSK) (envelope-from dchagin@heemeyer.club) Received: (from dchagin@localhost) by heemeyer.club (8.17.1/8.16.1/Submit) id 27I8ZaaU034043; Thu, 18 Aug 2022 11:35:36 +0300 (MSK) (envelope-from dchagin) Date: Thu, 18 Aug 2022 11:35:35 +0300 From: Dmitry Chagin To: Alex Arslan Cc: "freebsd-hackers@freebsd.org" Subject: Re: Hang in futex wait with a Node.js binary in Linuxulator Message-ID: References: <16777BDC-22D3-4ACC-95E8-95933D587341@comcast.net> List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 4M7dWS6yqTz3LfW X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of dchagin@heemeyer.club has no SPF policy when checking 195.93.173.158) smtp.mailfrom=dchagin@heemeyer.club X-Spamd-Result: default: False [-2.10 / 15.00]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:61400, ipnet:195.93.173.0/24, country:RU]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; R_DKIM_NA(0.00)[]; FREEMAIL_TO(0.00)[comcast.net]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_TWO(0.00)[2]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; FREEFALL_USER(0.00)[dchagin]; ARC_NA(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; DMARC_NA(0.00)[heemeyer.club]; TO_DN_SOME(0.00)[]; R_SPF_NA(0.00)[no SPF record]; MID_RHS_MATCH_FROM(0.00)[] X-ThisMailContainsUnwantedMimeParts: N On Wed, Aug 17, 2022 at 09:45:57PM -0700, Alex Arslan wrote: > Hi Dmitry, thanks for the help! Regarding the version, I've observed the hang on FreeBSD 12.2, 12.3, and 13.0. When looking at the kdump output, I see > > linux_sys_futex(0x8427eeb70,0x80,0x2,0,0,0) > > as the last output before the SIGINT I sent to stop the hang. If I understand correctly, this is the same as what I posted before—a futex waiting for the value 2 to be written to a process-private address—which would mean that the address the wake-up missed was 0x8427eeb70, the first argument to the call. Is that right? There is no wake-up sent though. I looked for that address in the full kdump output and didn't find it, and I'm not sure what else to be looking for. Apologies if I'm missing something obvious here, I'm quite new to this kind of debugging. > yes, you are right. if possible, upgrade to stable/13, it is the same as the -current. I checked stable/13, it's the same behaviour( > > On Aug 17, 2022, at 12:28 AM, Dmitry Chagin wrote: > > > > 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 ) 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 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? > > > >