*BSD News Article 13368


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!crcnis1.unl.edu!wupost!howland.reston.ans.net!noc.near.net!uunet!mcsun!Germany.EU.net!hcshh!hm
From: hm@hcshh.hcs.de (Hellmuth Michaelis)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: Out of memory?
Message-ID: <2069@hcshh.hcs.de>
Date: 25 Mar 93 08:21:53 GMT
References: <crt.732897369@tiamat.umd.umich.edu> <1993Mar23.160203.3825@coe.montana.edu> <summer.732933611@mullian.ee.Mu.OZ.AU> <C4Ep1x.F56@ns1.nodak.edu>
Organization: HCS GmbH, Hamburg, Europe
Lines: 88

In <C4Ep1x.F56@ns1.nodak.edu> ortmann@plains.NoDak.edu (Daniel Ortmann) writes:

>I have a Gateway2000 EISA system with 16 megs ram, 32 megs swap, and
>could not process the documentation for gnu emacs without an "Out of
>Memory" error.  :-(

This has nothing to to with swap-space, i had similar problems a while ago,
and got some mail from James Clark:


From unido!jclark.com!jjc Mon Oct  5 12:55:26 1992
Return-Path: <unido!jclark.com!jjc>
Received: by hcshh.hcs.de (/\==/\ Smail3.1.21.1 #21.1)
	id <m0mbr25-000NRUC@hcshh.hcs.de>; Mon, 5 Oct 92 12:55 MET
Received: from jclark.com
	by mail.Germany.EU.net with SMTP (5.65c/EUnetD-2.2.0.i)
	via EUnet for hcshh
	id AA03284; Mon, 5 Oct 1992 12:51:54 +0100
Received: by jclark.com (4.1/SMI-4.1)
	id AA23240; Mon, 5 Oct 92 12:50:14 BST
Date: Mon, 5 Oct 92 12:50:14 BST
From: unido!jclark.com!jjc (James Clark)
Message-Id: <9210051150.AA23240@jclark.com>
To: hcshh.hcs.de!hm
In-Reply-To: <m0mbpMb-000NRUC@hcshh.hcs.de> (hm@hcshh.hcs.de)
Subject: [386BSD] troff: out of memory
Status: RO


   From: hm@hcshh.hcs.de (Hellmuth Michaelis)
   Date: Mon, 5 Oct 92 11:08:28 MET


   >    From: hm@hcshh.hcs.de (Hellmuth Michaelis)
   >    Newsgroups: comp.unix.bsd
   >    Date: 3 Oct 92 12:15:20 GMT
   > 
   >    recently i got the error message "troff: out of memory" while formatting
   >    two large manuals (cnews-guide and nn) using groff with the postscipt output
   >    option.
   > 
   > What version of groff are you using?  With what version of g++ was it
   > compiled?

   GNU troff version 1.01
   gcc/g++ version 1.39

The problem is caused by a bug in g++ 1.39: operator delete (the C++
equivalent of free()) doesn't work properly.

Apply the following fix to g++ or upgrade to a newer version:

*** cplus-decl.c.~1~	Mon Aug  6 05:28:59 1990
--- cplus-decl.c	Wed Jun  5 08:55:04 1991
***************
*** 7951,7961 ****
  
        /* At the end, call delete if that's what's requested.  */
        if (TREE_GETS_DELETE (current_class_type))
  	exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node),
  				      get_identifier (OPERATOR_DELETE_FORMAT),
! 				      build_tree_list (NULL_TREE, integer_zero_node),
  				      NULL_TREE, LOOKUP_NORMAL);
        else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
  	exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0);
        else
  	exprstmt = 0;
--- 7951,7961 ----
  
        /* At the end, call delete if that's what's requested.  */
        if (TREE_GETS_DELETE (current_class_type))
  	exprstmt = build_method_call (build1 (NOP_EXPR, TYPE_POINTER_TO (current_class_type), error_mark_node),
  				      get_identifier (OPERATOR_DELETE_FORMAT),
! 				      build_tree_list (NULL_TREE, current_class_decl),
  				      NULL_TREE, LOOKUP_NORMAL);
        else if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
  	exprstmt = build_x_delete (ptr_type_node, current_class_decl, 0);
        else
  	exprstmt = 0;



hope this helps,
hellmuth
-- 
hellmuth michaelis    HCS Hanseatischer Computerservice GmbH    hamburg, europe
hm@hcshh.hcs.de              tel: +49/40/55903-170          fax: +49/40/5591486
[ the opinions expressed above are my own and not the opinion of anybody else ]