Bug 64951 - [Chromium] fast/frames/meta-refresh-user-gesture.html is crashy on Windows.
Summary: [Chromium] fast/frames/meta-refresh-user-gesture.html is crashy on Windows.
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
: 64920 64948 (view as bug list)
Depends on:
Reported: 2011-07-21 08:35 PDT by John Knottenbelt
Modified: 2011-07-27 19:09 PDT (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description John Knottenbelt 2011-07-21 08:35:59 PDT

fast/frames/meta-refresh-user-gesture.html is crashing on Vista and Win 7.

Vista stack trace:

	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
Comment 1 Johnny(Jianning) Ding 2011-07-21 17:51:33 PDT
Thanks for report John.
If there is no collision, I will look at this today.
Comment 2 Johnny(Jianning) Ding 2011-07-25 02:34:20 PDT
*** Bug 64948 has been marked as a duplicate of this bug. ***
Comment 3 Johnny(Jianning) Ding 2011-07-25 02:36:18 PDT
cause by a race condition, a patch will be provided later.
Comment 4 Johnny(Jianning) Ding 2011-07-26 00:54:58 PDT
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.
Comment 5 Johnny(Jianning) Ding 2011-07-26 06:16:26 PDT
chromium bug: http://code.google.com/p/chromium/issues/detail?id=90503
Comment 6 Johnny(Jianning) Ding 2011-07-26 18:54:27 PDT
fix in chromium http://src.chromium.org/viewvc/chrome?view=rev&revision=94216
Comment 7 Johnny(Jianning) Ding 2011-07-27 19:09:39 PDT
*** Bug 64920 has been marked as a duplicate of this bug. ***