From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.devel Subject: Re: Using the ImageMagick backend seems to leak memory Date: Mon, 10 Jan 2011 22:47:51 +0100 Message-ID: <877heca0s8.fsf@member.fsf.org> References: <87sjx6zczl.fsf@member.fsf.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1294696122 30698 80.91.229.12 (10 Jan 2011 21:48:42 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 10 Jan 2011 21:48:42 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jan 10 22:48:38 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PcPbL-0005vY-6q for ged-emacs-devel@m.gmane.org; Mon, 10 Jan 2011 22:48:37 +0100 Original-Received: from localhost ([127.0.0.1]:38744 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PcPb9-0004t4-GY for ged-emacs-devel@m.gmane.org; Mon, 10 Jan 2011 16:48:19 -0500 Original-Received: from [140.186.70.92] (port=41459 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PcPax-0004dX-JG for emacs-devel@gnu.org; Mon, 10 Jan 2011 16:48:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PcPak-0006Zi-Qf for emacs-devel@gnu.org; Mon, 10 Jan 2011 16:47:55 -0500 Original-Received: from out1.smtp.messagingengine.com ([66.111.4.25]:38104) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PcPak-0006ZX-Ih for emacs-devel@gnu.org; Mon, 10 Jan 2011 16:47:54 -0500 Original-Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43]) by gateway1.messagingengine.com (Postfix) with ESMTP id 8168A214A8 for ; Mon, 10 Jan 2011 16:47:53 -0500 (EST) Original-Received: from frontend1.messagingengine.com ([10.202.2.160]) by compute3.internal (MEProxy); Mon, 10 Jan 2011 16:47:53 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=from:to:subject:references:date:in-reply-to:message-id:mime-version:content-type; s=smtpout; bh=mX5xAFsz7Q5IAfNYTfnla5AkgDI=; b=ActfK73b5A1FroZqKW1SdkbLArNLpmfNoH563pUCAePChEjmXrCaNPsNJU22ppJr742AQsYC+cX9NmBJvQmQGIRlnfaBgUMK12EWKwV/xi4BSHJQ8OppkVXS+z2Y+57vSgY/U10R8+NJdfiHJAbJxT28z/k4AF5V8I/Gsu+W7ik= X-Sasl-enc: c0cU+AQtpRMhNZHNiwEJrF0hNFGREDwVO6RV6q98SZ/K 1294696073 Original-Received: from thinkpad (95-88-32-105-dynip.superkabel.de [95.88.32.105]) by mail.messagingengine.com (Postfix) with ESMTPA id E4859405AC8 for ; Mon, 10 Jan 2011 16:47:52 -0500 (EST) In-Reply-To: <87sjx6zczl.fsf@member.fsf.org> (Tassilo Horn's message of "Thu, 06 Jan 2011 08:51:26 +0100") User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:134421 Archived-At: Hi all, I've just tried to add some debug statements to one of the MagickWand example programs (see below). When I invoke that program on some very large TIF (~300 MB) or PNG file, the memory consumption shortly increases, but after destroying the MagickWand and calling MagickWandTerminus(), all memory is freed. Here's the code: --8<---------------cut here---------------start------------->8--- #include #include #include int main(int argc,char **argv) { MagickBooleanType status; MagickWand *magick_wand; if (argc != 3) { (void) fprintf(stdout,"Usage: %s image thumbnail\n",argv[0]); exit(0); } MagickWandGenesis(); magick_wand=NewMagickWand(); fprintf(stdout,"Created magick wand.\n"); status=MagickReadImage(magick_wand,argv[1]); MagickResetIterator(magick_wand); while (MagickNextImage(magick_wand) != MagickFalse) MagickResizeImage(magick_wand,106,80,LanczosFilter,1.0); status=MagickWriteImages(magick_wand,argv[2],MagickTrue); magick_wand=DestroyMagickWand(magick_wand); MagickWandTerminus(); fprintf(stdout,"Terminated magick wand & sleeping 20 secs.\n"); sleep (20); fprintf(stdout,"Bye.\n"); return(0); } --8<---------------cut here---------------end--------------->8--- Currently, I cannot see where's the difference between that code and the one in image.c... Bye, Tassilo