From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from m0.truegem.net (m0.truegem.net [69.55.228.47]) by sourceware.org (Postfix) with ESMTPS id C2C313858D1E for ; Sat, 9 Sep 2023 07:26:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C2C313858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=maxrnd.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=maxrnd.com Received: (from daemon@localhost) by m0.truegem.net (8.12.11/8.12.11) id 3897QKxl095728 for ; Sat, 9 Sep 2023 00:26:20 -0700 (PDT) (envelope-from mark@maxrnd.com) Received: from 50-1-247-226.fiber.dynamic.sonic.net(50.1.247.226), claiming to be "[192.168.4.101]" via SMTP by m0.truegem.net, id smtpd1AOH4a; Sat Sep 9 00:26:17 2023 Subject: Re: EXTERNAL SENDER: Re: Fork errors To: Cygwin Mailing List References: From: Mark Geisert Message-ID: <740baf26-bd3f-3577-ee46-fccbea794cb3@maxrnd.com> Date: Sat, 9 Sep 2023 00:26:17 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_LAZY_DOMAIN_SECURITY,NICE_REPLY_A,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Dale, Something appears to be adding cruft to your outgoing emails.. links to urldefense.com that don't work (from outside your workplace maybe) and clutter up the Cygwin email archives. Can you turn that off somehow? More below... Dale Lobb via Cygwin wrote: >> -----Original Message----- >> From: Cygwin >> On Behalf Of Mark Geisert via Cygwin >> Sent: Wednesday, September 6, 2023 6:32 PM >> To: Cygwin Mailing List >> Subject: EXTERNAL SENDER: Re: Fork errors >> >> Dale Lobb via Cygwin wrote: >>> Since upgrading to the latest version of Cygwin a few weeks ago on a >> server I manage, I've been experiencing an issue with fork errors. The >> Cygwin installation had not been updated for almost a year before that. >>> >>> The issue happens every time a script is invoked that purges files from >> some temporary directories, but never in the same place in the script. The >> script uses multiple calls to find -exec to remove files over 10 days old from >> the directories. Here is a typical error. Sometime the issue will assert after >> just a few tens of files deleted, sometimes after hundreds or thousands of >> files have been deleted: >>> >>> removed '/cygdrive/d/.../obfuscated.datedata.txt' >>> 1 [main] find 20066 dofork: child -1 - forked process 4068 died >> unexpectedly, retry 0, exit code 0xC0000142, errno 11 >>> find: cannot fork: Resource temporarily unavailable >>> >>> It also happens randomly at other times. I've seen the bash shell itself fail >> on the invocation of a mintty. I've seen it happen on all sorts of interactive >> commands entered from bash. >>> >>> Today, as a test, I updated all the installed Cygwin components. One of >> the post installation scripts failed, so I re-exec'd it: >>> >>> $ ./postinstall/0p_update-info-dir.dash >>> Rebuilding info directory >>> 2 [main] dash 2059 dofork: child -1 - forked process 7676 died >> unexpectedly, retry 0, exit code 0xC0000142, errno 11 >>> ./postinstall/0p_update-info-dir.dash: 22: Cannot fork >>> >>> A second re-exec then worked fine. >>> >>> I've tried reinstalling all the components, and I've tried rebaseall. >>> >>> Is there anything else I can try, or troubleshooting steps to take? >> >> Try the FAQ, specifically >> https://urldefense.com/v3/__https://cygwin.com/faq.html*faq.using.fixing- >> fork- >> failures__;Iw!!PI4dZuVR!iMEVdwUomDN3L1KOsOWkDMmUhiuXarkAyjI6itT- >> BSJ5bcjg65VVWHdP7U5Ny2VaBilIz9R3o6SkMqX3$ Example #1 of added cruft above. Something appears to be rewriting URLs for "safety". >> >> Pay attention to the subtleties of running rebaseall, e.g. make sure no Cygwin >> processes (background server processes or whatnot) are running. When the >> FAQ gets >> to talking about running setup.exe for this situation, it means close any open >> Cygwin shell windows and manually run the Cygwin Setup program, just >> taking its >> defaults all the way through; you needn't install anything it suggests at this >> time. The object is to get to Setup's end where it runs a full rebase. >> >> Speculation: The specific exit code 0xC0000142 may or may not have >> something to do >> with Windows error 142, which is ERROR_BUSY_DRIVE. I cannot help further >> on this. As corrected by another poster, it's hex 142 == decimal 322 == ERROR_DEVICE_NO_RESOURCES. >> >> ..mark >> >>> ________________________________ >>> >>> CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, >> is for the sole use of the intended recipients and may contain confidential >> and privileged information. Any unauthorized review, use, disclosure or >> distribution is prohibited. If you are not the intended recipient, please >> contact the sender by reply e-mail and destroy all copies of the original >> message. >> >> P.S. You've sent your post to a public mailing list so the above notice does not >> apply. Obfuscate your system particulars if that's a problem. Can you eliminate this confidentiality notice from your emails to the Cygwin mailing list? >> >> -- >> Problem reports: >> https://urldefense.com/v3/__https://cygwin.com/problems.html__;!!PI4dZu >> VR!iMEVdwUomDN3L1KOsOWkDMmUhiuXarkAyjI6itT- >> BSJ5bcjg65VVWHdP7U5Ny2VaBilIz9R3o_fDJhhS$ >> FAQ: >> https://urldefense.com/v3/__https://cygwin.com/faq/__;!!PI4dZuVR!iMEVd >> wUomDN3L1KOsOWkDMmUhiuXarkAyjI6itT- >> BSJ5bcjg65VVWHdP7U5Ny2VaBilIz9R3o5GKnVUD$ >> Documentation: >> https://urldefense.com/v3/__https://cygwin.com/docs.html__;!!PI4dZuVR!i >> MEVdwUomDN3L1KOsOWkDMmUhiuXarkAyjI6itT- >> BSJ5bcjg65VVWHdP7U5Ny2VaBilIz9R3o2A6MIc4$ >> Unsubscribe info: >> https://urldefense.com/v3/__https://cygwin.com/ml/*unsubscribe- >> simple__;Iw!!PI4dZuVR!iMEVdwUomDN3L1KOsOWkDMmUhiuXarkAyjI6itT- >> BSJ5bcjg65VVWHdP7U5Ny2VaBilIz9R3o4OJCuT7$ Examples #2-#5 of added cruft above. > Hi Mark, thanks for the reply! > > I ran though the rebase-trigger process as outlined in the FAQ. > Unfortunately, there was no difference afterwards. > > One good thing about reading the FAQ, it lead me to > "/usr/share/doc/rebase/README" which has the parameters for the > rebaseall command. I'm thinking about running rebaseall manually with a > different base address than the default (0x70000000). You could certainly try that but I don't expect an improvement. The most frequent fork error reports are about child DLLs not being loaded at the same address they had in the parent. In those cases, yes, a different rebase "base" might help. From your reports it appears to be a different failure mode: the child sometimes raises an exception and dies. The exception code (exit code) seems to be the same every time 0xC0000142; is that true? If you're up for it, you could try to find an STC (Simple Test Case) that more often than not reproduces the fork error. Then run that STC under strace. 'man strace' for more info. If you get the fork error, take a look at the strace output file and try to locate that exception code 0xC0000142. Look at the lines leading up to that and see if anything interesting appears. You might think about posting the strace output, IF IT IS NOT TOO BIG, to the Cygwin mailing list as an attachment. The reason for minimizing is that it keeps searches of the mailing list archives more robust. HTH, ..mark