QupZilla / qupzilla

Cross-platform Qt web browser
http://www.qupzilla.com
GNU General Public License v3.0
1.12k stars 348 forks source link

Qupzilla consumes insane amount of memory when searching on duckduckgo #1605

Closed robotanarchy closed 9 years ago

robotanarchy commented 9 years ago

Hello Qupzilla devs,

on two computers running Arch Linux, Qupzilla consumes LOTS of memory when doing a simple search on duckduckgo. For example on my Laptop, the ram usage is about ~200MB with qupzilla open and some tabs. Then I do the search and it goes up to 3GB (!) I've even had to reboot both machines because of that.

I could not reproduce this with a fresh profile. So should I just use a new one?

Versions: Qupzilla: 1.8.6 WebKit-Version: 538.1 qt5-webkit: 5.4.0-3

pejakm commented 9 years ago

Memory leaking in qtwebkit, probably.

robotanarchy commented 9 years ago

I have started with a new profile and "managed" (I didn't really want it :-\ ) to reproduce this. So should I make an upstream bugreport now? EDIT: What other options do I have, can I provide some debug information? Or should I try qupzilla from the master branch with qtwebengine, since it will be released soon anyway?

JHooverman commented 9 years ago

Before filing a qt-bugreport I suggest, that you upgrade your at to 5.4.0 first (if possible). This is the latest release and for example QupZilla issue #1596 is fixed here. If your issue still persists you should try to reproduce it with QtTestBrowser, which can be found on our bug-reports wiki-page (5).

robotanarchy commented 9 years ago

I've heard that webkit takes forever to compile, so I won't do that right now. However, I have flagged qt5-webkit out-of-date on the Arch Linux packages page (EDIT: whoops, I should have checked on the official sites - it wasn't outdated), so hopefully they'll build it soon and I can test it then and report back if it is fixed.

Also I've tried downgrading qt5-webkit to 5.3.2 on one machine, but I could still reproduce the bug.

The-Compiler commented 9 years ago

Huh? Qt 5.4.2 isn't released upstream yet - not even 5.4.1 is! ;)

nowrep commented 9 years ago

@The-Compiler It was a typo, should be 5.4.0 ofcourse :)

JHooverman commented 9 years ago

Maybe they are too fast:

fast

nowrep commented 9 years ago

@JHooverman You have Qt git snapshots, that's other story :) But 5.4.0 is latest officialy released version.

robotanarchy commented 9 years ago

I couldn't even compile the testbrowser (putting the source for that on github would be nice btw): /usr/bin/ld: build/launcherwindow.o: undefined reference to symbol '_ZN9QGLWidgetC1EP7QWidgetPKS_6QFlagsIN2Qt10WindowTypeEE'

Also I couldn't really find a qt5-webkit based browser in Arch (didn't try the AUR though), so I've made the upstream bugreport: https://bugreports.qt.io/browse/QTBUG-44523

robotanarchy commented 9 years ago

I just found out that it only crashes when I set the useragent to this: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36

I've added an exception for duckduckgo.com to use the "real" useragent string, and now it really doesn't crash anymore: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) QupZilla/1.8.6 Safari/538.1

g4jc commented 9 years ago

I've noticed this too and am able to reproduce.

Make it crash super fast by: 1) sudo swapoff -a (disable system swap) 2) opening a private window in addition to the main window 3) Searching duckduckgo in more than one tab 4) Should only take a few minutes.

Not sure about the useragent being an issue, I set mine to chrome as well since it improves compatibility on some websites.

The memory leak is insane, 6GB for me. Locked the whole system up until it got killed by the kernel.

Here is the output from dmesg: https://www.zerobin.net/?8faa0f9400cd95b8#wF8WbeJYjaLpASNOCshNnfC/p00bRCPFkOZ0xGgYNIU=

And valgrind (a memory leak finding tool): https://www.zerobin.net/?3e55fab88834bbbe#3KGZ86bI9kla37xccFMChOxaKhh/QKqX0veYxJaj/wg=

There's quite a few memory leaks, I would say it's a major issue. Some are going to be upstream in WebQT.

JHooverman commented 9 years ago

@robotanarchy:

I couldn't even compile the testbrowser (putting the source for that on github would be nice btw)

You will find the sources of QtTestBrowser here.

Thank you for filing an upstream bug report. I have added it to our list, that can be found here.

JHooverman commented 9 years ago

Solved in Qt-5.4.2