Bug 153250 - LayoutTest http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html crashing
Summary: LayoutTest http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Mac Unspecified
: P2 Normal
Assignee: Daniel Bates
URL:
Keywords: InRadar
: 153372 (view as bug list)
Depends on: 153397 153407
Blocks:
  Show dependency treegraph
 
Reported: 2016-01-19 14:04 PST by Ryan Haddad
Modified: 2016-06-19 17:33 PDT (History)
7 users (show)

See Also:


Attachments
Patch an layout tests (7.63 KB, patch)
2016-01-22 14:27 PST, Daniel Bates
ap: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews113 for mac-yosemite (795.63 KB, application/zip)
2016-01-22 15:23 PST, Build Bot
no flags Details
Archive of layout-test-results from ews101 for mac-yosemite (839.51 KB, application/zip)
2016-01-22 15:25 PST, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Radar WebKit Bug Importer 2016-01-19 15:52:37 PST
<rdar://problem/24248040>
Comment 2 Daniel Bates 2016-01-22 14:24:19 PST
Using a debug build of WebKit, run:

Tools/Scripts/run-webkit-tests --debug --no-retry-failures --child-processes=1 http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html

Then we will crash because the assertion ASSERT(directoryURL.length() == directoryURLPathStart + 1 || directoryURL[directoryURL.length() - 1] != '/') fails in CredentialStorage::findDefaultProtectionSpaceForURL().
Comment 3 Daniel Bates 2016-01-22 14:26:25 PST
*** Bug 153372 has been marked as a duplicate of this bug. ***
Comment 4 Daniel Bates 2016-01-22 14:27:28 PST
Created attachment 269608 [details]
Patch an layout tests
Comment 5 Build Bot 2016-01-22 15:22:59 PST
Comment on attachment 269608 [details]
Patch an layout tests

Attachment 269608 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/726969

New failing tests:
http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html
Comment 6 Build Bot 2016-01-22 15:23:02 PST
Created attachment 269618 [details]
Archive of layout-test-results from ews113 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews113  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 7 Build Bot 2016-01-22 15:24:58 PST
Comment on attachment 269608 [details]
Patch an layout tests

Attachment 269608 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/726982

New failing tests:
http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html
Comment 8 Build Bot 2016-01-22 15:25:00 PST
Created attachment 269620 [details]
Archive of layout-test-results from ews101 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 9 Daniel Bates 2016-01-22 16:19:19 PST
Committed r195493: <http://trac.webkit.org/changeset/195493>
Comment 10 Alexey Proskuryakov 2016-01-22 23:08:21 PST
This broke tests (EWS told us so):

https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK2%20(Tests)/r195493%20(11355)/results.html

Will roll out.
Comment 11 WebKit Commit Bot 2016-01-22 23:10:46 PST
Re-opened since this is blocked by bug 153397
Comment 12 Daniel Bates 2016-01-24 11:07:44 PST
(In reply to comment #10)
> This broke tests (EWS told us so):

Where do you see that the EWS foresaw the failures seen in <https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK2%20(Tests)/r195493%20(11355)/results.html>?

In <https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK2%20(Tests)/r195493%20(11355)/results.html> the tests that failed due to text/pixel/audio differences were http/tests/loading/basic-auth-resend-wrong-credentials.html and http/tests/loading/basic-credentials-sent-automatically.html.
Comment 13 Daniel Bates 2016-01-24 11:12:51 PST
(In reply to comment #10)
> This broke tests [...]

To clarify, <http://trac.webkit.org/changeset/195493> broke tests because WebKitTestRunner does not clear cached credentials between runs (bug #153407). The committed test LayoutTests/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html and LayoutTests/http/tests/loading/basic-auth-resend-wrong-credentials.html authenticate to a protected resource in the same protection space, <http://127.0.0.1:8000/resources>.
Comment 14 Daniel Bates 2016-01-24 11:14:01 PST
(In reply to comment #13)
> (In reply to comment #10)
> > This broke tests [...]
> 
> To clarify, <http://trac.webkit.org/changeset/195493> broke tests because
> WebKitTestRunner does not clear cached credentials between runs (bug
> #153407). The committed test
> LayoutTests/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.
> html and
> LayoutTests/http/tests/loading/basic-auth-resend-wrong-credentials.html
> authenticate to a protected resource in the same protection space,
> <http://127.0.0.1:8000/resources>.

I meant to add:

Obviously, removing the assert did not cause the test failures.
Comment 15 Alexey Proskuryakov 2016-01-25 09:12:29 PST
> Where do you see that the EWS foresaw the failures seen in 

It didn't catch all the same failures - because tests can be split differently in each run - but it did detect regressions.

> <http://trac.webkit.org/changeset/195493> broke tests because WebKitTestRunner does not clear cached credentials between runs

This is one way to put it, however the immediate cause for the problem was that the test is not in a subdirectory, unlike all other authentication tests. The fix can be re-landed after moving the new test to a subdirectory.
Comment 16 Daniel Bates 2016-01-25 10:49:23 PST
(In reply to comment #15)
> [...]
> The fix can be re-landed after moving the new test to a subdirectory.

Following the fix for bug #153407, we no longer need to make a new directory to contain the protected resource for each authentication test to avoid the issue of cached credentials. Unless you feel strongly about creating a new directory, I plan to re-land the patch as-is.
Comment 17 Daniel Bates 2016-01-26 08:15:33 PST
Committed r195590: <http://trac.webkit.org/changeset/195590>
Comment 18 Michael Catanzaro 2016-06-19 17:33:54 PDT
It broke a couple auth layout tests on GTK, see bug #158919.