Bug 267934 - REGRESSION (259678@main): [ iOS17 ] ASSERTION FAILED: task.callback for fast/dom/Orientation/no-orientation-change-event-when-unparenting-view.html result of a consistent crash
Summary: REGRESSION (259678@main): [ iOS17 ] ASSERTION FAILED: task.callback for fast/...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on: 268161
Blocks:
  Show dependency treegraph
 
Reported: 2024-01-23 10:36 PST by Marta Darbinyan
Modified: 2024-02-27 21:37 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marta Darbinyan 2024-01-23 10:36:18 PST
Description:
fast/dom/Orientation/no-orientation-change-event-when-unparenting-view.html

Is a constant crash on iOS17 Debug arm64 on ToT after the test was updated in 259678@main.

This issue can be reproduced by using the command: 
run-webkit-tests --root  --exit-after-n-failures 1 --debug <test>

History:
https://results.webkit.org/?suite=layout-tests&test=fast%2Fdom%2FOrientation%2Fno-orientation-change-event-when-unparenting-view.html

Crash Log:
ASSERTION FAILED: task.callback
/Volumes/Data/worker/Apple-iOS-17-Simulator-Debug-Build/build/Tools/TestRunnerShared/UIScriptContext/UIScriptContext.cpp(95) : void WTR::UIScriptContext::asyncTaskComplete(unsigned int)
1   0x11a23e0d8 WTFCrash
2   0x1042c17dc WTF::StringImpl* WTF::RawPtrTraits<WTF::StringImpl>::exchange<std::nullptr_t>(WTF::StringImpl*&, std::nullptr_t&&)
3   0x104361130 WTR::UIScriptContext::asyncTaskComplete(unsigned int)
4   0x10437c83c WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21::operator()() const
5   0x10437ca24 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21>(WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21)::'lambda'(void*)::operator()(void*) const
6   0x10437c9f8 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21>(WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21)::'lambda'(void*)::__invoke(void*)
7   0x10435d408 -[TestRunnerWKWebView _didEndRotation]
8   0x1042a5eb8 __80-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]_block_invoke.38
9   0x1085b9720 -[_UIViewControllerTransitionCoordinator _applyBlocks:releaseBlocks:]
10  0x1085b6300 -[_UIViewControllerTransitionContext _runAlongsideCompletions]
11  0x1085b6064 -[_UIViewControllerTransitionContext completeTransition:]
12  0x1085ce7dc __58-[_UIWindowRotationAnimationController animateTransition:]_block_invoke_5
13  0x1091c0878 +[UIView _performBlockDelayingTriggeringResponderEvents:forScene:]
14  0x1085ce794 __58-[_UIWindowRotationAnimationController animateTransition:]_block_invoke_4
15  0x1091bc948 __UIVIEW_IS_EXECUTING_ANIMATION_COMPLETION_BLOCK__
16  0x1091bcba0 -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:]
17  0x109195120 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:]
18  0x109195550 -[UIViewAnimationState animationDidStop:finished:]
19  0x1884e05c8 run_animation_callbacks(void*)
20  0x180143d3c _dispatch_client_callout
21  0x180152b24 _dispatch_main_queue_drain
22  0x18015261c _dispatch_main_queue_callback_4CF
23  0x1803c61b4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
24  0x1803c08cc __CFRunLoopRun
25  0x1803bfd28 CFRunLoopRunSpecific
26  0x180dafa98 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
27  0x10432b3ec WTR::TestController::platformRunUntil(bool&, WTF::Seconds)
28  0x1042e3538 WTR::TestController::runUntil(bool&, WTF::Seconds)
29  0x104341dd0 WTR::TestInvocation::invoke()
30  0x1042ebe90 WTR::TestController::runTest(char const*)
31  0x1042ec39c WTR::TestController::runTestingServerLoop()

Link:
https://build.webkit.org/results/Apple-iOS-17-Simulator-Debug-WK2-Tests/273296@main%20(830)/fast/dom/Orientation/no-orientation-change-event-when-unparenting-view-crash-log.txt
Comment 1 Radar WebKit Bug Importer 2024-01-23 10:36:48 PST
<rdar://problem/121454476>
Comment 2 EWS 2024-01-23 11:54:29 PST
Test gardening commit 273368@main (83caf051d603): <https://commits.webkit.org/273368@main>

Reviewed commits have been landed. Closing PR #23114 and removing active labels.
Comment 3 Chris Dumez 2024-01-25 20:10:58 PST
Pull request: https://github.com/WebKit/WebKit/pull/23287
Comment 4 EWS 2024-01-25 23:35:19 PST
Committed 273552@main (ea3f579227de): <https://commits.webkit.org/273552@main>

Reviewed commits have been landed. Closing PR #23287 and removing active labels.
Comment 5 Chris Dumez 2024-01-26 07:32:12 PST
Looks like it's still crashing on the bots:
```
ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
/Volumes/Data/worker/Apple-iOS-17-Simulator-Debug-Build/build/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/HashTable.h(649) : void WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::checkKey(const T &) [Key = unsigned int, Value = WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, Extractor = WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, HashFunctions = WTF::DefaultHash<unsigned int>, Traits = WTF::HashMap<unsigned int, WTR::UIScriptContext::Task>::KeyValuePairTraits, KeyTraits = WTF::HashTraits<unsigned int>, HashTranslator = WTF::IdentityHashTranslator<WTF::HashMap<unsigned int, WTR::UIScriptContext::Task>::KeyValuePairTraits, WTF::DefaultHash<unsigned int>>, T = unsigned int]
1   0x11918e240 WTFCrash
2   0x102e09590 WTF::StringImpl* WTF::RawPtrTraits<WTF::StringImpl>::exchange<std::nullptr_t>(WTF::StringImpl*&, std::nullptr_t&&)
3   0x102eab4fc void WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::checkKey<WTF::IdentityHashTranslator<WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::DefaultHash<unsigned int>>, unsigned int>(unsigned int const&)
4   0x102eab388 WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>* WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::inlineLookup<WTF::IdentityHashTranslator<WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::DefaultHash<unsigned int>>, unsigned int>(unsigned int const&)
5   0x102eab358 WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>* WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::lookup<WTF::IdentityHashTranslator<WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::DefaultHash<unsigned int>>, unsigned int>(unsigned int const&)
6   0x102ead850 WTF::HashTableIterator<WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>, unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<unsigned int>> WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::find<WTF::IdentityHashTranslator<WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::DefaultHash<unsigned int>>, unsigned int>(unsigned int const&)
7   0x102ead7f0 WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, WTR::UIScriptContext::Task>>, WTF::DefaultHash<unsigned int>, WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<unsigned int>>::find(unsigned int const&)
8   0x102eacf7c WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::find(unsigned int const&)
9   0x102ea9048 WTF::HashMap<unsigned int, WTR::UIScriptContext::Task, WTF::DefaultHash<unsigned int>, WTF::HashTraits<unsigned int>, WTF::HashTraits<WTR::UIScriptContext::Task>, WTF::HashTableTraits>::take(unsigned int const&)
10  0x102ea8f08 WTR::UIScriptContext::asyncTaskComplete(unsigned int)
11  0x102ec46ec WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21::operator()() const
12  0x102ec48d4 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21>(WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21)::'lambda'(void*)::operator()(void*) const
13  0x102ec48a8 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21>(WTR::UIScriptControllerIOS::simulateRotation(WTR::DeviceOrientation, OpaqueJSValue const*)::$_21)::'lambda'(void*)::__invoke(void*)
14  0x102ea5248 -[TestRunnerWKWebView _didEndRotation]
15  0x102dedc6c __80-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]_block_invoke.38
16  0x1070e5720 -[_UIViewControllerTransitionCoordinator _applyBlocks:releaseBlocks:]
```
Comment 6 Chris Dumez 2024-02-27 15:02:57 PST
Pull request: https://github.com/WebKit/WebKit/pull/25196
Comment 7 EWS 2024-02-27 21:37:43 PST
Committed 275423@main (f42d30f8697a): <https://commits.webkit.org/275423@main>

Reviewed commits have been landed. Closing PR #25196 and removing active labels.