Bug 225951 - Fix flaky assertion hit under AudioSummingJunction::removeOutput()
Summary: Fix flaky assertion hit under AudioSummingJunction::removeOutput()
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Audio (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-05-18 18:21 PDT by Chris Dumez
Modified: 2021-05-19 08:05 PDT (History)
8 users (show)

See Also:


Attachments
Patch (1.87 KB, patch)
2021-05-18 18:23 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2021-05-18 18:21:54 PDT
Fix flaky assertion hit under AudioSummingJunction::removeOutput():
Thread 16 Crashed:: offline renderer
0   com.apple.JavaScriptCore      	0x0000000288d2449e WTFCrash + 14 (Assertions.cpp:305)
1   com.apple.JavaScriptCore      	0x000000028a5251fb WTFCrashWithInfo(int, char const*, char const*, int) + 27 (Assertions.h:695)
2   com.apple.JavaScriptCore      	0x0000000288d61cfb WTF::fastMalloc(unsigned long) + 235 (FastMalloc.cpp:524)
3   com.apple.WebCore             	0x0000000269c0b1a5 WTF::FastMalloc::malloc(unsigned long) + 21 (FastMalloc.h:273)
4   com.apple.WebCore             	0x000000026c1112e2 bool WTF::VectorBufferBase<WebCore::AudioNodeOutput*, WTF::FastMalloc>::allocateBuffer<(WTF::FailureAction)0>(unsigned long) + 178 (Vector.h:301)
5   com.apple.WebCore             	0x000000026c1111f8 bool WTF::Vector<WebCore::AudioNodeOutput*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>::reserveInitialCapacity<(WTF::FailureAction)0>(unsigned long) + 248 (Vector.h:1220)
6   com.apple.WebCore             	0x000000026c11106d WTF::Vector<WebCore::AudioNodeOutput*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>::reserveInitialCapacity(unsigned long) + 29 (Vector.h:765)
7   com.apple.WebCore             	0x000000026c110f3e WTF::Mapper<WTF::Vector<WebCore::AudioNodeOutput*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> WTF::copyToVectorOf<WebCore::AudioNodeOutput*, WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> >(WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&)::'lambda'(WebCore::AudioNodeOutput*&&), WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&, void>::map(WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&, WTF::Vector<WebCore::AudioNodeOutput*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> WTF::copyToVectorOf<WebCore::AudioNodeOutput*, WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> >(WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&)::'lambda'(WebCore::AudioNodeOutput*&&) const&) + 94 (Vector.h:1657)
8   com.apple.WebCore             	0x000000026c110ecb WTF::Vector<WTF::Mapper<WebCore::AudioNodeOutput*, WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits>, void>::DestinationItemType, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> WTF::map<WTF::Vector<WebCore::AudioNodeOutput*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> WTF::copyToVectorOf<WebCore::AudioNodeOutput*, WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> >(WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&)::'lambda'(WebCore::AudioNodeOutput*&&), WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&>(WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits>&&, WebCore::AudioNodeOutput*&&) + 75 (Vector.h:1683)
9   com.apple.WebCore             	0x000000026c110e67 WTF::Vector<WebCore::AudioNodeOutput*, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> WTF::copyToVectorOf<WebCore::AudioNodeOutput*, WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> >(WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&) + 39 (Vector.h:1765)
10  com.apple.WebCore             	0x000000026c0f7333 WTF::Vector<WTF::CopyToVectorResult<WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> >::Type, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> WTF::copyToVector<WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> >(WTF::HashSet<WebCore::AudioNodeOutput*, WTF::DefaultHash<WebCore::AudioNodeOutput*>, WTF::HashTraits<WebCore::AudioNodeOutput*>, WTF::HashTableTraits> const&) + 35 (Vector.h:1778)
11  com.apple.WebCore             	0x000000026c0f74fa WebCore::AudioSummingJunction::removeOutput(WebCore::AudioNodeOutput&) + 330 (AudioSummingJunction.cpp:82)
12  com.apple.WebCore             	0x000000026c0cbf36 WebCore::AudioNodeInput::disconnect(WebCore::AudioNodeOutput*) + 390 (AudioNodeInput.cpp:77)
Comment 1 Chris Dumez 2021-05-18 18:23:33 PDT
Created attachment 429013 [details]
Patch
Comment 2 EWS 2021-05-19 08:04:43 PDT
Committed r277721 (237900@main): <https://commits.webkit.org/237900@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429013 [details].
Comment 3 Radar WebKit Bug Importer 2021-05-19 08:05:18 PDT
<rdar://problem/78205636>