Closed Bug 250290 Opened 20 years ago Closed 17 years ago

crash displaying large animated GIF

Categories

(Core :: Graphics: ImageLib, defect)

defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 105370

People

(Reporter: gentoo, Unassigned)

References

()

Details

(Keywords: crash, stackwanted)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040704 Firefox/0.9.1
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040704 Firefox/0.9.1

Firefox 0.9.1 (Gentoo Linux, built from source) crashes displaying the large
animated GIFs from http://neo.jpl.nasa.gov/j002e3a.html, a specific instance
http://neo.jpl.nasa.gov/j002e3/j002e3d.gif.   Watching in 'top' while the GIF is
playing indicates a severe memory leak or similar problem resulting in OOM
condition.   Firefox eventually crashes, sometimes activating the quality
feedback system.  The behaviour has been confirmed on other machines and also FF
0.8 (see Gentoo forum).  Some others were able to run the animation to
completion on Gentoo, but they have 1GB RAM and matching swap.

The condition can adversely affect other processes running--to the point of
crashing kwin for example.

Same issue exists with Firefox binaries installed from Mozilla supplied installer.

Same GIF displays adequately on FireFox 0.9.1 Windows binary build under Win XP
with 512MB RAM but expands the page file by ~500 MB doing it.  This may be a
global Firefox issue.  Others report crash under XP (see Gentoo forum).

Related references:
Gentoo forum: http://forums.gentoo.org/viewtopic.php?p=1321270
Gentoo Bug: http://bugs.gentoo.org/show_bug.cgi?id=56386

Reproducible: Always
Steps to Reproduce:
0. Ensure no critical unsaved work is around :)
1. Run firefox
2. Access http://neo.jpl.nasa.gov/j002e3/j002e3d.gif (2MB animated GIF)
3. Wait.

Actual Results:  
Animation plays for a short time, becomes chooppy, stops, and firefox
terminates.  On several occasions other system software was taken out too.



Expected Results:  
Played the animation, or degraded gracefully if a 2MB animated GIF was too much.



Library versions (referenced by firefox-bin in my build):
dev-libs/atk-1.6.1
dev-libs/expat-1.95.6-r1
dev-libs/glib-2.4.1
media-libs/fontconfig-2.2.2
media-libs/freetype-2.1.5-r1
net-www/mozilla-firefox-0.9.1
sys-devel/gcc-3.3.3-r6
sys-libs/glibc-2.3.3.20040420
sys-libs/zlib-1.2.1-r2
x11-base/xorg-x11-6.7.0-r1
x11-libs/gtk+-2.4.1
x11-libs/pango-1.4.0


about:buildconfig

Build platform
target
i686-pc-linux-gnu

Build tools
Compiler 	Version 	Compiler flags
gcc 	gcc version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2,
pie-8.7.6) 	-Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Wno-long-long
-mcpu=athlon-xp -pipe -Wno-return-type -w -Wno-return-type -w -Wno-return-type
-w -fno-stack-protector -s -fforce-addr -pthread -pipe
g++ 	gcc version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2,
pie-8.7.6) 	-frtti -fno-handle-exceptions -Wall -Wconversion -Wpointer-arith
-Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
-Wno-non-virtual-dtor -Wno-long-long -mcpu=athlon-xp -pipe -Wno-return-type -w
-Wno-return-type -w -Wno-return-type -w -s -fforce-addr -fshort-wchar -pthread
-pipe -I/usr/X11R6/include

Configure arguments
--prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --enable-optimize=-O2 --disable-composer --with-x
--with-system-jpeg --with-system-zlib --with-system-png --with-system-mng
--disable-mailnews --disable-calendar --disable-pedantic --disable-svg
--enable-mathml --without-system-nspr --enable-nspr-autoconf --enable-xsl
--disable-ipv6 --enable-crypto --with-java-supplement --with-pthreads
--with-default-mozilla-five-home=/usr/lib/MozillaFirefox
--with-user-appdir=.phoenix --disable-jsd --disable-accessibility
--disable-tests --disable-debug --disable-dtd-debug --disable-logging
--enable-reorder --enable-strip --enable-strip-libs --enable-cpp-rtti
--enable-xterm-updates --disable-ldap --disable-toolkit-qt
--disable-toolkit-xlib
--enable-extensions=default,-irc,-venkman,-content-packs,-help
--enable-toolkit-gtk2 --enable-default-toolkit=gtk2 --disable-toolkit-gtk
--enable-xft --disable-freetype2 --enable-xinerama=no
--enable-old-abi-compat-wrappers
Chris: Could you provide TalkBack incident ID?
(memory increase on Win2K is really high too)
Keywords: crash
Unfortunately I cannot supply a Talkback ID because it never does that on my
machine (needs memory to lauch Talkback or it is not enabled).  I based my
report that it sometime launches Talkback on the reports of others in the
reference Gentoo forums thread.  I'll solicit for an ID there.  Alternatively,
if there is another way to get debugging information then let me know.
No joy getting a TalkBack ID for this incident in the Gentoo forums.  I am
currently rebuild Firefox without the --disable-tests --disable-debug
--disable-dtd-debug --disable-logging and --enable-optimize flags and will see
if I can catch the culprit.

This particular family of files has been mentioned in Mozilla related bugs before:
http://bugzilla.mozilla.org/show_bug.cgi?id=198043

And a similar sized file:
http://bugzilla.mozilla.org/show_bug.cgi?id=105370
(This bug seems to be the catch-all for GIF memory problems in the Mozilla browser.)

Perhaps this bug is also relevant?
http://bugzilla.mozilla.org/show_bug.cgi?id=123050

The file reported also causes unbounded memory use problems in the ImageMagick
display program.  Is there a common library or code involved?
Just updated to 0.9.3

Problem persists.  Firefox crashes after exhausting 512MB RAM and 512MB swap
space as before.  Individuals with 1GB of each are able to run the animation to
completion; see Gentoo forums linked in original report.
Displays significantly too fast in FF RC Win XP
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b2) Gecko/20050425
Firefox/1.0+

Doesn't crash, but uses around 1.1 G of swap
Not just linux, this raped my windows machine.

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b2) Gecko/20050602
Firefox/1.0+

Bug owner/whoever has the privs, please set OS->ALL and VERSION->TRUNK
Flags: blocking-aviary1.1?
This bug needs a stack trace or a talkback ID.
Assignee: firefox → pavlov
Component: General → ImageLib
Keywords: stackwanted
OS: Linux → All
Product: Firefox → Core
QA Contact: general
Hardware: PC → All
Summary: Firefox 0.9.1 Crashes Displaying Large Animated GIF → crash displaying large animated GIF
Version: unspecified → Trunk
This bug is 'old news' by now. The original image is causing 
problems because Gecko loads the animated gif into 24bit color images for each
frame.
This is by design of Gecko, and compositing complex images from 
different frames with each different colormaps provide the need to do it in
24bit colors.
(so the above URL'd image results in 640x480x3 multiplied by 
number of frames, resulting in about 400 Megabytes of imagedata.
An optimisation could be to only use 8bit images when only one 
colormap is used (which is always limited to 8bit colordepth).

Some of this is addressed in 
Bug 143046: Need to Keep GIFs at original 8 bit or optimized.

But also the decoder uses a lot of dynamic memory allocation
just for the decoding, which can be easily removed: 
Bug 285872: GIF Decoder: replace gathering buffer with dynamic malloc to fixed
256 bytes hold

Note, the above bugs don't solve this issue (which is Gecko getting into
problems in OOM situations...),
but they will alleviate the problem, by reducing the memory usage.
Flags: blocking-aviary1.1? → blocking-aviary1.1-
Blocks: 119597
Depends on: slowGIF
Assignee: pavlov → nobody
QA Contact: imagelib
DUP to Bug 105370 – huge memory use loading a 2M animated GIF (see comment #3).
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: