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

Layout crash: LibWeb/Layout/Node.cpp:139 VERIFICATION FAILED: nearest_ancestor_box #2686

Open
rmg-x opened this issue Dec 1, 2024 · 1 comment

Comments

@rmg-x
Copy link
Contributor

rmg-x commented Dec 1, 2024

Reduced sample:

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <style>
      .test:after,
      .test:before {
        content: "";
        display: table;
      }

      nav {
        display: table;
        margin: 0 auto;
      }

      ul > li {
        float: left;
      }
    </style>
  </head>
  <body>
    <nav>
      <ul>
        <li>hello world</li>
      </ul>
      <div class="test"></div>
    </nav>
  </body>
</html>

Crash log:

VERIFICATION FAILED: nearest_ancestor_box at /Libraries/LibWeb/Layout/Node.cpp:139
/release/lib/liblagom-ak.so.0(ak_verification_failed+0xef) [0x7f56b83f714f]
/release/lib/liblagom-web.so.0(+0xad036d) [0x7f56b981f36d]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::place_block_level_element_in_normal_flow_horizontally(Web::Layout::Box const&, Web::Layout::AvailableSpace const&) 0x105) [0x7f56b97daf85]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_box(Web::Layout::Box const&, Web::Layout::BlockContainer const&, Web::CSSPixels&, Web::Layout::AvailableSpace const&) 0x645) [0x7f56b97da185]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_children(Web::Layout::BlockContainer const&, Web::Layout::AvailableSpace const&) 0x9e) [0x7f56b97d3fae]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_box(Web::Layout::Box const&, Web::Layout::BlockContainer const&, Web::CSSPixels&, Web::Layout::AvailableSpace const&) 0xa02) [0x7f56b97da542]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_children(Web::Layout::BlockContainer const&, Web::Layout::AvailableSpace const&) 0x9e) [0x7f56b97d3fae]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::run(Web::Layout::AvailableSpace const&) 0xda) [0x7f56b97d396a]
/release/lib/liblagom-web.so.0 Web::Layout::FormattingContext::calculate_min_content_width(Web::Layout::Box const&) const 0x1d0) [0x7f56b97eb740]
/release/lib/liblagom-web.so.0 Web::Layout::TableFormattingContext::compute_cell_measures() 0x339) [0x7f56b9830c39]
/release/lib/liblagom-web.so.0 Web::Layout::TableFormattingContext::run_until_width_calculation(Web::Layout::AvailableSpace const&) 0x67) [0x7f56b9839a67]
/release/lib/liblagom-web.so.0 Web::Layout::FormattingContext::compute_table_box_width_inside_table_wrapper(Web::Layout::Box const&, Web::Layout::AvailableSpace const&) 0x2d7) [0x7f56b97ec827]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::compute_width(Web::Layout::Box const&, Web::Layout::AvailableSpace const&) 0x411) [0x7f56b97d4981]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_box(Web::Layout::Box const&, Web::Layout::BlockContainer const&, Web::CSSPixels&, Web::Layout::AvailableSpace const&) 0x637) [0x7f56b97da177]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_children(Web::Layout::BlockContainer const&, Web::Layout::AvailableSpace const&) 0x9e) [0x7f56b97d3fae]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_box(Web::Layout::Box const&, Web::Layout::BlockContainer const&, Web::CSSPixels&, Web::Layout::AvailableSpace const&) 0xa02) [0x7f56b97da542]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_children(Web::Layout::BlockContainer const&, Web::Layout::AvailableSpace const&) 0x9e) [0x7f56b97d3fae]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_box(Web::Layout::Box const&, Web::Layout::BlockContainer const&, Web::CSSPixels&, Web::Layout::AvailableSpace const&) 0xa02) [0x7f56b97da542]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_children(Web::Layout::BlockContainer const&, Web::Layout::AvailableSpace const&) 0x9e) [0x7f56b97d3fae]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::run(Web::Layout::AvailableSpace const&) 0xda) [0x7f56b97d396a]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_box(Web::Layout::Box const&, Web::Layout::BlockContainer const&, Web::CSSPixels&, Web::Layout::AvailableSpace const&) 0x8e2) [0x7f56b97da422]
/release/lib/liblagom-web.so.0 Web::Layout::BlockFormattingContext::layout_block_level_children(Web::Layout::BlockContainer const&, Web::Layout::AvailableSpace const&) 0x9e) [0x7f56b97d3fae]
/release/lib/liblagom-web.so.0 Web::DOM::Document::update_layout() 0x2b4) [0x7f56b953fd94]
/release/lib/liblagom-web.so.0 Web::HTML::EventLoop::update_the_rendering() 0x2b4) [0x7f56b9666c04]
/release/lib/liblagom-web.so.0(+0x61130f) [0x7f56b936030f]
/release/lib/liblagom-web.so.0 Web::HTML::EventLoop::process() 0x51) [0x7f56b9666331]
/release/lib/liblagom-web.so.0(+0x61130f) [0x7f56b936030f]
/release/lib/liblagom-core.so.0(+0x22f2f) [0x7f56b85d7f2f]
/release/lib/liblagom-core.so.0 Core::EventReceiver::dispatch_event(Core::Event&, Core::EventReceiver*) 0x75) [0x7f56b85d7405]
/release/lib/liblagom-webview.so.0(+0xc9fa0) [0x7f56ba805fa0]
/lib/x86_64-linux-gnu/libQt6Core.so.6(+0x1ac023) [0x7f56baa0e023]
/lib/x86_64-linux-gnu/libQt6Core.so.6 QTimer::timeout(QTimer::QPrivateSignal) 0x3e) [0x7f56baa1c4be]
/lib/x86_64-linux-gnu/libQt6Core.so.6 QObject::event(QEvent*) 0x1df) [0x7f56baa0262f]
/lib/x86_64-linux-gnu/libQt6Core.so.6 QCoreApplication::notifyInternal2(QObject*, QEvent*) 0xfd) [0x7f56ba9b5a2d]
/lib/x86_64-linux-gnu/libQt6Core.so.6 QTimerInfoList::activateTimers() 0x333) [0x7f56bab1e203]
/lib/x86_64-linux-gnu/libQt6Core.so.6(+0x37bc44) [0x7f56babddc44]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x26b) [0x7f56b7cacd3b]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0xab2b8) [0x7f56b7d022b8]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f56b7caa3e3]
/lib/x86_64-linux-gnu/libQt6Core.so.6 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x6e) [0x7f56babddeae]
/lib/x86_64-linux-gnu/libQt6Core.so.6 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) 0x17b) [0x7f56ba9c2adb]
/release/lib/liblagom-core.so.0 Core::EventLoop::exec() 0x37) [0x7f56b85d5677]
/release/libexec/WebContent(+0x44431) [0x563e478b6431]
/release/libexec/WebContent(+0x100a82) [0x563e47972a82]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f56b7eb0d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f56b7eb0e40]
/release/libexec/WebContent(+0x42775) [0x563e478b4775]
@Jaycadox
Copy link

Slightly reduced further

<!DOCTYPE html>
<html>
  <head>
    <style>
      .test:before {
        content: "";
        display: table;
      }
      nav {
        display: table;
      }
      ul {
        float: left;
      }
    </style>
  </head>
  <body>
    <nav>
      <ul>hello world</ul>
      <div class="test"></div>
    </nav>
  </body>
</html>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants