Closed Bug 1026092 Opened 10 years ago Closed 10 years ago

Memory Leaks occur when viewing videos on Youtube

Categories

(Core :: Audio/Video, defect)

30 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jralphur, Assigned: eflores)

References

Details

(Whiteboard: [MemShrink:P2])

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0 (Beta/Release)
Build ID: 20140616113358

Steps to reproduce:

1. View video content on Youtube with HTML5 player
and 1. View content that uses Adobe Flash
2. View content until your whole system freezes/firefox closes/you leave the page because of forever increasing ram usage

System: Gentoo Linux with kernel 3.14.1 with the CK patchset
CFLAGS & CXXFLAGS are "-march=native -O2 -pipe"
Firefox USEFLAGS are "minimal jit gstreamer dbus bindist alsa"
Firefox compiles with -Os and -fomit-frame-pointer because custom-cflags and custom-optimization not set, but it doesn't matter because the issue still occurs.

gstreamer version: 1.2.4-r2, same problem occurs on r1
gst-plugins-x264,vpx,base,good,bad,ugly = 1.2.4-r1

CPU: i5 3570k
GPU: ATI Radeon 7850 with catalyst 14.6beta1

Addons:
Pentadactyl
HTTPS-Everywhere
NoScript
Stylish

This problem does not occur in Firefox 29.




Actual results:

Memory kept increasing and increasing until I left the page. It does not decrease when I leave the page. about:memory shows explicit using 5GB of ram (see attachment)

CPU usage does not increase dramatically.
Viewing .webm content does not increase memory (tested on .webm content on pomf.se)


Expected results:

Memory not increasing, computer not freezing
Oh, and gcc 4.8.3
I have the same problem.
I have installed https://addons.mozilla.org/en-US/firefox/addon/youtube-all-html5/ extension which plays youtube videos foremost in webm format.
And now while I'm playing any youtube video firefox memory usage endlessly grows.
That problem occurs after updating firefox to version 30.
Also I use Gentoo too.


Build tools

Compiler 	Version 	Compiler flags

x86_64-pc-linux-gnu-gcc 	gcc version 4.8.2 (Gentoo 4.8.2 p1.0, pie-0.5.8) 	-Wall -Wpointer-arith -Wdeclaration-after-statement -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Wsign-compare -Wno-unused -Wcast-align -march=native -pipe -mno-avx -std=gnu99 -fgnu89-inline -fno-strict-aliasing -fno-math-errno -pthread -pipe

x86_64-pc-linux-gnu-g++ 	gcc version 4.8.2 (Gentoo 4.8.2 p1.0, pie-0.5.8) 	-Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Werror=int-to-pointer-cast -Wtype-limits -Wempty-body -Wsign-compare -Wno-invalid-offsetof -Wcast-align -march=native -pipe -mno-avx -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe -DNDEBUG -DTRIMMED -O2 -fomit-frame-pointer


Configure arguments

--enable-application=browser --enable-optimize=-O2 --with-system-jpeg --with-system-zlib --enable-pango --enable-system-cairo --disable-pedantic --disable-updater --disable-strip --disable-install-strip --disable-profilelocking --enable-default-toolkit=cairo-gtk2 --enable-official-branding --enable-dbus --disable-debug --disable-tests --disable-debug-symbols --enable-startup-notification --disable-system-sqlite --enable-necko-wifi --enable-ogg --enable-wave --with-system-libvpx --with-system-nspr --with-nspr-prefix=/usr --with-system-nss --with-nss-prefix=/usr --x-includes=/usr/include --x-libraries=/usr/lib64 --with-system-libevent=/usr --enable-system-hunspell --disable-gnomevfs --disable-gnomeui --enable-gio --disable-crashreporter --with-google-api-keyfile=/var/tmp/portage/www-client/firefox-30.0/work/mozilla-release/google-api-key --enable-jemalloc --enable-replace-malloc --prefix=/usr --libdir=/usr/lib64 --disable-gconf --disable-mailnews --with-system-png --enable-system-ffi --disable-gold --with-default-mozilla-five-home=/usr/lib64/firefox --target=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --enable-gstreamer=1.0 --disable-pulseaudio --disable-system-cairo --disable-system-sqlite --without-system-jpeg --without-system-icu --disable-intl-api --enable-ion --enable-extensions=default
Attached file out.dmd
After that I have built firefox with enabled dmd and here its report
Thanks for the report, josuke. It's helpful to know that this doesn't happen in Firefox 29, but does happen in Firefox 30.

And thanks for the DMD output, Ilya. Unfortunately the stacks don't make sense, so something appears to have gone wrong, probably during the running of fix-linux-stack.pl :(

But hopefully the video guys will have enough information here to reproduce and analyze themselves.
Component: Untriaged → Video/Audio
Flags: needinfo?(cpearce)
Product: Firefox → Core
I don't have time to look into this, sorry.
Flags: needinfo?(cpearce)
(In reply to Chris Pearce (:cpearce) from comment #5)
> I don't have time to look into this, sorry.

No time to look into a gigantic video regression in Firefox 30? Huh.

Can you suggest who would have the time?
Whiteboard: [MemShrink]
(In reply to Nicholas Nethercote [:njn] from comment #6)
> (In reply to Chris Pearce (:cpearce) from comment #5)
> > I don't have time to look into this, sorry.
> 
> No time to look into a gigantic video regression in Firefox 30? Huh.
 
Correct. A regression range would be handy.

> Can you suggest who would have the time?

ajones can find someone.
Flags: needinfo?(ajones)
Problem disappears if set "media.gstreamer.enabled" to "false" in about:config
Does this issue affect gst-0.10 as well as gst-1.0?
Flags: needinfo?(ajones)
Yes, problem disappears when media.gstreamer.enabled is set to false.
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #9)
> Does this issue affect gst-0.10 as well as gst-1.0?

No it doesn't. I just compiled firefox with configure options --enable-gstreamer=0.10 instead of --enable-gstreamer=1.0 and everything works fine without memory leaks.
What's the path forward here?
Whiteboard: [MemShrink] → [MemShrink:P2]
Regression range needed.
Assignee: nobody → edwin
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Can't reproduce this on Ubuntu natively, or Gentoo under VirtualBox. Need more specific STR.
Flags: needinfo?(mirraz1)
Flags: needinfo?(jralphur)
Compiling Firefox with --enable-gstreamer=1.0 on Gentoo with gstreamer 1.2.3 reproduces this for me.
Surprisingly now I can't reproduce this issue too! Maybe because I updated gstreamer recently or else. I tried with gstreamer-1.2.3 and with gstreamer-1.2.4 but nothing has happened. I tried with exactly the same package which I built for the first time about a month ago and also with fully clean installation and nothing has happened too. I don't know...
Flags: needinfo?(mirraz1)
I also have PulseAudio disabled if that makes any difference.
(In reply to :Benjamin Peterson from comment #15)
> Compiling Firefox with --enable-gstreamer=1.0 on Gentoo with gstreamer 1.2.3
> reproduces this for me.

Is this still an issue for you?
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #18)
> (In reply to :Benjamin Peterson from comment #15)
> > Compiling Firefox with --enable-gstreamer=1.0 on Gentoo with gstreamer 1.2.3
> > reproduces this for me.
> 
> Is this still an issue for you?

Upgrading gstreamer at some point seems to have fixed it.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
Flags: needinfo?(jralphur)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: