Bug 251684
| Summary: | [GTK] TestFrame: subframe test has object leak | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Przemyslaw Gorszkowski <pgorszkowski> |
| Component: | Tools / Tests | Assignee: | Przemyslaw Gorszkowski <pgorszkowski> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
Przemyslaw Gorszkowski
In gtk api tests which can be run:
Tools/Scripts/run-gtk-tests /app/webkit/WebKitBuild/GTK/Release/bin/TestWebKitAPI/WebKitGTK/TestFrame
in test 'subframe' there is information about object leak:
Tools/Scripts/run-gtk-tests /app/webkit/WebKitBuild/GTK/Release/bin/TestWebKitAPI/WebKitGTK/TestFrame
TEST: /app/webkit/WebKitBuild/GTK/Release/bin/TestWebKitAPI/WebKitGTK/TestFrame...
/webkit/WebKitFrame/main-frame: PASS
GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
Mesa: The provided filesystem timestamp for the cache is bogus! Disabling On-disk cache.
/webkit/WebKitFrame/uri: PASS
Mesa: The provided filesystem timestamp for the cache is bogus! Disabling On-disk cache.
/webkit/WebKitFrame/javascript-context: PASS
Mesa: The provided filesystem timestamp for the cache is bogus! Disabling On-disk cache.
/webkit/WebKitFrame/javascript-values: PASS
Mesa: The provided filesystem timestamp for the cache is bogus! Disabling On-disk cache.
/webkit/WebKitFrame/subframe: PASS
Mesa: The provided filesystem timestamp for the cache is bogus! Disabling On-disk cache.
Leaked objects in WebProcess: WebKitWebPage(0x55f0239978a0)
Bail out! ERROR:/app/webkit/Tools/TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:49:void checkLeaks(): 's_watchedObjects.isEmpty()' should be TRUE
Ran 6 tests of 6 with 6 successful
What I found is: in case of /webkit/WebKitFrame/subframe the windowObjectClearedCallback from Tools/TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp is called two times for the same page and frame and g_object_ref(webPage) is called two times, while g_object_unref(webPage); from webProcessTestRunnerFinalize is called only one, and that is why the page is not destroyed and leak is reported
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Przemyslaw Gorszkowski
Pull request: https://github.com/WebKit/WebKit/pull/9673
EWS
Committed 259883@main (af3682230d4e): <https://commits.webkit.org/259883@main>
Reviewed commits have been landed. Closing PR #9673 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/105073324>