WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
326970
SHOULD NEVER BE REACHED in fullscreen/api/element-request-fullscreen-screen-size.https.html
https://bugs.webkit.org/show_bug.cgi?id=326970
Summary
SHOULD NEVER BE REACHED in fullscreen/api/element-request-fullscreen-screen-s...
Frédéric Wang Nélar
Reported
2026-10-09 01:00:08 PDT
EWS at
https://github.com/WebKit/WebKit/pull/75874
found the following crash. We are hitting a case where MediaConstraintType::DisplaySurface not handled by the enum here:
https://searchfox.org/wubkat/rev/beb5e8348bd6cf43394cade3500f3fe75bf7e8c0/Source/WebCore/platform/mediastream/MediaConstraints.cpp#319
#0 0x0000793b7975b809 in WTFCrash () at ../../../Source/WTF/wtf/Assertions.cpp:386 #1 0x0000793b7e7112e8 in WTFCrashWithInfo () at WTF/Headers/wtf/Assertions.h:1151 #2 0x0000793b8780bab9 in WebCore::MediaTrackConstraintSetMap::set (this=0x7ffd77b56aa8, constraintType=WebCore::MediaConstraintType::DisplaySurface, constraint=...) at ../../../Source/WebCore/platform/mediastream/MediaConstraints.cpp:319 #3 0x0000793b8780bcd1 in WebCore::MediaTrackConstraintSetMap::set (this=0x7ffd77b56aa8, constraintType=WebCore::MediaConstraintType::DisplaySurface, constraint=...) at ../../../Source/WebCore/platform/mediastream/MediaConstraints.cpp:337 #4 0x0000793b843b251a in WebCore::set (map=..., setType=WebCore::ConstraintSetType::Mandatory, type=WebCore::MediaConstraintType::DisplaySurface, value=...) at ../../../Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp:148 #5 0x0000793b843b0c59 in WebCore::set<mpark::variant> (map=..., setType=WebCore::ConstraintSetType::Mandatory, type=WebCore::MediaConstraintType::DisplaySurface, value=std::optional = {...}) at ../../../Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp:155 #6 0x0000793b843a7f4a in WebCore::convertToInternalForm (setType=WebCore::ConstraintSetType::Mandatory, constraintSet=...) at ../../../Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp:174 #7 0x0000793b843a7d4f in WebCore::createMediaConstraints (trackConstraints=...) at ../../../Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp:203 #8 0x0000793b84355104 in operator() (this=0x7ffd77b57a78, trackConstraints=...) at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:130 #9 0x0000793b843550c5 in mpark::lib::cpp17::detail::invoke<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)>, const WebCore::MediaTrackConstraints &>(WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> &&, const WebCore::MediaTrackConstraints &) (f=..., args=...) at WTF/Headers/wtf/Variant.h:697 #10 0x0000793b84355065 in mpark::lib::cpp17::invoke<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)>, const WebCore::MediaTrackConstraints &>(WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> &&, const WebCore::MediaTrackConstraints &) (f=..., args=...) at WTF/Headers/wtf/Variant.h:705 #11 0x0000793b84355015 in mpark::detail::visitation::variant::visit_exhaustiveness_check<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)>, const WebCore::MediaTrackConstraints &>::invoke(WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> &&, const WebCore::MediaTrackConstraints &) (visitor=..., values=...) at WTF/Headers/wtf/Variant.h:1421 #12 0x0000793b84354fb8 in mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >::operator()<mpark::detail::alt<1ul, WebCore::MediaTrackConstraints> const&>(const mpark::detail::alt<1, WebCore::MediaTrackConstraints> &) const (this=0x7ffd77b57990, alts=...) at WTF/Headers/wtf/Variant.h:1431 #13 0x0000793b84354f55 in mpark::lib::cpp17::detail::invoke<mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >, const mpark::detail::alt<1UL, WebCore::MediaTrackConstraints> &>(mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> > &&, const mpark::detail::alt<1, WebCore::MediaTrackConstraints> &) (f=..., args=...) at WTF/Headers/wtf/Variant.h:697 #14 0x0000793b84354ed5 in mpark::lib::cpp17::invoke<mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >, const mpark::detail::alt<1UL, WebCore::MediaTrackConstraints> &>(mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> > &&, const mpark::detail::alt<1, WebCore::MediaTrackConstraints> &) (f=..., args=...) at WTF/Headers/wtf/Variant.h:705 #15 0x0000793b843548f5 in mpark::detail::visitation::alt::step_at<1UL, mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >, const mpark::detail::impl_smf<false, bool, WebCore::MediaTrackConstraints> &>(mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> > &&, const mpark::detail::impl_smf<0> &) (visitor=..., vs=...) at WTF/Headers/wtf/Variant.h:1341 #16 0x0000793b84354767 in mpark::detail::visitation::alt::fold_at<0UL, 1UL, mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >, const mpark::detail::impl_smf<false, bool, WebCore::MediaTrackConstraints> &>(std::index_sequence<0ul, 1ul>, std::size_t, mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> > &&, const mpark::detail::impl_smf<0> &) (index=1, visitor=..., vs=...) at WTF/Headers/wtf/Variant.h:1397 #17 0x0000793b843545f5 in mpark::detail::visitation::alt::visit_alt_at<mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >, const mpark::detail::impl_smf<false, bool, WebCore::MediaTrackConstraints> &>(std::size_t, mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> > &&, const mpark::detail::impl_smf<0> &) (index=1, visitor=..., vs=...) at WTF/Headers/wtf/Variant.h:1330 #18 0x0000793b84354586 in mpark::detail::visitation::alt::visit_alt<mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >, const mpark::detail::impl_smf<false, bool, WebCore::MediaTrackConstraints> &>(mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> > &&, const mpark::detail::impl_smf<0> &) (visitor=..., v=...) at WTF/Headers/wtf/Variant.h:1290 #19 0x0000793b843544f5 in mpark::detail::visitation::variant::visit_alt<mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> >, const mpark::variant<bool, WebCore::MediaTrackConstraints> &>(mpark::detail::visitation::variant::value_visitor<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> > &&, const mpark::variant &) (visitor=..., vs=...) at WTF/Headers/wtf/Variant.h:1447 #20 0x0000793b8435447d in mpark::detail::visitation::variant::visit_value<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)>, const mpark::variant<bool, WebCore::MediaTrackConstraints> &>(WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> &&, const mpark::variant &) (visitor=..., vs=...) at WTF/Headers/wtf/Variant.h:1462 #21 0x0000793b843543fb in mpark::visit<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)>, const mpark::variant<bool, WebCore::MediaTrackConstraints> &>(WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> &&, const mpark::variant &) (visitor=..., vs=...) at WTF/Headers/wtf/Variant.h:2308 #22 0x0000793b84354328 in WTF::visit<WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)>, const mpark::variant<bool, WebCore::MediaTrackConstraints> &>(WTF::Visitor<(lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)> &&, const mpark::variant &) (v=..., values=...) at WTF/Headers/wtf/Variant.h:2484 #23 0x0000793b843542f4 in WTF::switchOn<const mpark::variant<bool, WebCore::MediaTrackConstraints> &, (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:124:9), (lambda at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:129:9)>(const mpark::variant &, class {...} &&, class {...} &&) (v=..., f=..., f=...) at WTF/Headers/wtf/StdLibExtras.h:581 #24 0x0000793b843399a4 in WebCore::createMediaConstraints (constraints=..., document=0x0) at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:123 #25 0x0000793b84339d63 in WebCore::MediaDevices::getDisplayMedia (this=0x793b610d9410, constraints=..., promise=...) at ../../../Source/WebCore/Modules/mediastream/MediaDevices.cpp:305 #26 0x0000793b82d7073d in operator() (this=0x7ffd77b58fa0) at WebCore/DerivedSources/JSMediaDevices.cpp:459 #27 0x0000793b82d70611 in WebCore::toJS<WebCore::IDLPromise<WebCore::IDLInterface<WebCore::MediaStream> >, (lambda at WebCore/DerivedSources/JSMediaDevices.cpp:459:5)>(JSC::JSGlobalObject &, WebCore::JSDOMGlobalObject &, JSC::ThrowScope &, class {...} &&) (lexicalGlobalObject=..., globalObject=..., throwScope=..., valueOrFunctor=...) at WebCore/PrivateHeaders/WebCore/JSDOMConvertBase.h:220 #28 0x0000793b82d7010d in WebCore::jsMediaDevicesPrototypeFunction_getDisplayMediaBody (lexicalGlobalObject=0x793b5e3a0088, callFrame=0x7ffd77b59a20, castedThis=0x793b6136d258, promise=...) at WebCore/DerivedSources/JSMediaDevices.cpp:459 #29 0x0000793b82d70c6e in operator() (this=0x7ffd77b59980, lexicalGlobalObject=..., callFrame=..., promise=...) at ../../../Source/WebCore/bindings/js/JSDOMOperationReturningPromise.h:54 #30 0x0000793b82d702db in WebCore::callPromiseFunction<(lambda at ../../../Source/WebCore/bindings/js/JSDOMOperationReturningPromise.h:41:89)>(JSC::JSGlobalObject &, JSC::CallFrame &, class {...}) (lexicalGlobalObject=..., callFrame=..., functor=...) at ../../../Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:416 #31 0x0000793b82d6ff61 in WebCore::IDLOperationReturningPromise<WebCore::JSMediaDevices>::call<&WebCore::jsMediaDevicesPrototypeFunction_getDisplayMediaBody, (WebCore::CastedThisErrorBehavior)2> (lexicalGlobalObject=..., callFrame=..., operationName=...) at ../../../Source/WebCore/bindings/js/JSDOMOperationReturningPromise.h:41 #32 0x0000793b82d6f21e in WebCore::jsMediaDevicesPrototypeFunction_getDisplayMedia (lexicalGlobalObject=0x793b5e3a0088, callFrame=0x7ffd77b59a20) at WebCore/DerivedSources/JSMediaDevices.cpp:464 #33 0x0000793b1de141b8 in ??? () #34 0x00007ffd77b59aa0 in ??? () #35 0x0000793b76c7d6a5 in llint_op_call () at /sdk/webkit/WebKitBuild/GTK/Debug/lib/libjavascriptcoregtk-6.0.so.1 #36 0x0000000000000000 in ??? ()
Attachments
Reduced testcase
(297 bytes, text/html)
2026-10-09 01:21 PDT
,
Frédéric Wang Nélar
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Frédéric Wang Nélar
Comment 1
2026-10-09 01:21:21 PDT
Created
attachment 481730
[details]
Reduced testcase Here is a reduced testcase. Just click the button to reach the assertion.
Frédéric Wang Nélar
Comment 2
2026-10-09 03:12:53 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/76472
EWS
Comment 3
2026-10-12 07:39:13 PDT
Committed
323459@main
(1ca60460dcf4): <
https://commits.webkit.org/323459@main
> Reviewed commits have been landed. Closing PR #76472 and removing active labels.
Radar WebKit Bug Importer
Comment 4
2026-10-12 07:40:18 PDT
<
rdar://problem/189812864
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug