WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 45779
Exceptions are getting ignored on 64-bit Windows in the Web Process
https://bugs.webkit.org/show_bug.cgi?id=45779
Summary
Exceptions are getting ignored on 64-bit Windows in the Web Process
Jessie Berlin
Reported
2010-09-14 13:45:25 PDT
We should clear the PROCESS_CALLBACK_FILTER_ENABLED flag. Right now, it is not cleared, so exceptions thrown in callback routines are ignored, allowing the Web Process to enter into an inconsistent state and possibly resulting in a different exception. In order to make this effective, hotfix 976038 (
http://support.microsoft.com/kb/976038
) will need to be installed on the 64 bit machines in question, so we should add that information to the tools.html page as well.
Attachments
Clear the PROCESS_CALLBACK_FILTER_ENABLED flag
(4.38 KB, patch)
2010-09-14 14:01 PDT
,
Jessie Berlin
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Jessie Berlin
Comment 1
2010-09-14 14:01:05 PDT
Created
attachment 67602
[details]
Clear the PROCESS_CALLBACK_FILTER_ENABLED flag
Adam Roben (:aroben)
Comment 2
2010-09-14 14:15:29 PDT
Comment on
attachment 67602
[details]
Clear the PROCESS_CALLBACK_FILTER_ENABLED flag View in context:
https://bugs.webkit.org/attachment.cgi?id=67602&action=prettypatch
> WebKit2/WebProcess/WebKitMain.cpp:82 > +static void disableProcessCallbackFilterForExceptions()
I think disableUserModeCallbackExceptionFilter would be a clearer name.
> WebKit2/WebProcess/WebKitMain.cpp:84 > + DWORD dwFlags;
You should move this declaration to just before it's used.
> WebKit2/WebProcess/WebKitMain.cpp:104 > + setPolicyPtr(dwFlags & ~0x1);
I think you should make a named constant for 0x1. It would probably be useful to link to <
http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/
>, at least in your ChangeLog.
> WebKitSite/building/tools.html:63 > +<li><p>Optional: Hotfix for 64-bit Windows to disable the process callback filter for exceptions</p>
I'd say "user-mode" instead of "process" here. r=me
Jessie Berlin
Comment 3
2010-09-14 14:34:13 PDT
(In reply to
comment #2
)
> (From update of
attachment 67602
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=67602&action=prettypatch
> > > WebKit2/WebProcess/WebKitMain.cpp:82 > > +static void disableProcessCallbackFilterForExceptions() > I think disableUserModeCallbackExceptionFilter would be a clearer name.
Changed.
> > > WebKit2/WebProcess/WebKitMain.cpp:84 > > + DWORD dwFlags; > You should move this declaration to just before it's used.
Moved to right above the if statement.
> > > WebKit2/WebProcess/WebKitMain.cpp:104 > > + setPolicyPtr(dwFlags & ~0x1); > I think you should make a named constant for 0x1.
Added a #define PROCESS_CALLBACK_FILTER_ENABLED 0x1 closer to the top of the file so that it matches the documentation.
> > It would probably be useful to link to <
http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/
>, at least in your ChangeLog. >
Put it both in the ChangeLog and in the comment in the function.
> > WebKitSite/building/tools.html:63 > > +<li><p>Optional: Hotfix for 64-bit Windows to disable the process callback filter for exceptions</p> > I'd say "user-mode" instead of "process" here.
Changed.
> > r=me
Thanks!
Jessie Berlin
Comment 4
2010-09-14 15:04:21 PDT
Comment on
attachment 67602
[details]
Clear the PROCESS_CALLBACK_FILTER_ENABLED flag Committed in
r67501
http://trac.webkit.org/changeset/67501
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug