Add more type validation to debug builds
Created attachment 197698 [details] Patch
Comment on attachment 197698 [details] Patch r=me
Committed r148257: <http://trac.webkit.org/changeset/148257>
It appears that builds are still broken: http://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/47424 6>C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\obj\WebCore\DerivedSources\JSBarInfo.cpp(152) : error C2440: 'reinterpret_cast' : cannot convert from 'void (__cdecl *const [])(void)' to 'void *' 6> Conversion loses qualifiers 6>C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\obj\WebCore\DerivedSources\JSConsole.cpp(502) : error C2440: 'reinterpret_cast' : cannot convert from 'void (__cdecl *const [])(void)' to 'void *' 6> Conversion loses qualifiers ...
I added the SkipVTableValidation attribute to the DOMSettableTokenList interface in r148269 to avoid crashes in the interace's toJS method. The crashes were occurring on the GTK and EFL builders when running the MicroData layout tests, the two ports being the only ones that enable the feature. Please let me know if the fix is not appropriate and how to proceed in such case. http://trac.webkit.org/changeset/148269 Crashes: http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r148268%20(36738)/results.html http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r148268%20(36738)/results.html
Window release build is also borked after this: 12>WebCore.lib(DerivedSources.obj) : error LNK2001: unresolved external symbol __ZTVN7WebCore8LocationE 12>WebCore.lib(DerivedSources.obj) : error LNK2001: unresolved external symbol __ZTVN7WebCore15MediaControllerE 12>WebCore.lib(DerivedSources.obj) : error LNK2001: unresolved external symbol __ZTVN7WebCore11MessagePortE 12>WebCore.lib(DerivedSources.obj) : error LNK2001: unresolved external symbol __ZTVN7WebCore9NavigatorE 12>WebCore.lib(DerivedSources.obj) : error LNK2001: unresolved external symbol __ZTVN7WebCore13RadioNodeListE 12>WebCore.lib(DerivedSources.obj) : error LNK2001: unresolved external symbol __ZTVN7WebCore6ScreenE ...
Qt Win build also broken, see bug 114512.
(In reply to comment #5) > I added the SkipVTableValidation attribute to the DOMSettableTokenList interface in r148269 to avoid crashes in the interace's toJS method. The crashes were occurring on the GTK and EFL builders when running the MicroData layout tests, the two ports being the only ones that enable the feature. > > Please let me know if the fix is not appropriate and how to proceed in such case. > > http://trac.webkit.org/changeset/148269 > > Crashes: > http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r148268%20(36738)/results.html > http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r148268%20(36738)/results.html I suspect so, but i'll look to verify -- i need to come up with a better way to manage these than what currently happens (the problems are basically no due to an inability to determine (in the toJS function) whether there are any subclasses, or at codegen time whether there's a vtable
(In reply to comment #8) > (In reply to comment #5) > > I added the SkipVTableValidation attribute to the DOMSettableTokenList interface in r148269 to avoid crashes in the interace's toJS method. The crashes were occurring on the GTK and EFL builders when running the MicroData layout tests, the two ports being the only ones that enable the feature. > > > > Please let me know if the fix is not appropriate and how to proceed in such case. > > > > http://trac.webkit.org/changeset/148269 > > > > Crashes: > > http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r148268%20(36738)/results.html > > http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r148268%20(36738)/results.html > > I suspect so, but i'll look to verify -- i need to come up with a better way to manage these than what currently happens (the problems are basically no due to an inability to determine (in the toJS function) whether there are any subclasses, or at codegen time whether there's a vtable yup, thats the right fix -- i need to come up with a way to deal with types that have subclasses :-/