Bug 64951
| Summary: | [Chromium] fast/frames/meta-refresh-user-gesture.html is crashy on Windows. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | John Knottenbelt <jknotten> |
| Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | jnd, rniwa |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
John Knottenbelt
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&tests=fast%2Fframes%2Fmeta-refresh-user-gesture.html
fast/frames/meta-refresh-user-gesture.html is crashing on Vista and Win 7.
Vista stack trace:
Backtrace:
url_util::`anonymous namespace'::DoLowerCaseEqualsASCII<char const *> [0x01257B23+19] (e:\b\build\slave\webkit_vista\build\src\googleurl\src\url_util.cc:53)
This looks like it might be related to https://bugs.webkit.org/show_bug.cgi?id=64948 which is also crashing in DoLowerCaseEqualsASCII
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Johnny(Jianning) Ding
Thanks for report John.
If there is no collision, I will look at this today.
Johnny(Jianning) Ding
*** Bug 64948 has been marked as a duplicate of this bug. ***
Johnny(Jianning) Ding
cause by a race condition, a patch will be provided later.
Johnny(Jianning) Ding
This bug was caused by different threads in DRT chromium port may try to initialize the standard_schemes global variable at same time.
According to the InitStandardSchemes implementation in url_util.cc, when one thread was calling InitStandardSchemes, another thread might think the standard_schemes is completed, then called LowerCaseEqualsASCII to compare whether the specified scheme is one of standard schmemes, but standard_schemes->at(i) might return null pointer at this point (see method DoIsStandard in url_util.cc). There was a similar bug on http://code.google.com/p/google-url/issues/detail?id=17.
The fix is pretty easy and provided in http://code.google.com/p/google-url/issues/detail?id=17. Which is to call standard_schemes initialization when initializing the program before other threads generate GURL object.
From my understanding, we should call the URL library Initialization in webkit_support::SetUpTestEnvironment which is in Chromium source path.
A fix may be submitted to Chromium, let's keep this bug open. Will close it when the CL landed in Chromium.
Johnny(Jianning) Ding
chromium bug: http://code.google.com/p/chromium/issues/detail?id=90503
Johnny(Jianning) Ding
fix in chromium http://src.chromium.org/viewvc/chrome?view=rev&revision=94216
Johnny(Jianning) Ding
*** Bug 64920 has been marked as a duplicate of this bug. ***