[webkit-changes] [WebKit/WebKit] 1522a4: REGRESSION: Catalyst + WebKitLegacy crash at `com....

Richard Robinson noreply at github.com
Wed Dec 20 12:54:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1522a457a5b4039f544a308e27abffd80a7f2c82
      https://github.com/WebKit/WebKit/commit/1522a457a5b4039f544a308e27abffd80a7f2c82
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M Source/WebCore/page/OpportunisticTaskScheduler.cpp

  Log Message:
  -----------
  REGRESSION: Catalyst + WebKitLegacy crash at `com.apple.WebCore: WTF::WeakHashMap<WebCore::Page, WTF::MonotonicTime, WTF::DefaultWeakPtrImpl>::removeNullReferences`
https://bugs.webkit.org/show_bug.cgi?id=263731
rdar://116431805

Reviewed by Wenson Hsieh.

This crash happens in WebKitLegacy within the Opportunistic task scheduling of IdleCallback,
as the WebThread attempts to write to bad memory within `WindowEventLoop::opportunisticallyRunIdleCallbacks`.

Fix by disabling the Opportunistic Task Scheduler when using WebKitLegacy; specifically, if the
WebThread is enabled. Also, do not even schedule the runloop observer to begin with in this case.

* Source/WebCore/page/OpportunisticTaskScheduler.cpp:
(WebCore::OpportunisticTaskScheduler::reschedule):
(WebCore::OpportunisticTaskScheduler::runLoopObserverFired):

Originally-landed-as: 267815.467 at safari-7617-branch (60c37687d046). rdar://119595490
Canonical link: https://commits.webkit.org/272371@main




More information about the webkit-changes mailing list