⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 280841 in webkit


Ignore:
Timestamp:
Aug 10, 2021, 8:20:38 AM (5 years ago)
Author:
ddkilzer@apple.com
Message:

ThreadSanitizer: data race in WTF::StringImpl::deref() under WebKit::WebProcessPool::setMediaAccessibilityPreferences()
<https://webkit.org/b/228932>

Reviewed by Chris Dumez.

Covered by numerous layout tests running with TSan including:

crypto/crypto-random-values-types.html

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::setMediaAccessibilityPreferences):

  • Make an isolatedCopy() of Vector<String> object before passing it to the main thread.
Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r280824 r280841  
     12021-08-10  David Kilzer  <ddkilzer@apple.com>
     2
     3        ThreadSanitizer: data race in WTF::StringImpl::deref() under WebKit::WebProcessPool::setMediaAccessibilityPreferences()
     4        <https://webkit.org/b/228932>
     5
     6        Reviewed by Chris Dumez.
     7
     8        Covered by numerous layout tests running with TSan including:
     9            crypto/crypto-random-values-types.html
     10
     11        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     12        (WebKit::WebProcessPool::setMediaAccessibilityPreferences):
     13        - Make an isolatedCopy() of Vector<String> object before passing
     14          it to the main thread.
     15
    1162021-08-09  Chris Dumez  <cdumez@apple.com>
    217
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r280795 r280841  
    190190        auto captionDisplayMode = WebCore::CaptionUserPreferencesMediaAF::platformCaptionDisplayMode();
    191191        auto preferredLanguages = WebCore::CaptionUserPreferencesMediaAF::platformPreferredLanguages();
    192         callOnMainRunLoop([weakProcess, captionDisplayMode, preferredLanguages] {
     192        callOnMainRunLoop([weakProcess, captionDisplayMode, preferredLanguages = WTFMove(preferredLanguages).isolatedCopy()] {
    193193            if (weakProcess)
    194194                weakProcess->send(Messages::WebProcess::SetMediaAccessibilityPreferences(captionDisplayMode, preferredLanguages), 0);
Note: See TracChangeset for help on using the changeset viewer.