WebKit Bugzilla
Attachment 371918 Details for
Bug 197917
: REGRESSION (r245043) [Mac WK2 Debug] ASSERTION FAILED: m_services.isEmpty() && transports.size() <= maxTransportNumber seen with two http/wpt/webauthn/public-key-credential-* tests
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197917-20190611205703.patch (text/plain), 4.81 KB, created by
Jiewen Tan
on 2019-06-11 20:57:04 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jiewen Tan
Created:
2019-06-11 20:57:04 PDT
Size:
4.81 KB
patch
obsolete
>Subversion Revision: 246344 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 8aa72248cb69be0f02c7c49bf399145a38d8622a..78e2666b7d22d15414e051c6eb43127e9470ee45 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,21 @@ >+2019-06-11 Jiewen Tan <jiewen_tan@apple.com> >+ >+ REGRESSION (r245043) [Mac WK2 Debug] ASSERTION FAILED: m_services.isEmpty() && transports.size() <= maxTransportNumber seen with two http/wpt/webauthn/public-key-credential-* tests >+ https://bugs.webkit.org/show_bug.cgi?id=197917 >+ <rdar://problem/51524958> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This is a race condition that when a new request comes in the middle between the previous one finishes and the clearStateAsync is queued in the main thread. >+ Therefore, when the new request starts discovery, it will still see previous request's state. >+ >+ To fix this issue, clearState() will be called unconditionally for every request. And a guard is added to clearState() to prevent double clearance. >+ >+ * UIProcess/WebAuthentication/AuthenticatorManager.cpp: >+ (WebKit::AuthenticatorManager::makeCredential): >+ (WebKit::AuthenticatorManager::getAssertion): >+ (WebKit::AuthenticatorManager::clearState): >+ > 2019-06-11 Patrick Griffis <pgriffis@igalia.com> > > [GTK] Fix a11y support in bubblewrap sandbox >diff --git a/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp b/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp >index 913bc8a9572149d6f163a7fa4ae7813cfe032c26..2c084457857d4109c84311591830e34b2a25b6df 100644 >--- a/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp >+++ b/Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp >@@ -130,9 +130,9 @@ void AuthenticatorManager::makeCredential(const Vector<uint8_t>& hash, const Pub > > if (m_pendingCompletionHandler) { > m_pendingCompletionHandler(ExceptionData { NotAllowedError, "This request has been cancelled by a new request."_s }); >- clearState(); > m_requestTimeOutTimer.stop(); > } >+ clearState(); > > // 1. Save request for async operations. > m_pendingRequestData = { hash, true, options, { } }; >@@ -149,9 +149,9 @@ void AuthenticatorManager::getAssertion(const Vector<uint8_t>& hash, const Publi > > if (m_pendingCompletionHandler) { > m_pendingCompletionHandler(ExceptionData { NotAllowedError, "This request has been cancelled by a new request."_s }); >- clearState(); > m_requestTimeOutTimer.stop(); > } >+ clearState(); > > // 1. Save request for async operations. > m_pendingRequestData = { hash, false, { }, options }; >@@ -174,8 +174,9 @@ void AuthenticatorManager::clearStateAsync() > > void AuthenticatorManager::clearState() > { >+ if (m_pendingCompletionHandler) >+ return; > m_pendingRequestData = { }; >- ASSERT(!m_pendingCompletionHandler); > m_services.clear(); > m_authenticators.clear(); > } >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 2bdb40660a5b90eef746a752cf35a6f291edbc04..aa628b3bebdb3172a758e5a2dffd2bf0d6b7203e 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,13 @@ >+2019-06-11 Jiewen Tan <jiewen_tan@apple.com> >+ >+ REGRESSION (r245043) [Mac WK2 Debug] ASSERTION FAILED: m_services.isEmpty() && transports.size() <= maxTransportNumber seen with two http/wpt/webauthn/public-key-credential-* tests >+ https://bugs.webkit.org/show_bug.cgi?id=197917 >+ <rdar://problem/51524958> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * platform/mac-wk2/TestExpectations: >+ > 2019-06-11 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r246320. >diff --git a/LayoutTests/platform/mac-wk2/TestExpectations b/LayoutTests/platform/mac-wk2/TestExpectations >index 15be08469a05176081d1f9a81caa6ec86f4c366d..1ba4af17e8f94e5cfa83bcd1476d4ff00be21ed6 100644 >--- a/LayoutTests/platform/mac-wk2/TestExpectations >+++ b/LayoutTests/platform/mac-wk2/TestExpectations >@@ -920,12 +920,6 @@ webkit.org/b/194916 fast/mediastream/MediaStream-video-element.html [ Pass Failu > > webkit.org/b/196376 storage/domstorage/localstorage/private-browsing-affects-storage.html [ Pass Failure ] > >-webkit.org/b/197917 [ Debug ] http/wpt/webauthn/public-key-credential-create-success-hid.https.html [ Skip ] >-webkit.org/b/197917 [ Debug ] http/wpt/webauthn/public-key-credential-get-success-hid.https.html [ Skip ] >- >-webkit.org/b/194780 http/wpt/webauthn/public-key-credential-create-success-hid.https.html [ Pass Failure ] >-webkit.org/b/196377 http/wpt/webauthn/public-key-credential-get-success-hid.https.html [ Pass Failure ] >- > webkit.org/b/196400 fast/mediastream/MediaStreamTrack-getSettings.html [ Pass Failure ] > > webkit.org/b/196403 imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html [ Pass Failure ]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197917
:
370865
| 371918