From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27970 invoked by alias); 2 Dec 2011 18:02:36 -0000 Received: (qmail 27944 invoked by uid 22791); 2 Dec 2011 18:02:35 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 02 Dec 2011 18:02:23 +0000 From: "tromey at redhat dot com" To: gdb-prs@sourceware.org Subject: [Bug python/12533] gdb consumes large memory when millions gdb.values are created Date: Fri, 02 Dec 2011 18:02:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: python X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: tromey at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: tromey at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org X-SW-Source: 2011-q4/txt/msg00437.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=12533 --- Comment #2 from Tom Tromey 2011-12-02 18:02:12 UTC --- It took me a while, but I finally understand why this is non-trivial. My initial idea was to change value_to_value_object to release the value from the value chain (or incref if already released). This would cause memory management of the value to be strictly linked to the wrapping python object. However, this causes various problems. First, some python code returns unwrapped values; e.g., fnpy_call or things like pretty_print_one_value. Changing this to incref would avoid the crashes, but then that passes the deallocation problem to their callers, which in general are not set up to deal with this -- all the rest of gdb relies on the value chain. Perhaps it would work to relink a value onto the chain. That seems quite ugly though. -- 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.