Summary: | False-positive over-release of WebView in destroyWebViewAndOffscreenWindow() in DumpRenderTree.mm | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | David Kilzer (:ddkilzer) <ddkilzer> | ||||||
Component: | Tools / Tests | Assignee: | David Kilzer (:ddkilzer) <ddkilzer> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | achristensen, aestes, ap, fpizlo, joepeck, lforschler, mark.lam, simon.fraser, zalan | ||||||
Priority: | P2 | ||||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=158743 | ||||||||
Attachments: |
|
Description
David Kilzer (:ddkilzer)
2016-06-13 18:16:44 PDT
Created attachment 281220 [details]
Patch v1
Comment on attachment 281220 [details]
Patch v1
Patch looks good, but you seem to be running into problems because DumpRenderTreeMac.h is included in a .cpp file. r=me if you straighten that out.
Created attachment 281222 [details]
Patch v2
Comment on attachment 281222 [details] Patch v2 View in context: https://bugs.webkit.org/attachment.cgi?id=281222&action=review > Tools/DumpRenderTree/mac/DumpRenderTreeMac.h:71 > +WebView* createWebViewAndOffscreenWindow() NS_RETURNS_RETAINED; I missed this the first time around, but the space should go before the *, not after. Committed r202020: <http://trac.webkit.org/changeset/202020> Comment on attachment 281222 [details] Patch v2 View in context: https://bugs.webkit.org/attachment.cgi?id=281222&action=review >> Tools/DumpRenderTree/mac/DumpRenderTreeMac.h:71 >> +WebView* createWebViewAndOffscreenWindow() NS_RETURNS_RETAINED; > > I missed this the first time around, but the space should go before the *, not after. Fixed! For reasons I don't understand, this broke the El Capitan CMake Debug build: https://build.webkit.org/builders/Apple%20El%20Capitan%20CMake%20Debug%20%28Build%29/builds/5853 Seems like CMake is somehow ignoring the #if __OBJC__? Alex says this is a bug with the CMake build system. All files in DumpRenderTree are being built with -ObjC++. (In reply to comment #8) > Alex says this is a bug with the CMake build system. All files in > DumpRenderTree are being built with -ObjC++. Source/WebKit/PlatformMac.cmake has what I think would be an example of how to do this: > foreach (_file ${WebKit_SOURCES}) > list(FIND C99_FILES ${_file} _c99_index) > if (${_c99_index} EQUAL -1) > set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++14") > else () > set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c99) > endif () > endforeach () (In reply to comment #9) > (In reply to comment #8) > > Alex says this is a bug with the CMake build system. All files in > > DumpRenderTree are being built with -ObjC++. > > Source/WebKit/PlatformMac.cmake has what I think would be an example of how > to do this: > > > foreach (_file ${WebKit_SOURCES}) > > list(FIND C99_FILES ${_file} _c99_index) > > if (${_c99_index} EQUAL -1) > > set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++14") > > else () > > set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c99) > > endif () > > endforeach () I filed Bug 158743: REGRESSION (r202020): El Capitan CMake Debug build broken |