DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5BSJrcvA3031149 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 5BSJrcvA3031149 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=NGlSN3DL X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 81CFB4BAD162 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1766951617; bh=Kk2AL134I4OOFZBdUiV3+AJTgsnzn/4QT6/PxbKBC2g=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=NGlSN3DLaTwGmACER2O6br9xk5THS5pqHc1plcuM3sjfl7fJrbg+ZTRHO6SDauqIW Kcw3p+EgSbVCc09Y1Czv6EimmVLabdK76x48FPiFnORO9jKvzDxbaCR7cG6i/71zSJ nHwz8ile97mgYkHAFiJIhZ+E6wyecElGmopT3YYw= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DB6284BAE7D2 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DB6284BAE7D2 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766951569; cv=none; b=fW44oWb/nWYMIvNasG7Z60OLtFEl5Azzfrs60RIfdwQ0SE+Taq3w0jyLagnWBp3hzzgDRsGE2/6JPNvDwtspPHPMO4nEL5nW2XUfao1nhoCNC2j/uzj+zdmUUEYYvlyPG8KvVMM/6i7Ge8XXh1lqgF42EDLce6nnn3tyWURJPjg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766951569; c=relaxed/simple; bh=+VbbxbBdF153mqJ4Y/UgjbVyGIXPsWigahoa0oEN880=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=dDAPr8fuAyPx41qFHedT04pHObF1MlJgCyJNHG19nf5nubwh25nwz/MONlSuJbfzzllyDPanY70A+AeCN9zql9ERnHPxSnGjzeL13BFAJEwA0QMRULkXeInR+zr9VG9FwHTrHl+BtN5/5rI17Ifp6iRxNMA603b1H2QTHn+ahUY= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB6284BAE7D2 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766951568; x=1767556368; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+VbbxbBdF153mqJ4Y/UgjbVyGIXPsWigahoa0oEN880=; b=khOsgPKwIz4Rjo9MX2YcS59n5OFriAUMZKx7/DBiSDNQySLaFxJZUTeBMc3Rbr17C5 CNSm4c7Y6lzwb9n8zJwZ8Nja5vX0HWlCS4GXbhQprQM/Li2UK5EkN5KRglzf4L+CSZCE X+PRtL7fDt/jv9o2OnYh5skJBc9hfJQirqcoSg0jcumRCqsGeQrNKe7fc1K7IpE9E5CA k5iWIaeiqcV32ULofrQRzz/jDtPF4BCVfzeI00sBuKy3x/CmS/Tc2OnL2DabWyVnAFmC 7ysxeD1x35lVbDYsr5S0TCLBgxFm/bTMyotPZgfl2KZ8B2iC8Ptzhq+ZKxCWjiMVk1bv BioA== X-Forwarded-Encrypted: i=1; AJvYcCX/vb2BEpOd7283xsrc9CChwi5NntmARCGKvfvGh7/146mxE3ltNmhMgpc67yZQ4CdLh2rFknU=@cygwin.com X-Gm-Message-State: AOJu0Ywpj7aco2dM2IUtRG+UgX4HooCaLR9hzteoO8IYdKvkmtmTONvp InC4mC8oaISWdblFq4dq/q98baPMg0DOsMQMJ7j421rpM44XpSQXlyV4ecQYPt9uRBF52+RhdWu HaT7lk+X3gO1RvuA6Z112ept7WUJHhw== X-Gm-Gg: AY/fxX4bQrTIZDK9jmoXjfN0CEAg1Qt9oqHJ+7FU6oDr03Wd+MB6QfvYIPKfky+mLrF WiyaH8tvKntJyD9AX4umTdVCtypawWDxpN6zX5m0PxzhCcwAQyn6+gktfKEyAsbI7RLV9tDyiPO DtlQ0h1FEeFqHMJNuKCGbCL4L/UwTbXGWv29MDkRD9UXF/mpUKtdpPfVh6wK3kJcqc/Yud/4GBh TMfPsN5j9Hix5OiPZ9ZtSzN7hwvlhNNKmaqEc0cbm4jc7i9oWNcf8qFnntdMxGEzU/aimPnEAtA XQxW+yAg1IsoI+n0my+nY5Vh0uLZoNN3vNCc X-Google-Smtp-Source: AGHT+IFCx2B7rpDOsZ+ioP+OfDGaborDKc5lRlseLCqejurLK0c+xJBGbZVTuWn0FEZ2hmlUKFup2pDO96/iliIk6Os= X-Received: by 2002:a05:690e:11c2:b0:640:fbf3:5f9a with SMTP id 956f58d0204a3-6466a8ba485mr20162200d50.5.1766951568076; Sun, 28 Dec 2025 11:52:48 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Sun, 28 Dec 2025 11:52:36 -0800 X-Gm-Features: AQt7F2qt5ubFa4zvfMsTzLAIiszbhOgPxTYQe1UU3KzP-1w_GLxOqke8vJpii-s Message-ID: Subject: Re: flock deadlock To: Takashi Yano , cygwin AT cygwin DOT com Content-Type: multipart/mixed; boundary="0000000000008d25320647087858" X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Nahor via Cygwin Reply-To: Nahor Sender: "Cygwin" --0000000000008d25320647087858 Content-Type: text/plain; charset="UTF-8" Attached is a reproducible example. The example just calls `fork()` then open/flock/close a directory and repeats (fork/open/flock/close). The forks optionally sleep then open/flock/close the same directory and exit. There is no issue if either the parent or the children don't call `flock()`. Without sleeping, the example deadlocks immediately on my system 100% of the time. Killing the child allow the parent to proceed, fork the next child, which triggers the next deadlock. When sleeping, _sometimes_ one child will deadlock with the parent. Killing that child allows the parent and remaining children to proceed (and potentially trigger another deadlock). Killing the parent also unblocks all the children. Regards, Nahor. --0000000000008d25320647087858 Content-Type: text/plain; charset="US-ASCII"; name="main.c" Content-Disposition: attachment; filename="main.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mjq4paap0 Ly8gI2RlZmluZSBTTEVFUAoKI2luY2x1ZGUgPHN0ZGxpYi5oPgoKI2luY2x1ZGUgPGFzc2VydC5o PgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcu aD4KI2luY2x1ZGUgPHN5cy9maWxlLmg+CiNpbmNsdWRlIDxzeXMvd2FpdC5oPgojaW5jbHVkZSA8 dGltZS5oPgojaW5jbHVkZSA8dW5pc3RkLmg+Cgpjb25zdCBpbnQgRk9SS19DT1VOVCA9IDEwOwoK dHlwZWRlZiBzdHJ1Y3QgewogIGludCBpZDsKfSBjYWxsX2FyZ3M7CgpzdGF0aWMgdm9pZCAqZmxv Y2tfY2FsbCh2b2lkICphcmcpIHsKICBjYWxsX2FyZ3MgKmFyZ3MgPSAoY2FsbF9hcmdzICopYXJn OwoKI2lmZGVmIFNMRUVQCiAgaWYgKGFyZ3MtPmlkICE9IC0xKSB7CiAgICBzdHJ1Y3QgdGltZXNw ZWMgZHVyYXRpb247CiAgICBkdXJhdGlvbi50dl9zZWMgPSAwOwogICAgZHVyYXRpb24udHZfbnNl YyA9IDE7CiAgICBuYW5vc2xlZXAoJmR1cmF0aW9uLCBOVUxMKTsKICB9CiNlbmRpZgoKICAvLyBv cGVuIGFuZCBsb2NrIGRpcgogIGludCBkaXJfZmQgPSBvcGVuKCIvY3lnZHJpdmUvYy9jeWd3aW42 NC9ldGMiLCBPX1JET05MWSwgMCk7CiAgaWYgKGRpcl9mZCA8IDApIHsKICAgIHByaW50Zigib3Bl biBkaXIgZXJyb3I6ICVkIC0gJXNcbiIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwogIH0KICBh c3NlcnQoZGlyX2ZkID49IDApOwoKICAvLyBsb2NrCiAgaW50IGxvY2tfcmVzID0gZmxvY2soZGly X2ZkLCBMT0NLX1NIKTsKICBpZiAobG9ja19yZXMgIT0gMCkgewogICAgcHJpbnRmKCJsb2NrIGVy cm9yOiAlZCAtICVzXG4iLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKTsKICB9CiAgYXNzZXJ0KGxv Y2tfcmVzID09IDApOwoKICAvLyBjbG9zZQogIGFzc2VydChjbG9zZShkaXJfZmQpID09IDApOwoK ICBwcmludGYoImRvbmVbJWldXG4iLCBhcmdzLT5pZCk7CiAgcmV0dXJuIE5VTEw7Cn0KCmludCBt YWluKCkgewogIGNhbGxfYXJncyBtYWluX2FyZ3M7CiAgbWFpbl9hcmdzLmlkID0gLTE7CgogIC8v IHNwYXduIGNoaWxkcmVuCiAgcGlkX3QgY2hpbGRyZW5bRk9SS19DT1VOVF07CiAgZm9yIChpbnQg aSA9IDA7IGkgPCBGT1JLX0NPVU5UOyArK2kpIHsKICAgIGNhbGxfYXJncyBhcmdzOwogICAgYXJn cy5pZCA9IGk7CgogICAgY2hpbGRyZW5baV0gPSBmb3JrKCk7CiAgICBpZiAoY2hpbGRyZW5baV0g PT0gLTEpIHsKICAgICAgcGVycm9yKCJmb3JrIik7CiAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsK ICAgIH0KICAgIGlmIChjaGlsZHJlbltpXSA9PSAwKSB7CiAgICAgIGZsb2NrX2NhbGwoJmFyZ3Mp OwogICAgICByZXR1cm4gMDsKICAgIH0KICAgIGZsb2NrX2NhbGwoJm1haW5fYXJncyk7CiAgfQoK ICAvLyB3YWl0IGNoaWxkcmVuCiAgZm9yIChpbnQgaSA9IDA7IGkgPCBGT1JLX0NPVU5UOyArK2kp IHsKICAgIGludCB3c3RhdHVzOwogICAgcGlkX3QgdzsKICAgIGRvIHsKICAgICAgdyA9IHdhaXRw aWQoY2hpbGRyZW5baV0sICZ3c3RhdHVzLCBXVU5UUkFDRUQgfCBXQ09OVElOVUVEKTsKICAgICAg aWYgKHcgPT0gLTEpIHsKICAgICAgICBwZXJyb3IoIndhaXRwaWQiKTsKICAgICAgICBleGl0KEVY SVRfRkFJTFVSRSk7CiAgICAgIH0KICAgIH0gd2hpbGUgKCFXSUZFWElURUQod3N0YXR1cykgJiYg IVdJRlNJR05BTEVEKHdzdGF0dXMpKTsKICB9CgogIHByaW50ZigiZG9uZVttYWluXVxuIik7CiAg cmV0dXJuIDA7Cn0K --0000000000008d25320647087858 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple --0000000000008d25320647087858--