crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> WebKit утечка памяти. Проблемы с кэшем., непонятно.
kwisp
  опции профиля:
сообщение 14.7.2009, 8:24
Сообщение #1


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


#include <QApplication>
#include <QWebView>

int main(int a,char** b)
{
    QApplication app(a,b);
    QWebView view;
    QAction reloadAct(&view);
    reloadAct.setShortcut(QKeySequence(QObject::tr("CTRL+R")));
    QObject::connect(&reloadAct,SIGNAL(triggered()),&view,SLOT(reload()));
    view.addAction(&reloadAct);
    view.load(QUrl("http://www.qtsoftware.com"));
    view.show();
    return app.exec();
}


в принципе и всё.
жмешь "CTRL+R" и наблюдаешь картину утечки памяти. так же память утекает даже не при полной перезагрузке страницы, а если к примеру бегать табами по ссылкам.
баг этот висит еще с 2008 года тролли не хотят его отрабатывать.
думал сначала что я такой кривой и чего то не досмотрел в описании, однако если взять браузер из %QTDIR%\domos\browser тоже память жрёт... с 42Мб с легкостью догна до 200Мб и походу предела нет. :(

Пробовал различные настройки QWebSettings тоже без результатов.
Память утекает даже если каждые десять минут удалять QWebView и создавать новый. Поэтому думаю что проблема с кэшем. У тролей нашел такой кусок кода:
QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
diskCache->setCacheDirectory(location);
networkAccessManager->setCache(diskCache);

пробовал устанавливать настроенный таким образом networkAccessManager в объект QWebPage -- без результатов.

Создал тролям таск с воплями о том что память утекает вроде пришло письмо. задаче назначен номер.
но всё же может есть у кого нитть идеи как работать с кэшем корректно??? может кто знает как пропатчить тролевский код???
я полез там конечно закручено прилично.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
SABROG
  опции профиля:
сообщение 14.7.2009, 9:05
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Профайлер такие результаты выдал
[I] Summary of all memory leaks... {64034 bytes, 2117 blocks}
    [W] MLK: Memory leak of 38016 bytes from 594 blocks allocated in D:\WORK\WEBVIEWMEMLEAK\DEBUG\QTWEBKITD4.DLL
            Distribution of leaked blocks
                 38016 bytes from 594 blocks of 64 bytes (first block: 0x0e1ae370)
            Allocation location
                malloc         [C:\WINDOWS\system32\MSVCRT.DLL]
                ???            [D:\WORK\WEBVIEWMEMLEAK\DEBUG\QTWEBKITD4.DLL ip=0x07B969A3]
    [I] MPK: Potential memory leak of 12068 bytes from 753 blocks allocated in Z7qMallocj [QTCORED4.DLL]
            Offset 0x00000008 referenced by 0x0e1ae254, a location in a malloc'd block
            Offset 0x00000008 referenced by 0x0ec533b0, a location in a malloc'd block
            Distribution of potentially leaked blocks
                 11968 bytes from 748 blocks of 16 bytes (first block: 0x0e1a6350)
                   100 bytes from 5 blocks of 20 bytes (first block: 0x0e1aadd8)
            Allocation location
                malloc         [C:\WINDOWS\system32\MSVCRT.DLL]
                Z7qMallocj     [D:\WORK\WEBVIEWMEMLEAK\DEBUG\QTCORED4.DLL]
    [W] MLK: Memory leak of 8232 bytes from 686 blocks allocated in ZNK9QWebFrame26qt_check_for_QOBJECT_macroIS_EEvRKT_ [QTWEBKITD4.DLL]
            Distribution of leaked blocks
                  8232 bytes from 686 blocks of 12 bytes (first block: 0x0e1ab3f8)
            Allocation location
                malloc         [C:\WINDOWS\system32\MSVCRT.DLL]
                ZNK9QWebFrame26qt_check_for_QOBJECT_macroIS_EEvRKT_ [D:\WORK\WEBVIEWMEMLEAK\DEBUG\QTWEBKITD4.DLL]
    [I] MPK: Potential memory leak of 4416 bytes from 69 blocks allocated in D:\WORK\WEBVIEWMEMLEAK\DEBUG\QTWEBKITD4.DLL
            Offset 0x00000014 referenced by 0x681c77d3, a location in a section in a loaded module
            Distribution of potentially leaked blocks
                  4416 bytes from 69 blocks of 64 bytes (first block: 0x0edcb738)
            Allocation location
                malloc         [C:\WINDOWS\system32\MSVCRT.DLL]
                ???            [D:\WORK\WEBVIEWMEMLEAK\DEBUG\QTWEBKITD4.DLL ip=0x07B969A3]
    [I] MPK: Potential memory leak of 1056 bytes from 4 blocks allocated in I_RpcBCacheFree [RPCRT4.DLL]
            Offset 0x00000038 referenced by 0x6a2a53d7, a location in a section in a loaded module
            Offset 0x00000038 referenced by 0x6a2a547f, a location in a section in a loaded module
            Offset 0x00000008 referenced by 0x00280600, a location in a section in a loaded module
            Distribution of potentially leaked blocks
                  1056 bytes from 4 blocks of 264 bytes (first block: 0x002670c8)
            Allocation location
                HeapAlloc      [C:\WINDOWS\system32\KERNEL32.DLL]
                I_RpcBCacheFree [C:\WINDOWS\system32\RPCRT4.DLL]
    [I] MPK: Potential memory leak of 108 bytes from 9 blocks allocated in ZNK9QWebFrame26qt_check_for_QOBJECT_macroIS_EEvRKT_ [QTWEBKITD4.DLL]
            Offset 0x00000008 referenced by 0x0f745af8, a location in a committed VirtualAlloc'd memory region
            Offset 0x00000008 referenced by 0x0f745af8, a location in a committed VirtualAlloc'd memory region
            Distribution of potentially leaked blocks
                   108 bytes from 9 blocks of 12 bytes (first block: 0x0eed5278)
            Allocation location
                malloc         [C:\WINDOWS\system32\MSVCRT.DLL]
                ZNK9QWebFrame26qt_check_for_QOBJECT_macroIS_EEvRKT_ [D:\WORK\WEBVIEWMEMLEAK\DEBUG\QTWEBKITD4.DLL]
    [I] MPK: Potential memory leak of 106 bytes from 1 block allocated in lock [MSVCRT.DLL]
            Offset 0x0000003a referenced by 0x0875cc6c, a location in a section in a loaded module
            Offset 0x00000009 referenced by 0x0e1a57c0, a location in a section in a loaded module
            Offset 0x00000009 referenced by 0x0e1a5888, a location in a section in a loaded module
            Distribution of potentially leaked blocks
                   106 bytes from 1 block of 106 bytes (0x0e1a57c0)
            Allocation location
                malloc         [C:\WINDOWS\system32\MSVCRT.DLL]
                lock           [C:\WINDOWS\system32\MSVCRT.DLL]
    [W] MLK: Memory leak of 32 bytes from 1 block allocated in mmDrvInstall [WINMM.DLL]
            Distribution of leaked blocks
                    32 bytes from 1 block of 32 bytes (0x002563e0)
            Allocation location
                GlobalAlloc    [C:\WINDOWS\system32\KERNEL32.DLL]
                mmDrvInstall   [C:\WINDOWS\SYSTEM32\WINMM.DLL]


А пример пришлось поправить маленько, а то не собирался:

#include <QtGui/QApplication>
#include <QtWebKit/QWebView>
#include <QtGui/QAction>


Сообщение отредактировал SABROG - 14.7.2009, 9:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- kwisp   WebKit утечка памяти. Проблемы с кэшем.   14.7.2009, 8:24
- - Litkevich Yuriy   kwisp, в случае подобных ситуаций, баг или подозре...   14.7.2009, 8:59
- - kwisp   в таск трекере всё указано. первый таск Qt 4.4.0. ...   14.7.2009, 9:03
- - SABROG   Профайлер такие результаты выдал[I] Summar...   14.7.2009, 9:05
- - kwisp   жесть короче. какой же вывод можно сделать? скольк...   14.7.2009, 9:09
- - SABROG   Не думаю, что утечку в 64Кб можно назвать утечкой....   14.7.2009, 9:14
- - kwisp   SABROG, я тебя не пойму. попробуй если интересно ...   14.7.2009, 17:44
- - SABROG   Проследил за демкой browser, утечка ~115Кб Раскры...   14.7.2009, 19:57
- - IMPOMEZIA   Цитата(kwisp)баг этот висит еще с 2008 года тролли...   15.7.2009, 5:27
- - kwisp   SABROG, Цитата(SABROG @ 14.7.2009, 20:57...   15.7.2009, 10:09
- - kwisp   вот вопрос к теме про память valgrind указывает на...   16.7.2009, 10:00
- - kwisp   ОТВЕТ троллей: The growing memory usage is due to...   20.7.2009, 11:20
|- - IMPOMEZIA   248414 Resolution Rejected Это что означает даже ...   6.10.2009, 1:32
- - Litkevich Yuriy   плохо, что они не коментаруют в трекере. Может тро...   6.10.2009, 4:46
- - kwisp   не хочу грешить на разработчиков но может тут и во...   6.10.2009, 8:39
- - kwisp   что то поправили. надо проверять:) вот   12.10.2009, 8:55


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 21:44