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 41697
[Chromium] Crash when re-entering message loop
https://bugs.webkit.org/show_bug.cgi?id=41697
Summary
[Chromium] Crash when re-entering message loop
Alexander Pavlov (apavlov)
Reported
2010-07-06 07:20:21 PDT
ASSERT(!pageGroupLoadDeferrer) fails in void WebView::willEnterModalLoop() when re-entering message loop (e.g. when evaluating properties that require message loop to be run (e.g. document.cookie) in Web Inspector, on a breakpoint.)
Attachments
[PATCH] Suggested solution
(4.19 KB, patch)
2010-07-06 08:20 PDT
,
Alexander Pavlov (apavlov)
yurys
: review-
Details
Formatted Diff
Diff
[PATCH] Comments addressed
(5.38 KB, patch)
2010-07-07 08:45 PDT
,
Alexander Pavlov (apavlov)
no flags
Details
Formatted Diff
Diff
[PATCH] Implemented a stack of PageGroupLoadDeferrers, as suggested by fishd
(7.07 KB, patch)
2010-07-07 10:44 PDT
,
Alexander Pavlov (apavlov)
fishd
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Alexander Pavlov (apavlov)
Comment 1
2010-07-06 08:20:53 PDT
Created
attachment 60633
[details]
[PATCH] Suggested solution Enable re-entrancy of the message loop by tracking the nesting level.
Yury Semikhatsky
Comment 2
2010-07-07 02:33:14 PDT
Comment on
attachment 60633
[details]
[PATCH] Suggested solution WebKit/chromium/src/WebViewImpl.cpp:141 + static PageGroupLoadDeferrer* pageGroupLoadDeferrer = 0; You don't need explicit initialization here. WebKit/chromium/ChangeLog:5 + [Chromium] Crash when re-entering message loop Please provide more detailed comment including the description of the drawbacks of this solution. WebKit/chromium/src/WebViewImpl.cpp:191 + ASSERT(pageGroupLoadDeferrer); You may want to check in debug mode that PageGroup hasn't changed since previous call to this method WebKit/chromium/src/js/Tests.js:1862 + WebInspector.console.visible = true; Use WebInspector.showConsole instead. WebKit/chromium/src/js/Tests.js:1896 + function(callFrames) { Please use evaluateInConsole_ instead of this custom code. WebKit/chromium/src/js/Tests.js:1872 + function(commandResult) { Use evaluateInConsole_ instead.
Alexander Pavlov (apavlov)
Comment 3
2010-07-07 08:45:42 PDT
Created
attachment 60736
[details]
[PATCH] Comments addressed
Alexander Pavlov (apavlov)
Comment 4
2010-07-07 09:03:25 PDT
Darin, can you please have a look at this change? You seem to know those ropes...
Darin Fisher (:fishd, Google)
Comment 5
2010-07-07 09:41:31 PDT
I think it would be better to create a stack of PageGroupLoadDeferrer objects. It is safe to nest instances of those, and that's what we should actually do if we need to support multiple levels of nesting.
Alexander Pavlov (apavlov)
Comment 6
2010-07-07 10:44:31 PDT
Created
attachment 60752
[details]
[PATCH] Implemented a stack of PageGroupLoadDeferrers, as suggested by fishd
Alexander Pavlov (apavlov)
Comment 7
2010-07-08 02:55:21 PDT
Committing to
http://svn.webkit.org/repository/webkit/trunk
... M WebCore/ChangeLog M WebCore/page/PageGroupLoadDeferrer.cpp M WebCore/page/PageGroupLoadDeferrer.h M WebKit/chromium/ChangeLog M WebKit/chromium/src/WebViewImpl.cpp M WebKit/chromium/src/js/Tests.js Committed
r62774
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