[webkit-qt] Memory Leak in QtWebKit

Alexis Menard alexis.menard at openbossa.org
Wed Feb 29 18:04:23 PST 2012


On Wed, Feb 29, 2012 at 10:57 PM, chen mihua <chenmh at cn.fujitsu.com> wrote:
> Dear Alexis
>
> Thanks for your reply.
>
> It is correct that OS will free all allocated memory when the program is
> closed, however, this will
> not help us, because we want our program to run continuously after the
> device is powered on.
> The program has multi tab feature, so construction and destruction of
> webview objects will happen
> frequently in our scenario.

Ah that is something else. You were talking about the all program in
your original mail. Now yes deleting views should not leak I agree.

>
> So it would be a problem if memory leak happens after every destruction of
> webview object.
> Don't you agree this?
>

Agree.

> You have mentioned that it is faster to free leaking memory by OS , but in
> my view a program is
> responsible for doing cleanup work by itself and never depends OS to do it.
> So I want to figure out the real reason why webkit is designed like this?
>  Can you provide some
> information about this?
>

I need to investigate. Maybe it is fixed since the version of Qt 4.8

Could you try to compile a webkit trunk to see?

> Best Regards
>
> Eric Chen
>
>
>
> On 2012¦~02¤ë29¤é 19:17, Alexis Menard wrote:
>>
>> On Wed, Feb 29, 2012 at 12:53 AM, ³¯±ÓµØ<chenmh at cn.fujitsu.com>  wrote:
>>>
>>> Dear all
>>>
>>> I'd like to ask you question about memory leak in Webkit. Currently, I am
>>> using
>>> QtWebkit self contained in Qt 4.8.0, and my test application is like
>>> follows:
>>>
>>> int main(int argc, char *argv[])
>>> {
>>>    QApplication a(argc, argv);
>>>    QWebView* view = new QWebView();
>>>    view->load(QUrl("http://www.baidu.com"));
>>>    view->show();
>>>    a.exec();
>>>    delete view;
>>>    return 0;
>>> }
>>>
>>> As you know, Webkit provide RefCountedLeakCounter class to detect memory
>>> leak. When I run this test application in debug mode, I have noticed that
>>> many WebCoreNodes and CachedResource have leaked. This leak could be a big
>>> problem because we want to make use of WebKit in embedded device.
>>
>> But when the program is closed aren't the memory allocated to him
>> freed by the OS?
>>
>>> So, I'd like to ask you all whether this memory leak real or not? I just
>>> can't believe Webkit would leak memory in such a simple test, or if Webkit
>>> provides some other mechanism to ensure memory will not be leaked, please
>>> tell me.
>>
>> It happens that sometimes leaking on exit is not very bad as the OS
>> will free the memory for you anyway. In some scenarios it is faster to
>> do so...Now I haven't investigate myself but I know it sometimes
>> happens. In modern OS it's not a problem, maybe on yours it is fine
>> too. You have to check.
>>
>>> Can anyone provide some information about this problem? I really
>>> appreciate your help.
>>>
>>> Best Regards
>>>
>>> Eric Chen
>>> ---------------------------------------------------
>>> Chen Minhua
>>> Development Dept.III
>>> Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
>>> No. 6 Wenzhu Road, Nanjing, 210012, China
>>> TEL: ‰O86630566-615
>>> COINS: 79955-615
>>> FAX: ‰O83317685
>>> MAIL: chenmh at cn.fujitsu.com
>>> ---------------------------------------------------
>>>
>>>
>>>
>>> _______________________________________________
>>> webkit-qt mailing list
>>> webkit-qt at lists.webkit.org
>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
>>
>>
>>
>



-- 
Alexis Menard (darktears)
Software Engineer
INdT Recife Brazil


More information about the webkit-qt mailing list