TestWebKitAPI.ResourceLoadStatistics.DataTaskIdentifierCollision is a constant crash on iOS15 since r282887. History: https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.ResourceLoadStatistics.DataTaskIdentifierCollision Build: https://build.webkit.org/#/builders/28/builds/3324 Crash: TestWebKitAPI.ResourceLoadStatistics.DataTaskIdentifierCollision 2021-10-05 07:41:09.990 TestWebKitAPI[62822:10550457] Writing analzed variants. Child process terminated with signal 11: Segmentation fault Unable to reproduce crash locally. Test timed out on r283552 using run-api-tests --ios-simulator --iterations 25 TestWebKitAPI.ResourceLoadStatistics.DataTaskIdentifierCollision.
<rdar://problem/83897435>
*** Bug 231245 has been marked as a duplicate of this bug. ***
> is a constant crash on iOS15 since r282887. That's just the first time the test ran, so definitely unrelated. We had this test crash (even every time) on other queues earlier than that.
Created attachment 440316 [details] Patch
Comment on attachment 440316 [details] Patch It is a mystery indeed but the new code looks good to me.
Comment on attachment 440316 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=440316&action=review > Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:-572 > - NSArray<NSString *> *messages = [delegate waitForMessages:2]; The other way to fix this is to make this a RetainPtr<NSArray<NSString *>> so that the lifetime of the object is guaranteed for the duration of this method. Under ARC, `messages` would be +1 retained until the end of the method automatically. With MRR, you either have to use manual -retain/-release, or you have to use RetainPtr<> to ensure the lifetime of the object. You could also change -waitForMessages: to return a RetainPtr<>, then you wouldn't need to autorelease the return value.
Committed r283599 (242551@main): <https://commits.webkit.org/242551@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 440316 [details].
It stopped crashing. Internal builds seem to be passing. Open source builds seem to be timing out. I can't reproduce the time out.
Was able to occasionally reproduce locally on r283657 using run-api-tests --ios-simulator --iterations 100 --release --child-processes 1 --no-build --verbose TestWebKitAPI.ResourceLoadStatistics.DataTaskIdentifierCollision. The test also timed out on a few iterations of the above test with --debug instead of --release. Test suite failed Timeout TestWebKitAPI.ResourceLoadStatistics.DataTaskIdentifierCollision Testing completed, Exit status: 3
> Open source builds seem to be timing out. Is there a bug tracking that?
(In reply to Alexey Proskuryakov from comment #10) > > Open source builds seem to be timing out. > > Is there a bug tracking that? Created new bug for timeout: https://bugs.webkit.org/show_bug.cgi?id=231366