Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
From: "Frank Seide" <seide@mac.com>
To: <cygwin@cygwin.com>
Cc: "'Zhe Feng'" <zfeng@msrchina.research.microsoft.com>
Subject: bug report: cygwin lib can't recover after out of memory
Date: Thu, 7 Feb 2002 10:54:31 +0800
Message-ID: <FE3A5416EBDD83408F14F09EBA56474402C4F2EB@bjs-msg-01.fareast.corp.microsoft.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.3416
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700

Hi,

I observed cygwin getting into a bad state after a
memory-allocation failure, from which I only can
recover by terminating all cygwin processes to unload
the cygwin1.dll.

I run a perl script that gradually allocates memory
until the memory limit of 256 MB (default) is reached.
Perl, as expected, terminates with "Out of Memory!"

However, _after_ the script terminates,
subsequently executed cygwin programs have a problem:

 - a simple "ls" gives
   Segmentation fault (core dumped)

% ls -l
... (works correctly)
% ./test.pl			<-- script to reach mem limit
Out of memory!
% ls -l
Segmentation fault (core dumped)
%

 - trying to open another rxvt window (while the shell in which
  the script terminated is still open) shows the msg
    handle_exceptions: Exception: STATUS_ACCESS_VIOLATION

To recover, I need to exit the shell in which the script
terminated first, such that all cygwin processes are gone
(and cygwin1.dll gets unloaded, I guess).

Thanks,

Frank

Version info:

 - This is perl, version 5.005_03 built for cygwin32
 - WinNT Ver 5.0 build 2195 Service Pack 2
 - Cygwin DLL version info:
        dll major: 1003
        dll minor: 2
        dll epoch: 19
        dll bad signal mask: 19005
        dll old termios: 5
        dll malloc env: 28
        api major: 0
        api minor: 39
        shared data: 3
        dll identifier: cygwin1
        mount registry: 2
        cygnus registry name: Cygnus Solutions
        cygwin registry name: Cygwin
        program options name: Program Options
        cygwin mount registry name: mounts v2
        cygdrive flags: cygdrive flags
        cygdrive prefix: cygdrive prefix
        cygdrive default prefix: 
        build date: Sun May 20 23:28:17 EDT 2001
        shared id: cygwin1S3


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

