Bug 20522
| Summary: | Memory leak in WebCore::PluginPackage class | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Balazs Kelemen <kbalazs> |
| Component: | Plug-ins | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | hausmann |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | PC | ||
| OS: | Linux | ||
Balazs Kelemen
I found a leak with valgrind when running QtLauncher when loading pages that require plugins.
The m_module member of WebCore::PluginPackage class is not freed.
I took a look at the code and realized that this member must be freed with
a delay through the freeLibrarySoon method that is called by the destructor.
I debugged QtLauncher and discovered that this member is not freed anyway.
The destructor runs many times but the unloadModule function that
should free the member had never been reached. I tested it though loading
pages like youtube and "http://szotar.sztaki.hu/index.hu.jhtml" in
QtLauncher when it was run under gdb (these pages require flash, mplayer and
java plugins). Then I load simple html pages and local files but the
member had been still unfreed. I use the Qt port of Webkit under linux.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Simon Hausmann
I believe you that for some reason m_module isn't freed. The leak shouldn't be critical though given the implict sharing in the underlying dlopen() as well as inside QLibrary using QLibraryPrivate. It's still a bug though of course.
Balazs Kelemen
This id to old and I do not see the bug in recent valgrind logs so I close the bug.