Severe memory leak in Browser when displaying GIF animations

VERIFIED DUPLICATE of bug 110048

Status

()

--
critical
VERIFIED DUPLICATE of bug 110048
17 years ago
17 years ago

People

(Reporter: mmienik, Assigned: pavlov)

Tracking

({memory-leak, testcase})

Trunk
memory-leak, testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(1 attachment)

(Reporter)

Description

17 years ago
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
BuildID:    2001112009

The browser has a severe memory leak when displaying GIF animations.  The 
problem is especially bad on large, infinitely looping GIF animations such as 
seen here:

http://mirror.bom.gov.au/products/IDR502.loop.shtml
http://mirror.bom.gov.au/products/IDR022.loop.shtml
http://mirror.bom.gov.au/products/IDR122.loop.shtml

On my Windows 2000 system, Mozilla leaks around 1Mb of memory per second, and 
on another FreeBSD system around 300kb/s.  The only way to recover this memory 
is to close the browser window.  Memory continues leaking until the process 
eats all available virtual memory.

Reproducible: Always
Steps to Reproduce:
1.Open a web page with a large, looping GIF animation.  Links provided above.


Actual Results:  Mozilla Browser leaks memory at upto 1Mb per second.

Expected Results:  Mozilla is not deallocating memory after displaying a 
looping GIF animation.
Michal, is this a problem with recent builds?  The build you are using is a 
month old....
Assignee: asa → pavlov
Component: Browser-General → ImageLib
Keywords: mlk
QA Contact: doronr → tpreston

Comment 2

17 years ago
Tentatively confirming.  On build 2001121103, Win98, I see the same thing.  I'm
using Norton Utils' System Info to check, and Mozilla started at 31MB, then
37MB, 43MB, 51MB.  When I close the browser window with the looping GIF, the
memory usage no longer goes up.

Comment 3

17 years ago
Build ID: 2001 12 15 08. Windows 2000.

Michal: None of the provided URLs seem to work. The image is "broken".
However, this one is pretty big: < http://vortex.plymouth.edu/mollsat_ir_an.gif >
(24 images @ 640 X 480 = 1.2 MB).

I see no process growth, using Windows Task Manager.
A slight peak when the loop is re-started, but the level immediately returns to
approx. 56 MB.
(Reporter)

Comment 4

17 years ago
More details available:

Real GIF animations do not appear to cause the problem, however the links 
provided use Javascript to swap four seperate GIF images. 
http://mirror.bom.gov.au/products/IDR502.loop.shtml

If you do not have Javascript enabled, the 'animation' will not work.

I have just tried the same links using the very latest Mozilla (2001121508), 
and one of my Win2k boxes still has the memory leak while the other does not.

I suspect this may be caused by an older build of Mozilla being uninstalled 
completely on one of my Win2k boxes but not the other. (However, both are 
reported as running 2001121508).

I do not have the resources to further investigate this possible bug, however 
it would be beneficial if someone could install the latest Mozilla on several 
clean OS setups and verfiy this bug.

Comment 5

17 years ago
FWIW I was able to reproduce this on Mozilla 0.9.7
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7) Gecko/20011221

This was upgraded when 0.9.7 came out from 0.9.6 (and before than from 0.9.5).

Running on w2k sp2 (build 2195) german on the test URL I get exactly the same
memory gobbling effect. It is not limited to .gifs though as the same effect
occrs with Jpegs

The code below with 4 suitable Jpegs will cause memory usage to increase until
death unless the page is closed

(The imges used in my test are 640x480 and about 65Kbytes in size)

<HTML>
<HEAD>
<TITLE>Memleak</TITLE>
<script>
theImageNames = new Array();
theImageNames[0] = "prag001F.jpg";
theImageNames[1] = "prag002F.jpg";
theImageNames[2] = "prag003F.jpg";
theImageNames[3] = "prag004F.jpg";
nImages = 4;
var myTimeOut = 0
var imgNo = 0;

function nextImg() {
    clearTimeout(myTimeOut);
    imgNo++;
    if (imgNo >= theImageNames.length) { imgNo = 0; }
    document.images[0].src=theImageNames[imgNo];
    myTimeOut = setTimeout("nextImg()",1000)
    }

function startup() {
    document.images[0].src=theImageNames[0];
    myTimeOut = setTimeout("nextImg()",1000);
    }
</script>
</HEAD>

<BODY onLoad="startup()">
<img name="animate" border=0 height=480 width=640>
</BODY>
</HTML>

Comment 6

17 years ago
Created attachment 63178 [details]
Testcase created from Francis comment

Comment 7

17 years ago
wfm using build 2001123103 on Win2k. Memory usage stays the same when loading
any of the above URLs.
Reporter, can you try a recent nightly build and report if problem still occurs ?
Build available here:
http://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-win32-talkback.zip
There was a recent mem leak fix w/ JS but I cannot find it...
Keywords: testcase
(Reporter)

Comment 8

17 years ago
The memory leak is still there when an existing Mozilla installation is 
upgraded to the latest nightly build, but a fresh install on a system where 
older Mozilla versions did not exist does not reproduce the memory leak.

I would suggest that anyone wishing to test for this bug completely remove all 
traces of any existing Mozilla installations before installing the latest 
nightly build.

I suggest that more testing on fresh installs of Windows is required.

Updated

17 years ago
Blocks: 119597

Comment 9

17 years ago
Confirmed, but this is a dup of 110048

*** This bug has been marked as a duplicate of 110048 ***
Status: UNCONFIRMED → RESOLVED
Last Resolved: 17 years ago
Resolution: --- → DUPLICATE

Comment 10

17 years ago
Verified Duplicate
Status: RESOLVED → VERIFIED

Updated

17 years ago
No longer blocks: 119597
You need to log in before you can comment on or make changes to this bug.