Bug 114478

Summary: Add more type validation to debug builds
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: New BugsAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cmarcelo, commit-queue, eric.carlson, esprehn+autocc, hta, jer.noble, joepeck, kling, macpherson, menard, rniwa, timothy, tommyw, zan, zarvai
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 114512    
Bug Blocks:    
Attachments:
Description Flags
Patch mhahnenberg: review+

Oliver Hunt
Reported 2013-04-11 16:29:53 PDT
Add more type validation to debug builds
Attachments
Patch (23.45 KB, patch)
2013-04-11 16:31 PDT, Oliver Hunt
mhahnenberg: review+
Oliver Hunt
Comment 1 2013-04-11 16:31:59 PDT
Mark Hahnenberg
Comment 2 2013-04-11 16:39:28 PDT
Comment on attachment 197698 [details] Patch r=me
Oliver Hunt
Comment 3 2013-04-11 18:41:54 PDT
Ryosuke Niwa
Comment 4 2013-04-12 00:20:08 PDT
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 ...
Zan Dobersek
Comment 5 2013-04-12 01:58:33 PDT
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
Andreas Kling
Comment 6 2013-04-12 06:22:02 PDT
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 ...
Zoltan Arvai
Comment 7 2013-04-12 07:14:53 PDT
Qt Win build also broken, see bug 114512.
Oliver Hunt
Comment 8 2013-04-12 09:50:18 PDT
(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
Oliver Hunt
Comment 9 2013-04-12 10:25:10 PDT
(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 :-/
Note You need to log in before you can comment on or make changes to this bug.