public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Mark Geisert <mark@maxrnd.com>
To: Cygwin Mailing List <cygwin@cygwin.com>
Subject: Re: EXTERNAL SENDER: Re: Fork errors
Date: Sat, 9 Sep 2023 00:26:17 -0700	[thread overview]
Message-ID: <740baf26-bd3f-3577-ee46-fccbea794cb3@maxrnd.com> (raw)
In-Reply-To: <PH0PR16MB4782C3568A9F956F0088B6C5F5EDA@PH0PR16MB4782.namprd16.prod.outlook.com>

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 <cygwin-bounces+dale.lobb=bryanhealth.org@cygwin.com>
>> On Behalf Of Mark Geisert via Cygwin
>> Sent: Wednesday, September 6, 2023 6:32 PM
>> To: Cygwin Mailing List <cygwin@cygwin.com>
>> 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

      reply	other threads:[~2023-09-09  7:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-06 18:51 Dale Lobb
2023-09-06 21:00 ` Jose Isaias Cabrera
2023-09-06 21:03   ` Jose Isaias Cabrera
2023-09-08 21:35     ` EXTERNAL SENDER: " Dale Lobb
2023-09-08 21:30   ` Dale Lobb
2023-09-06 23:32 ` Mark Geisert
2023-09-07 15:20   ` Bill Stewart
2023-09-08  5:02     ` Mark Geisert
2023-09-08 22:02   ` EXTERNAL SENDER: " Dale Lobb
2023-09-09  7:26     ` Mark Geisert [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=740baf26-bd3f-3577-ee46-fccbea794cb3@maxrnd.com \
    --to=mark@maxrnd.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).