[webkit-changes] [WebKit/WebKit] 737160: REGRESSION (?): CrashTracer: [USER] com.apple.WebK...

Jean-Yves Avenard noreply at github.com
Tue Sep 26 04:36:20 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7371609179cbbbe1c4ad33bbcbb90bd7e2b5c80d
      https://github.com/WebKit/WebKit/commit/7371609179cbbbe1c4ad33bbcbb90bd7e2b5c80d
  Author: Jean-Yves Avenard <jya at apple.com>
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
    M Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp
    M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm
    M Source/WebCore/platform/graphics/cocoa/SourceBufferParser.cpp
    M Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp
    M Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.h

  Log Message:
  -----------
  REGRESSION (?): CrashTracer: [USER] com.apple.WebKit.GPU.Development at com.apple.WebCore: WebCore::SourceBufferParserWebM::SourceBufferParserWebM
https://bugs.webkit.org/show_bug.cgi?id=262105
rdar://116032608

Reviewed by Youenn Fablet.

libwebm was weak-linked, the SourceBufferParserWebM was being constructed
without checking if libwebm was available (which would have automatically
loaded the symbols).
As such, in the vtable of SourceBufferParserWebM the pointer to the libwebm
base class was null, giving us this very puzzling crash trace.

We make SourceBufferParserWebM constructor private and make a static
create() method instead that will check for libwebm support which incidentally
will link the library as needed.

* Source/WebCore/platform/audio/cocoa/AudioFileReaderCocoa.cpp:
(WebCore::AudioFileReader::demuxWebMData const):
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
(WebCore::MediaPlayerPrivateWebM::MediaPlayerPrivateWebM):
(WebCore::MediaPlayerPrivateWebM::registerMediaEngine):
* Source/WebCore/platform/graphics/cocoa/SourceBufferParser.cpp:
(WebCore::SourceBufferParser::create):
* Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::isAvailable):
(WebCore::SourceBufferParserWebM::create):
* Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.h:

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




More information about the webkit-changes mailing list