Bug 21435 - [PATCH] Plug a major mem leak
Summary: [PATCH] Plug a major mem leak
Status: RESOLVED FIXED
Alias: None
Product: libopenraw
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium critical
Assignee: Hubert Figuiere
QA Contact:
URL:
Whiteboard: [release:0.0.7]
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-27 09:37 UTC by Priit Laes (irc: plaes)
Modified: 2016-11-27 05:46 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
libopenraw-plug-a-mem-leak-in-demosaic-code.patch (698 bytes, patch)
2009-04-27 09:39 UTC, Priit Laes (irc: plaes)
Details | Splinter Review

Description Priit Laes (irc: plaes) 2009-04-27 09:37:47 UTC
There's a godawful mem leak in the gdkpixbuf code (the one that Eog uses) that leaks ~80mb of memory every time a raw (Canon CR2) picture is decoded.

==23053== 82,813,248 bytes in 2 blocks are possibly lost in loss record 254 of 255
==23053==    at 0x4C2269A: calloc (vg_replace_malloc.c:397)
==23053==    by 0x1B9D4526: bimedian_demosaic(unsigned short*, unsigned int, unsigned int, or_cfa_pattern, unsigned char*) (bimedian_demosaic.cpp:110)
==23053==    by 0x1B9B30DD: OpenRaw::RawFile::getRenderedImage(OpenRaw::BitmapData&, unsigned int) (rawfile.cpp:403)
==23053==    by 0x1B776F46: gdk_pixbuf__or_image_stop_load (pixbuf-loader.c:109)
==23053==    by 0x6936119: gdk_pixbuf_loader_close (gdk-pixbuf-loader.c:723)
==23053==    by 0x435DD6: eog_image_load (eog-image.c:994)
==23053==    by 0x43F4F7: eog_job_load_run (eog-jobs.c:291)
==23053==    by 0x43EF54: eog_render_thread (eog-job-queue.c:78)
==23053==    by 0x85DCA5D: g_thread_create_proxy (gthread.c:635)
==23053==    by 0x7032FF6: start_thread (pthread_create.c:297)
==23053==    by 0x8B4DF7C: clone (clone.S:112)
==23053== 
==23053== 
==23053== 248,439,744 bytes in 2 blocks are possibly lost in loss record 255 of 255
==23053==    at 0x4C2269A: calloc (vg_replace_malloc.c:397)
==23053==    by 0x1B9D453E: bimedian_demosaic(unsigned short*, unsigned int, unsigned int, or_cfa_pattern, unsigned char*) (bimedian_demosaic.cpp:111)
==23053==    by 0x1B9B30DD: OpenRaw::RawFile::getRenderedImage(OpenRaw::BitmapData&, unsigned int) (rawfile.cpp:403)
==23053==    by 0x1B776F46: gdk_pixbuf__or_image_stop_load (pixbuf-loader.c:109)
==23053==    by 0x6936119: gdk_pixbuf_loader_close (gdk-pixbuf-loader.c:723)
==23053==    by 0x435DD6: eog_image_load (eog-image.c:994)
==23053==    by 0x43F4F7: eog_job_load_run (eog-jobs.c:291)
==23053==    by 0x43EF54: eog_render_thread (eog-job-queue.c:78)
==23053==    by 0x85DCA5D: g_thread_create_proxy (gthread.c:635)
==23053==    by 0x7032FF6: start_thread (pthread_create.c:297)
==23053==    by 0x8B4DF7C: clone (clone.S:112)
Comment 1 Priit Laes (irc: plaes) 2009-04-27 09:39:38 UTC
Created attachment 25191 [details] [review]
libopenraw-plug-a-mem-leak-in-demosaic-code.patch
Comment 2 Hubert Figuiere 2009-04-28 18:42:39 UTC
Good catch. How did I miss it ?


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.