Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LibWeb: Crash on https://www.apple.com/safari due to unresolved value for animation #24375

Closed
shannonbooth opened this issue May 19, 2024 · 1 comment · Fixed by #24443
Closed
Labels
bug Something isn't working has-repro We have a way to reproduce this bug. reduction-of-web-content Issue has a simplified reduction based on real-world web content.

Comments

@shannonbooth
Copy link
Member

Reduced HTML page:

<style>
@keyframes globalnav-search-fade-and-slide {
        0% {
                transform: translateY(calc(var(--r-globalnav-search-shift-vertical)))
        }

        to {
                transform: translateY(0)
        }

}

.globalnav-searchresults {
        --r-globalnav-search-shift-vertical: 4px;
        animation-fill-mode: both;
        animation-name: globalnav-search-fade-and-slide;
}

</style>
<div class="globalnav-searchresults">

Segement of the backtrace:

Program received signal SIGILL, Illegal instruction.
ak_verification_failed (message=0x7fa395db9b98 "m_has_value at /home/shannon/personal/serenity/AK/Optional.h:224") at /home/shannon/personal/serenity/AK/Assertions.cpp:108
108         __builtin_trap();
(gdb) bt
#0  ak_verification_failed (message=0x7fa395db9b98 "m_has_value at /home/shannon/personal/serenity/AK/Optional.h:224") at /home/shannon/personal/serenity/AK/Assertions.cpp:108
#1  0x00007fa39537e8f1 in AK::Optional<Web::CSS::Angle>::release_value (this=0x7fff669ad5a0) at /home/shannon/personal/serenity/AK/Optional.h:224
#2  AK::Optional<Web::CSS::Angle>::value() && (this=0x7fff669ad5a0) at /home/shannon/personal/serenity/AK/Optional.h:219
#3  Web::CSS::AngleOrCalculated::resolve_calculated (this=<optimized out>, calculated=...) at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/CalculatedOr.cpp:22
#4  0x00007fa39545278d in Web::CSS::CalculatedOr<Web::CSS::Angle>::resolved(Web::Layout::Node const&) const::{lambda(AK::NonnullRefPtr<Web::CSS::CalculatedStyleValue> const&)#1}::operator()(AK::NonnullRefPtr<Web::CSS::CalculatedStyleValue> const&) const (calculated=..., this=<optimized out>) at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/CalculatedOr.h:64
#5  _ZN2AK6Detail9VisitImplIhJN3Web3CSS5AngleENS_13NonnullRefPtrINS3_20CalculatedStyleValueEEEEE5visitIKNS_7VariantIJS4_S7_EEENSB_7VisitorIJZNKS3_12CalculatedOrIS4_E8resolvedERKNS2_6Layout4NodeEEUlRKS4_E_ZNKSF_8resolvedESJ_EUlRKS7_E_EEELh1EEEDcRT_hPKvOT0_QltTL0_1_sZT0_ (self=..., id=<optimized out>, data=<optimized out>, visitor=...)
    at /home/shannon/personal/serenity/AK/Variant.h:112
#6  _ZN2AK6Detail9VisitImplIhJN3Web3CSS5AngleENS_13NonnullRefPtrINS3_20CalculatedStyleValueEEEEE5visitIKNS_7VariantIJS4_S7_EEENSB_7VisitorIJZNKS3_12CalculatedOrIS4_E8resolvedERKNS2_6Layout4NodeEEUlRKS4_E_ZNKSF_8resolvedESJ_EUlRKS7_E_EEELh0EEEDcRT_hPKvOT0_QltTL0_1_sZT0_ (self=..., data=0x0, id=<optimized out>, visitor=...) at /home/shannon/personal/serenity/AK/Variant.h:118
#7  AK::Variant<Web::CSS::Angle, AK::NonnullRefPtr<Web::CSS::CalculatedStyleValue> >::visit<Web::CSS::CalculatedOr<Web::CSS::Angle>::resolved(Web::Layout::Node const&) const::{lambda(Web::CSS::Angle const&)#1}, Web::CSS::CalculatedOr<Web::CSS::Angle>::resolved(Web::Layout::Node const&) const::{lambda(AK::NonnullRefPtr<Web::CSS::CalculatedStyleValue> const&)#1}>(Web::CSS::CalculatedOr<Web::CSS::Angle>::resolved(Web::Layout::Node const&) const::{lambda(Web::CSS::Angle const&)#1}&&, Web::CSS::CalculatedOr<Web::CSS::Angle>::resolved(Web::Layout::Node const&) const::{lambda(AK::NonnullRefPtr<Web::CSS::CalculatedStyleValue> const&)#1}&&) const (this=0x0, functions=..., functions=...) at /home/shannon/personal/serenity/AK/Variant.h:430
#8  Web::CSS::CalculatedOr<Web::CSS::Angle>::resolved (this=0x7fa393f39c80 <main_arena>, layout_node=...)
    at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/CalculatedOr.h:59
#9  Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const::{lambda(Web::CSS::AngleOrCalculated const&)#1}::operator()(Web::CSS::AngleOrCalculated const&) const (value=..., this=<optimized out>)
    at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/Transformation.cpp:35
#10 _ZN2AK6Detail9VisitImplIhJN3Web3CSS17AngleOrCalculatedENS3_16LengthPercentageENS3_16NumberPercentageEEE5visitIKNS_7VariantIJS4_S5_S6_EEENSA_7VisitorIJZZNKS3_14Transformation9to_matrixENS_8OptionalIRKNS2_8Painting12PaintableBoxEEEENK3$_0clEmRKNS2_9CSSPixelsEEUlRKS5_E_ZZNKSD_9to_matrixESJ_ENKSK_clEmSN_EUlRKS4_E_ZZNKSD_9to_matrixESJ_ENKSK_clEmSN_EUlRKS6_E_EEELh0EEEDcRT_hPKvOT0_QltTL0_1_sZT0_ (self=..., data=0x7fa393f39c80 <main_arena>, id=<optimized out>, visitor=...) at /home/shannon/personal/serenity/AK/Variant.h:112
#11 AK::Variant<Web::CSS::AngleOrCalculated, Web::CSS::LengthPercentage, Web::CSS::NumberPercentage>::visit<Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const::{lambda(Web::CSS::LengthPercentage const&)#1}, Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const::{lambda(Web::CSS::AngleOrCalculated const&)#1}, Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const::{lambda(Web::CSS::NumberPercentage const&)#1}>(Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const::{lambda(Web::CSS::LengthPercentage const&)#1}&&, Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const::{lambda(Web::CSS::AngleOrCalculated const&)#1}&&, Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const::{lambda(Web::CSS::NumberPercentage const&)#1}&&) const (this=0x7fa393f39c80 <main_arena>, functions=..., functions=..., functions=...) at /home/shannon/personal/serenity/AK/Variant.h:430
#12 Web::CSS::Transformation::to_matrix(AK::Optional<Web::Painting::PaintableBox const&>) const::$_0::operator()(unsigned long, Web::CSSPixels const&) const (
    this=this@entry=0x7fff669ad6b8, index=index@entry=0, reference_length=...) at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/Transformation.cpp:23
#13 0x00007fa395451150 in Web::CSS::Transformation::to_matrix (this=0x7fff669ad7f0, paintable_box=...)
    at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/Transformation.cpp:115
#14 0x00007fa39541c01d in Web::CSS::interpolate_transform(Web::DOM::Element&, Web::CSS::StyleValue const&, Web::CSS::StyleValue const&, float)::$_4::operator()(Web::DOM::Element&, Web::CSS::TransformationStyleValue const&) const (this=<optimized out>, element=..., value=...) at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp:901
#15 0x00007fa39541ac90 in Web::CSS::interpolate_transform(Web::DOM::Element&, Web::CSS::StyleValue const&, Web::CSS::StyleValue const&, float)::$_1::operator()(Web::DOM::Element&, Web::CSS::StyleValue const&) const (this=<optimized out>, element=..., value=...) at /home/shannon/personal/serenity/Userland/Libraries/LibWeb/CSS/StyleComputer.cpp:917
@shannonbooth shannonbooth added bug Something isn't working has-repro We have a way to reproduce this bug. reduction-of-web-content Issue has a simplified reduction based on real-world web content. labels May 19, 2024
@mattco98
Copy link
Collaborator

Most likely the same issue as #23633

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working has-repro We have a way to reproduce this bug. reduction-of-web-content Issue has a simplified reduction based on real-world web content.
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants