WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
283914
REGRESSION(
285820@main
): [TextureMapper][GTK][WPE] ASSERTION FAILED: textureIndex < m_textures.size() on luna.amazon.com
https://bugs.webkit.org/show_bug.cgi?id=283914
Summary
REGRESSION(285820@main): [TextureMapper][GTK][WPE] ASSERTION FAILED: textureI...
Carlos Bentzen
Reported
2024-12-02 07:25:22 PST
Created
attachment 473424
[details]
Full backtrace Steps to reproduce it: 1. Go to luna.amazon.com/?isLGTV=true 2. Log in and try to start a game Upon starting the game, the following assertion is hit in debug, and it crashes in release mode. The code is introduced in
285820@main
and no crash happens before that. ASSERTION FAILED: textureIndex < m_textures.size() /host/home/cadubentzen/Projects/UpstreamWebKit/WebKit/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp(122) : auto WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(TextureMapper &, const FloatRect &, TransformationMatrix &, float)::(anonymous class)::operator()(const IntRect &) const 1 0x7ffff11097cf WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float)::{lambda(WebCore::IntRect const&)#1}::operator()(WebCore::IntRect const&) const 2 0x7ffff110973d void std::__invoke_impl<void, WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&>(std::__invoke_other, WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&) 3 0x7ffff11096ed std::enable_if<is_invocable_r_v<void, WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&>, void>::type std::__invoke_r<void, WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&>(WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&) 4 0x7ffff11095e5 std::_Function_handler<void (WebCore::IntRect const&), WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float)::{lambda(WebCore::IntRect const&)#1}>::_M_invoke(std::_Any_data const&, WebCore::IntRect const&) 5 0x7ffff110953d std::function<void (WebCore::IntRect const&)>::operator()(WebCore::IntRect const&) const 6 0x7ffff1109422 WebCore::TextureMapperFlattenedLayer::forEachTile(WebCore::IntSize const&, std::function<void (WebCore::IntRect const&)> const&) 7 0x7ffff1103517 WebCore::TextureMapperFlattenedLayer::paintToTextureMapper(WebCore::TextureMapper&, WebCore::FloatRect const&, WebCore::TransformationMatrix&, float) 8 0x7ffff1102dd6 WebCore::TextureMapperLayer::paintSelf(WebCore::TextureMapperPaintOptions&) 9 0x7ffff1103875 WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions&) 10 0x7ffff11064fa WebCore::TextureMapperLayer::paintIntoSurface(WebCore::TextureMapperPaintOptions&) 11 0x7ffff110c800 WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&)::$_0::operator()(WebCore::TextureMapperPaintOptions&) const 12 0x7ffff110c7cd void std::__invoke_impl<void, WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperPaintOptions&>(std::__invoke_other, WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperPaintOptions&) 13 0x7ffff110c76d std::enable_if<is_invocable_r_v<void, WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperPaintOptions&>, void>::type std::__invoke_r<void, WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperPaintOptions&>(WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperPaintOptions&) 14 0x7ffff110c6a5 std::_Function_handler<void (WebCore::TextureMapperPaintOptions&), WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&)::$_0>::_M_invoke(std::_Any_data const&, WebCore::TextureMapperPaintOptions&) 15 0x7ffff110b11d std::function<void (WebCore::TextureMapperPaintOptions&)>::operator()(WebCore::TextureMapperPaintOptions&) const 16 0x7ffff110afb9 WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&)::{lambda(WebCore::IntRect const&)#1}::operator()(WebCore::IntRect const&) const 17 0x7ffff110ae2d void std::__invoke_impl<void, WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&>(std::__invoke_other, WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&) 18 0x7ffff110addd std::enable_if<is_invocable_r_v<void, WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&>, void>::type std::__invoke_r<void, WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&>(WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&)::{lambda(WebCore::IntRect const&)#1}&, WebCore::IntRect const&) 19 0x7ffff110acd5 std::_Function_handler<void (WebCore::IntRect const&), WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&)::{lambda(WebCore::IntRect const&)#1}>::_M_invoke(std::_Any_data const&, WebCore::IntRect const&) 20 0x7ffff110953d std::function<void (WebCore::IntRect const&)>::operator()(WebCore::IntRect const&) const 21 0x7ffff1109422 WebCore::TextureMapperFlattenedLayer::forEachTile(WebCore::IntSize const&, std::function<void (WebCore::IntRect const&)> const&) 22 0x7ffff1107021 WebCore::TextureMapperFlattenedLayer::update(WebCore::TextureMapperPaintOptions&, std::function<void (WebCore::TextureMapperPaintOptions&)> const&) 23 0x7ffff1106ebd WebCore::TextureMapperLayer::paintFlattened(WebCore::TextureMapperPaintOptions&) 24 0x7ffff11022c7 WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions&) 25 0x7ffff110cbef WebCore::TextureMapperLayer::paintWith3DRenderingContext(WebCore::TextureMapperPaintOptions&)::$_0::operator()(WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&) const 26 0x7ffff110cb58 void std::__invoke_impl<void, WebCore::TextureMapperLayer::paintWith3DRenderingContext(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&>(std::__invoke_other, WebCore::TextureMapperLayer::paintWith3DRenderingContext(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperLayer*&&, WebCore::FloatPolygon const&) 27 0x7ffff110caf5 std::enable_if<is_invocable_r_v<void, WebCore::TextureMapperLayer::paintWith3DRenderingContext(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&>, void>::type std::__invoke_r<void, WebCore::TextureMapperLayer::paintWith3DRenderingContext(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&>(WebCore::TextureMapperLayer::paintWith3DRenderingContext(WebCore::TextureMapperPaintOptions&)::$_0&, WebCore::TextureMapperLayer*&&, WebCore::FloatPolygon const&) 28 0x7ffff110ca1d std::_Function_handler<void (WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&), WebCore::TextureMapperLayer::paintWith3DRenderingContext(WebCore::TextureMapperPaintOptions&)::$_0>::_M_invoke(std::_Any_data const&, WebCore::TextureMapperLayer*&&, WebCore::FloatPolygon const&) 29 0x7ffff110e8c5 std::function<void (WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&)>::operator()(WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&) const 30 0x7ffff110e2e7 WebCore::TextureMapperLayer3DRenderingContext::traverseTreeAndPaint(WebCore::TextureMapperLayer3DRenderingContext::TextureMapperLayerNode&, std::function<void (WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&)> const&) 31 0x7ffff110e323 WebCore::TextureMapperLayer3DRenderingContext::traverseTreeAndPaint(WebCore::TextureMapperLayer3DRenderingContext::TextureMapperLayerNode&, std::function<void (WebCore::TextureMapperLayer*, WebCore::FloatPolygon const&)> const&)
Attachments
Full backtrace
(480.20 KB, text/plain)
2024-12-02 07:25 PST
,
Carlos Bentzen
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2024-12-03 04:11:25 PST
Adding Jani in CC, in case he has any thoughts about this :)
Jani Hautakangas
Comment 2
2024-12-03 04:52:25 PST
Good that there's this assert in the code. I tried to reproduce but luna amazon service is not available in my country
Philippe Normand
Comment 3
2024-12-03 05:08:05 PST
When I had to deal with geo-blocked websites in the past I used a VPN (mullvad), maybe you have access to one?
Jani Hautakangas
Comment 4
2024-12-03 06:33:24 PST
thanks for the hint. I'll check with VPN
Jani Hautakangas
Comment 5
2024-12-04 15:05:21 PST
I got VPN now and I'm able to access the games. What parameters are used to start the browser? With WPE MiniBrowser luna service gives me "Unsupported Browser", "It looks like you're trying to play on a browser or browser version that isn't supported."
Philippe Normand
Comment 6
2024-12-05 00:47:10 PST
You need a couple env vars: export GST_PLUGIN_FEATURE_RANK=rtpisacpay:0,rtppcmupay:0,rtppcmapay:0,rtpg722pay:0,rtppcmapay2:0,rtppcmupay2:0 export WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1 also enable the webrtc websetting and this user-agent websetting: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Jani Hautakangas
Comment 7
2024-12-05 01:45:40 PST
Still cannot get game running. Now application requests game controller setup but WPE doesn't detect PS controller even though it's working otherwise. Game controller icons show that keyboard should be ok to use but it still it requests gaming controller.
Philippe Normand
Comment 8
2024-12-05 01:47:34 PST
I don´t know if MB supports gamepad input. Cog does, if you use the --gamepad=manette option.
Jani Hautakangas
Comment 9
2024-12-05 02:04:58 PST
Ok thanks, I'm able to reproduce the issue now
Jani Hautakangas
Comment 10
2024-12-05 05:43:59 PST
Pull request:
https://github.com/WebKit/WebKit/pull/37494
EWS
Comment 11
2024-12-05 16:03:00 PST
Committed
287414@main
(23bfb2f9346e): <
https://commits.webkit.org/287414@main
> Reviewed commits have been landed. Closing PR #37494 and removing active labels.
Radar WebKit Bug Importer
Comment 12
2024-12-05 16:04:16 PST
<
rdar://problem/141012385
>
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