delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/06/11/09:41:59

From: newsham AT lava DOT net (Tim Newsham)
Subject: do_exit and signals?
11 Jun 1998 09:41:59 -0700 :
Message-ID: <m0ykAHT-00118cC.cygnus.cygwin32.developers@malasada.lava.net>
Mime-Version: 1.0
To: cygwin32-developers AT cygnus DOT com

Hi,

    Got a question.  The do_exit() function (in dcrt0.cc) closes
all the open files and then does sigproc_terminate to stop signal
processing.  Is there any reason the files should be closed first?

During some high-load processing with lots of processes we occasionally
see hung processes and once in a while a Dr Watson.  I attached to
one of the hung process at one point and got a stack trace and noticed:

       call handler
       .... (2 0x77f6xxxx addresses) ...
       _close
       close_all_files
       do_exit
       _exit

This process was unkillable in cygwin.  I'm not sure what was going
on here.  Would it help to disable signals earlier in the _exit sequence?

We've also seen two other anomolies recently that we haven't seen
more than once:

    - commit_and_ic: Virtual Alloc Failed  (is this a standard
          "out of memory" type of error?)
    - call_handler: ouldn't[sic] get context of main thread.  err 6
          (this was printed every time we tried to kill the process)

I didn't get to debug these processes.

Compliments:  B19 is MUCH MUCH more stable for us than previous
vesions have been.  Other than few and infrequent errors under high
load, everythings working very well.

                                             Tim N.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019