Thread

  1. Re: [HACKERS] Memory not freed at WARN

    Jan Wieck <jwieck@debis.com> — 1998-02-25T17:54:56Z

    On October 27, 1997 I wrote:
    > 
    > Hi,
    > 
    >     while  playing  around  with  PL/Tcl  I encountered a general
    >     memory  allocation  problem.  Every  transaction  abort   via
    >     elog(WARN, ...) leaves some allocated memory laying around.
    > 
    >     Just  do  some "select * from non_existing_table;" and you'll
    >     see the backend growing.
    > 
    >     One place where this happens is  tcop.  The  querytree  isn't
    >     freed  on  the  restart.  But  there must be other places too
    >     since I've hacked out that  one  and  the  backend  is  still
    >     growing.
    > 
    >     This all didn't matter until we have triggers and constraints
    >     now.  One normal action of a trigger or constraint is to fire
    >     a  transaction  abort.  Thus,  a really long running database
    >     backend can grow and grow.
    > 
    >     Please add this to TODO as I don't have the time right now to
    >     dive into.
    
        Never got onto the TODO :-(
    
        It still happens. Seems like approx 1K isn't freed per elog(ERROR).
        
    
    Jan
    
    -- 
    
    #======================================================================#
    # It's easier to get forgiveness for being wrong than for being right. #
    # Let's break this rule - forgive me.                                  #
    #======================================== jwieck@debis.com (Jan Wieck) #
    
    
    
  2. Re: [HACKERS] Memory not freed at WARN

    Bruce Momjian <maillist@candle.pha.pa.us> — 1998-02-25T19:16:44Z

    > >     This all didn't matter until we have triggers and constraints
    > >     now.  One normal action of a trigger or constraint is to fire
    > >     a  transaction  abort.  Thus,  a really long running database
    > >     backend can grow and grow.
    > > 
    > >     Please add this to TODO as I don't have the time right now to
    > >     dive into.
    > 
    >     Never got onto the TODO :-(
    > 
    >     It still happens. Seems like approx 1K isn't freed per elog(ERROR).
    
    Added:
    
    * elog() does not free all its memory(Jan)
    
    
    -- 
    Bruce Momjian                          |  830 Blythe Avenue
    maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
      +  If your life is a hard drive,     |  (610) 353-9879(w)
      +  Christ can be your backup.        |  (610) 853-3000(h)