[webkit-changes] [WebKit/WebKit] 5b9af9: [GLIB] Many network process crashes when running W...

Carlos Garcia Campos noreply at github.com
Mon Jan 2 06:07:38 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5b9af92f602ee677d977c4b49768c66f0862a903
      https://github.com/WebKit/WebKit/commit/5b9af92f602ee677d977c4b49768c66f0862a903
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2023-01-02 (Mon, 02 Jan 2023)

  Changed paths:
    M Source/WTF/wtf/glib/RunLoopSourcePriority.h
    M Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannel.h
    M Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp

  Log Message:
  -----------
  [GLIB] Many network process crashes when running WPT tests
https://bugs.webkit.org/show_bug.cgi?id=232629

Reviewed by Michael Catanzaro.

Stop using GLib async APIs for network cache IOChannel implementation,
and use the sync API from a thread instead. The async API ends up doing
the job in a thread because file streams are not pollable. The problem
is that the internal GThreadPool tries to change the thread scheduler
setting and it fails when the current thread uses the idle scheduler,
which is the case of disk cache background threads. This reverts the
workaround introduced in 244519 at main.

* Source/WTF/wtf/glib/RunLoopSourcePriority.h:
* Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannel.h:
(WebKit::NetworkCache::IOChannel::isOpened const):
* Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp:
(WebKit::NetworkCache::IOChannel::IOChannel):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):
(WebKit::NetworkCache::fillDataFromReadBuffer): Deleted.
(WebKit::NetworkCache::inputStreamReadReadyCallback): Deleted.
(WebKit::NetworkCache::IOChannel::readSyncInThread): Deleted.
(WebKit::NetworkCache::outputStreamWriteReadyCallback): Deleted.
* Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::qosForBackgroundIOQueue): Deleted.

Canonical link: https://commits.webkit.org/258379@main




More information about the webkit-changes mailing list