This is a followup to SerenityOS/serenity#23375 (comment)
This patch still needs to be applied to fix the build on NetBSD:
--- Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.h.orig 2024-06-06 21:18:50.814506936 +0000
+++ Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.h
@@ -21,7 +21,7 @@ namespace Detail {
static auto constexpr coverage_lut = [] {
Array<u8, 256> coverage_lut {};
for (u32 sample = 0; sample <= 255; sample++)
- coverage_lut[sample] = popcount(sample);
+ coverage_lut[sample] = AK::popcount(sample);
return coverage_lut;
}();
With that patch, I got a working browser that could display github.com (a first for me with ladybird) but when scrolling down, it died with:
(gdb) bt
#0 ak_verification_failed () at /scratch/wip/ladybird-git/work/serenity/AK/Assertions.cpp:108
#1 0x0000000000685b48 in AK::ErrorOr<IPC::File, AK::Error>::release_value_but_fixme_should_propagate_errors () at /scratch/wip/ladybird-git/work/serenity/AK/Error.h:202
#2 Ladybird::WebContentView::initialize_client () at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/WebContentView.cpp:571
#3 0x00007817d19169de in WebView::ViewImplementation::handle_web_content_process_crash ()
at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWebView/ViewImplementation.cpp:450
#4 0x00007817cd508402 in AK::Function<void ()>::operator()() const () at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:125
#5 0x00007817cd4f68de in Core::ThreadEventQueue::process () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/ThreadEventQueue.cpp:108
#6 0x000000000066a7fd in Ladybird::EventLoopManagerQt::event_target_received_event ()
at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/EventLoopImplementationQt.cpp:154
#7 0x000000000066ae6c in Ladybird::EventLoopImplementationQtEventTarget::event ()
at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp:13
#8 0x00007817d0f9f958 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7817c6cb7510, e=0x7817c6c6ccb0)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/widgets/kernel/qapplication.cpp:3287
#9 0x00007817d004262f in QCoreApplication::notifyInternal2 (receiver=0x7817c6cb7510, event=0x7817c6c6ccb0)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qcoreapplication.cpp:1134
#10 0x00007817d004294c in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qcoreapplication.cpp:1575
#11 0x00007817d004666c in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x7817c7ac83c0)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qcoreapplication.cpp:1932
#12 0x00007817d00469be in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qcoreapplication.cpp:1789
#13 0x00007817d029a67f in postEventSourceDispatch (s=s@entry=0x7817c6ca50e0)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#14 0x00007817cbe9bb0d in g_main_dispatch (context=context@entry=0x7817c6d64180) at ../glib/gmain.c:3344
#15 0x00007817cbe9ef68 in g_main_context_dispatch_unlocked (context=0x7817c6d64180) at ../glib/gmain.c:4152
#16 g_main_context_iterate_unlocked (context=context@entry=0x7817c6d64180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#17 0x00007817cbe9f833 in g_main_context_iteration (context=0x7817c6d64180, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#18 0x00007817d0299dfa in QEventDispatcherGlib::processEvents (this=0x7817c7a93e40, flags=...)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#19 0x00007817d004de5a in QEventLoop::exec (this=this@entry=0x7f7fff25f6d0, flags=..., flags@entry=...)
at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/global/qflags.h:34
#20 0x00007817d004bbe4 in QCoreApplication::exec () at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.1/src/corelib/global/qflags.h:74
#21 0x00007817cd4dd79d in Core::EventLoop::exec () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/EventLoop.cpp:88
#22 0x00000000006893c0 in serenity_main () at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/main.cpp:210
#23 0x000000000068ba48 in main () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibMain/Main.cpp:43
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too