public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "joachim.protze at zih dot tu-dresden.de" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug python/12533] New: gdb consumes large memory when millions gdb.values are created
Date: Wed, 02 Mar 2011 11:36:00 -0000	[thread overview]
Message-ID: <bug-12533-4717@http.sourceware.org/bugzilla/> (raw)

http://sourceware.org/bugzilla/show_bug.cgi?id=12533

           Summary: gdb consumes large memory when millions gdb.values are
                    created
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: python
        AssignedTo: unassigned@sourceware.org
        ReportedBy: joachim.protze@zih.tu-dresden.de


For my current pretty-printer project i collect some metadata in inferior
space. This is used to evaluate, how some values - especially send/recv-buffers
- should be formated for printout. In some cases it is necessary to evaluate
metadata for each single value in buffer, which can be 10k+ values. 

I observed gdb to consume hundreds of MB memory and tried to analyze the source
of the problem with valgrind + massif: most memory is consumed within
allocate_value()

What i don't understand: why are the value structures not freed while the
command is running. Is this an issue of the python interpreter or is this an
issue of the gdb-py api?

Is there a way to get the values freed?

-----------------------------------------
short example to see this behaviour (for RAM <2GB use smaller iteration
counts!):

(gdb) python v=gdb.parse_and_eval("1")
(gdb) python 
>for i in range(1000000):
>  v+=1
>end
(gdb) python 
>for i in range(1200000):
>  v+=1
>end
(gdb)                                                                           
gdb consumes 600MB after the 1.0M iterations and 780MB after the 1.2M
iterations

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


             reply	other threads:[~2011-03-02 11:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-02 11:36 joachim.protze at zih dot tu-dresden.de [this message]
2011-11-23 21:09 ` [Bug python/12533] " tromey at redhat dot com
2011-12-02 18:02 ` tromey at redhat dot com
2011-12-08 19:00 ` ian at mahuron dot org
2011-12-22 19:52 ` cvs-commit at gcc dot gnu.org
2011-12-22 19:53 ` tromey at redhat dot com
2011-12-22 21:34 ` ian at mahuron dot org
2011-12-23  2:46 ` tromey at redhat dot com
2012-01-03 19:28 ` cvs-commit at gcc dot gnu.org
2012-01-03 19:30 ` tromey at redhat dot com
2012-01-03 19:44 ` ian at mahuron dot org
2023-02-27 22:56 ` cvs-commit at gcc dot gnu.org

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=bug-12533-4717@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=gdb-prs@sourceware.org \
    /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).