Code Monkey home page Code Monkey logo

Comments (21)

ADKaster avatar ADKaster commented on September 26, 2024

The build with the default Unix Makefiles generator has been broken for a while, I think. Can you try using the ninja generator?

cmake <.... arguments> -GNinja

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

Thanks for the comment.
I've tried that too, but see an endless loop of these messages:

===> Building for ladybird-0.0.0nb20240227
[0/2] Re-checking globbed directories...
[1/2] Re-running CMake...
-- Configuring done (0.9s)
-- Generating done (0.3s)
-- Build files have been written to: /scratch/wip/ladybird-git/work/serenity/cmake-pkgsrc-build
[0/2] Re-checking globbed directories...
[1/2] Re-running CMake...
-- Configuring done (0.9s)
-- Generating done (0.3s)
-- Build files have been written to: /scratch/wip/ladybird-git/work/serenity/cmake-pkgsrc-build

The combination of cmake + ninja in pkgsrc usually works fine, but I had to disable it for two other projects too. I suspect a timestamp problem, but I have no clue how to debug this.

Update: It's not endless, it's just very long, and then it fails with:

/scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/Environment.cpp: In function 'AK::Optional<AK::StringView> Core::Environment::get(AK::StringView, SecureOnly)':
/scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/Environment.cpp:101:20: error: '::secure_getenv' has not been declared
  101 |         result = ::secure_getenv(builder.string_view().characters_without_null_termination());
      |                    ^~~~~~~~~~~~~
/scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/Environment.cpp: In function 'AK::ErrorOr<void> Core::Environment::clear()':
/scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/Environment.cpp:162:17: error: '::clearenv' has not been declared; did you mean 'clearerr'?
  162 |     auto rc = ::clearenv();
      |                 ^~~~~~~~
      |                 clearerr

so that's progress :)

from serenity.

ADKaster avatar ADKaster commented on September 26, 2024

We just recently (like, literally yesterday) added the calls to secure_getenv in that file. What OS is this? Does it have that function? Or are we just missing an include

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

I'm compiling on NetBSD.
As I understand it, both functions are glibc extensions and should be hidden by ifdef(__linux__).
I use this for now:

--- Userland/Libraries/LibCore/Environment.cpp.orig     2024-02-27 18:09:19.633132086 +0000
+++ Userland/Libraries/LibCore/Environment.cpp
@@ -93,7 +93,7 @@ Optional<StringView> get(StringView name
     builder.append('\0');
     // Note the explicit null terminators above.

-#if defined(AK_OS_MACOS)
+#if defined(AK_OS_MACOS) || defined(__NetBSD__)
     char* result = ::getenv(builder.string_view().characters_without_null_termination());
 #else
     char* result;
@@ -153,7 +153,7 @@ ErrorOr<void> put(StringView env)

 ErrorOr<void> clear()
 {
-#if defined(AK_OS_MACOS)
+#if defined(AK_OS_MACOS) || defined(__NetBSD__)
     auto environment = raw_environ();
     for (size_t environ_size = 0; environment[environ_size]; ++environ_size) {
         environment[environ_size] = NULL;

I'm at

[50/2402] Generating Userland/Services/RequestServer/RequestClientEndpoint.h
FAILED: Lagom/Userland/Services/RequestServer/RequestClientEndpoint.h /scratch/wip/ladybird-git/work/serenity/cmake-pkgsrc-build/Lagom/Userland/Services/RequestServer/RequestClientEndpoint.h
cd /scratch/wip/ladybird-git/work/serenity/cmake-pkgsrc-build/Lagom && /scratch/wip/ladybird-git/work/serenity/cmake-pkgsrc-build/bin/IPCCompiler /scratch/wip/ladybird-git/work/serenity/Userland/Services/RequestServer/RequestClient.ipc -o Userland/Services/RequestServer/RequestClientEndpoint.h.tmp && /usr/pkg/bin/cmake -E copy_if_different Userland/Services/RequestServer/RequestClientEndpoint.h.tmp Userland/Services/RequestServer/RequestClientEndpoint.h && /usr/pkg/bin/cmake -E remove Userland/Services/RequestServer/RequestClientEndpoint.h.tmp
/scratch/wip/ladybird-git/work/serenity/cmake-pkgsrc-build/bin/IPCCompiler: Shared object "liblagom-filesystem.so.0" not found

which I've worked around with setting LD_LIBRARY_PATH to include cmake-pkgsrc-build/lib, which leads to

In file included from /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.cpp:12:
/scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.h:26:2:   in 'constexpr' expansion of '<lambda closure object>Gfx::Detail::<lambda()>().Gfx::Detail::<lambda()>()'
/scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.h:24:40: error: call to non-'constexpr' function 'unsigned int popcount(unsigned int)'
   24 |         coverage_lut[sample] = popcount(sample);
      |                                ~~~~~~~~^~~~~~~~
In file included from /usr/include/string.h:98,
                 from /scratch/wip/ladybird-git/work/serenity/AK/Memory.h:15,
                 from /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibGfx/Painter.h:10,
                 from /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibGfx/AntiAliasingPainter.h:9,
                 from /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.cpp:11:
/usr/include/strings.h:57:17: note: 'unsigned int popcount(unsigned int)' declared here
   57 | unsigned int    popcount(unsigned int) __constfunc;
      |                 ^~~~~~~~

which I only know how to fix this way:

--- Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.h.orig     2024-02-27 18:16:47.107269492 +0000
+++ Userland/Libraries/LibGfx/EdgeFlagPathRasterizer.h
@@ -18,7 +18,7 @@ namespace Gfx {

 namespace Detail {

-static auto constexpr coverage_lut = [] {
+static auto coverage_lut = [] {
     Array<u8, 256> coverage_lut {};
     for (u32 sample = 0; sample <= 255; sample++)
         coverage_lut[sample] = popcount(sample);

compilation on-going.

from serenity.

ADKaster avatar ADKaster commented on September 26, 2024

so we don't have many people compiling for NetBSD, so this is kinda expected. FreeBSD is going ok it seems, as they have a port in their tree.

fwiw FreeBSD 14 seems to have secure_getenv https://man.freebsd.org/cgi/man.cgi?getenv(3)

we have macros like AK_OS_NETBSD already, from AK/Platform.h

Regarding executing binaries from the build, that's supposed to work via RPATH. if pkgsrc hates RPATH, then it's expected you'd need LD_LIBRARY_PATH. that's #22335

That popcount thing looks super bogus. On my linux box that's calling ::AK::popcount from AK/BuiltinWrappers.h, which we using into the global namespace. it shouldn't be calling ::popcount from /usr/include/strings.h.

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

Thanks, I'll use AK_OS_NETBSD.
pkgsrc doesn't like temporary RPATHs. only the final installation RPATH is allowed. So the LD_LIBRARY_PATH workaround is fine.
Does Linux even provide a native popcount? NetBSD does, perhaps that's the problem.

I needed no further patches to compile; I had to change the font search path (pkgsrc uses ${PREFIX}/share/fonts which is usually, but not always,/usr/pkg/share/fonts).

On startup, I have a major problem though:

119877.571 �[33;1mWebContent(1042)�[0m: FontDatabase::load_all_fonts_from_uri('file:///usr/share/fonts'): open: No such file or directory (errno=2)
119877.574 �[33;1mWebContent(1042)�[0m: FontDatabase::load_all_fonts_from_uri('file:///home/wiz/.local/share/fonts'): open: No such file or directory (errno=2)
VERIFICATION FAILED: block != MAP_FAILED at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/Heap/BlockAllocator.cpp:60
0x766f4616f05c <ak_verification_failed+0xc6> at /usr/pkg/lib/liblagom-ak.so.0
0x766f464806b7  JS::BlockAllocator::allocate_block(char const*) 0xaf> at /usr/pkg/lib/liblagom-js.so.0
0x766f46484287  JS::HeapBlock::create_with_cell_size(JS::Heap&, JS::CellAllocator&, unsigned long, char const*) 0x39> at /usr/pkg/lib/liblagom-js.so.0
0x766f46480ae8  JS::CellAllocator::allocate_cell(JS::Heap&) 0x1b6> at /usr/pkg/lib/liblagom-js.so.0
0x766f4680288b  JS::VM::VM(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >, AK::Array<AK::String, 1ul>) 0x531> at /usr/pkg/lib/liblagom-js.so.0
0x766f468040f1  JS::VM::create(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >) 0xeb> at /usr/pkg/lib/liblagom-js.so.0
0x766f471e6a71  Web::Bindings::initialize_main_thread_vm() 0x12c> at /usr/pkg/lib/liblagom-web.so.0
0xed5679  serenity_main(Main::Arguments) 0xe5bad0> at /usr/pkg/libexec/WebContent
0xed99b4 <main+0xe5b117> at /usr/pkg/libexec/WebContent
119877.614 �[33;1mRequestServer(28756)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119877.614 �[33;1mWebSocket(9287)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119877.615 �[33;1mLadybird(2728)�[0m: WebContent process crashed!
119877.748 �[33;1mWebContent(19386)�[0m: FontDatabase::load_all_fonts_from_uri('file:///usr/share/fonts'): open: No such file or directory (errno=2)
119877.751 �[33;1mWebContent(19386)�[0m: FontDatabase::load_all_fonts_from_uri('file:///home/wiz/.local/share/fonts'): open: No such file or directory (errno=2)
VERIFICATION FAILED: block != MAP_FAILED at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/Heap/BlockAllocator.cpp:60
0x79706187a05c <ak_verification_failed+0xc6> at /usr/pkg/lib/liblagom-ak.so.0
0x797061b8b6b7  JS::BlockAllocator::allocate_block(char const*) 0xaf> at /usr/pkg/lib/liblagom-js.so.0
0x797061b8f287  JS::HeapBlock::create_with_cell_size(JS::Heap&, JS::CellAllocator&, unsigned long, char const*) 0x39> at /usr/pkg/lib/liblagom-js.so.0
0x797061b8bae8  JS::CellAllocator::allocate_cell(JS::Heap&) 0x1b6> at /usr/pkg/lib/liblagom-js.so.0
0x797061f0d88b  JS::VM::VM(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >, AK::Array<AK::String, 1ul>) 0x531> at /usr/pkg/lib/liblagom-js.so.0
0x797061f0f0f1  JS::VM::create(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >) 0xeb> at /usr/pkg/lib/liblagom-js.so.0
0x7970628f1a71  Web::Bindings::initialize_main_thread_vm() 0x12c> at /usr/pkg/lib/liblagom-web.so.0
0x987679  serenity_main(Main::Arguments) 0x90dad0> at /usr/pkg/libexec/WebContent
0x98b9b4 <main+0x90d117> at /usr/pkg/libexec/WebContent
119877.791 �[33;1mWebSocket(29584)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119877.791 �[33;1mRequestServer(4944)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119877.792 �[33;1mLadybird(2728)�[0m: WebContent process crashed!
119877.925 �[33;1mWebContent(28814)�[0m: FontDatabase::load_all_fonts_from_uri('file:///usr/share/fonts'): open: No such file or directory (errno=2)
119877.928 �[33;1mWebContent(28814)�[0m: FontDatabase::load_all_fonts_from_uri('file:///home/wiz/.local/share/fonts'): open: No such file or directory (errno=2)
VERIFICATION FAILED: block != MAP_FAILED at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/Heap/BlockAllocator.cpp:60
0x7f541533405c <ak_verification_failed+0xc6> at /usr/pkg/lib/liblagom-ak.so.0
0x7f54156456b7  JS::BlockAllocator::allocate_block(char const*) 0xaf> at /usr/pkg/lib/liblagom-js.so.0
0x7f5415649287  JS::HeapBlock::create_with_cell_size(JS::Heap&, JS::CellAllocator&, unsigned long, char const*) 0x39> at /usr/pkg/lib/liblagom-js.so.0
0x7f5415645ae8  JS::CellAllocator::allocate_cell(JS::Heap&) 0x1b6> at /usr/pkg/lib/liblagom-js.so.0
0x7f54159c788b  JS::VM::VM(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >, AK::Array<AK::String, 1ul>) 0x531> at /usr/pkg/lib/liblagom-js.so.0
0x7f54159c90f1  JS::VM::create(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >) 0xeb> at /usr/pkg/lib/liblagom-js.so.0
0x7f54163aba71  Web::Bindings::initialize_main_thread_vm() 0x12c> at /usr/pkg/lib/liblagom-web.so.0
0x9a3679  serenity_main(Main::Arguments) 0x929ad0> at /usr/pkg/libexec/WebContent
0x9a79b4 <main+0x929117> at /usr/pkg/libexec/WebContent
119877.968 �[33;1mWebSocket(4636)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119877.968 �[33;1mRequestServer(11805)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119877.969 �[33;1mLadybird(2728)�[0m: WebContent process crashed!
119878.105 �[33;1mWebContent(15835)�[0m: FontDatabase::load_all_fonts_from_uri('file:///usr/share/fonts'): open: No such file or directory (errno=2)
119878.108 �[33;1mWebContent(15835)�[0m: FontDatabase::load_all_fonts_from_uri('file:///home/wiz/.local/share/fonts'): open: No such file or directory (errno=2)
VERIFICATION FAILED: block != MAP_FAILED at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/Heap/BlockAllocator.cpp:60
0x7ed891ac205c <ak_verification_failed+0xc6> at /usr/pkg/lib/liblagom-ak.so.0
0x7ed891dd36b7  JS::BlockAllocator::allocate_block(char const*) 0xaf> at /usr/pkg/lib/liblagom-js.so.0
0x7ed891dd7287  JS::HeapBlock::create_with_cell_size(JS::Heap&, JS::CellAllocator&, unsigned long, char const*) 0x39> at /usr/pkg/lib/liblagom-js.so.0
0x7ed891dd3ae8  JS::CellAllocator::allocate_cell(JS::Heap&) 0x1b6> at /usr/pkg/lib/liblagom-js.so.0
0x7ed89215588b  JS::VM::VM(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >, AK::Array<AK::String, 1ul>) 0x531> at /usr/pkg/lib/liblagom-js.so.0
0x7ed8921570f1  JS::VM::create(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >) 0xeb> at /usr/pkg/lib/liblagom-js.so.0
0x7ed892b39a71  Web::Bindings::initialize_main_thread_vm() 0x12c> at /usr/pkg/lib/liblagom-web.so.0
0xedf679  serenity_main(Main::Arguments) 0xe65ad0> at /usr/pkg/libexec/WebContent
0xee39b4 <main+0xe65117> at /usr/pkg/libexec/WebContent
119878.147 �[33;1mWebSocket(3209)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119878.148 �[33;1mRequestServer(11537)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119878.149 �[33;1mLadybird(2728)�[0m: WebContent process crashed!
119878.281 �[33;1mWebContent(20355)�[0m: FontDatabase::load_all_fonts_from_uri('file:///usr/share/fonts'): open: No such file or directory (errno=2)
119878.284 �[33;1mWebContent(20355)�[0m: FontDatabase::load_all_fonts_from_uri('file:///home/wiz/.local/share/fonts'): open: No such file or directory (errno=2)
VERIFICATION FAILED: block != MAP_FAILED at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/Heap/BlockAllocator.cpp:60
0x7ba60566605c <ak_verification_failed+0xc6> at /usr/pkg/lib/liblagom-ak.so.0
0x7ba6059776b7  JS::BlockAllocator::allocate_block(char const*) 0xaf> at /usr/pkg/lib/liblagom-js.so.0
0x7ba60597b287  JS::HeapBlock::create_with_cell_size(JS::Heap&, JS::CellAllocator&, unsigned long, char const*) 0x39> at /usr/pkg/lib/liblagom-js.so.0
0x7ba605977ae8  JS::CellAllocator::allocate_cell(JS::Heap&) 0x1b6> at /usr/pkg/lib/liblagom-js.so.0
0x7ba605cf988b  JS::VM::VM(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >, AK::Array<AK::String, 1ul>) 0x531> at /usr/pkg/lib/liblagom-js.so.0
0x7ba605cfb0f1  JS::VM::create(AK::OwnPtr<JS::VM::CustomData, AK::DefaultDelete<JS::VM::CustomData> >) 0xeb> at /usr/pkg/lib/liblagom-js.so.0
0x7ba6066dda71  Web::Bindings::initialize_main_thread_vm() 0x12c> at /usr/pkg/lib/liblagom-web.so.0
0xf03679  serenity_main(Main::Arguments) 0xe89ad0> at /usr/pkg/libexec/WebContent
0xf079b4 <main+0xe89117> at /usr/pkg/libexec/WebContent
119878.323 �[33;1mRequestServer(13040)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119878.323 �[33;1mWebSocket(6756)�[0m: Loaded 145 of 145 (100%) provided CA Certificates
119878.325 �[33;1mLadybird(2728)�[0m: WebContent process crashed!
119878.325 �[33;1mLadybird(2728)�[0m: WebContent has crashed 5 times in quick succession! Not restarting...

MAP_FAILED calls to mind mmap() - I should perhaps mention that NetBSD by default doesn't allow mapping writable mmap sections as executable (PAX mprotect), which annoys most JITs. The workaround is to double-map sections; the NetBSD mremap man page has example code for this.

However, turning this feature off didn't fix the problem, so perhaps that's a red herring. Any ideas?

from serenity.

ADKaster avatar ADKaster commented on September 26, 2024

That mmap should be just a

mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);

where HeapBlock::block_size is 4096.

auto* block = (HeapBlock*)mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);

perhaps NetBSD expects that the fd parameter is -1 for MAP_ANONYMOUS?

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

I think you're right, from NetBSD's mmap man page:

           MAP_ANON              Map anonymous memory not associated with any
                                 specific file.  The file descriptor is not
                                 used for creating MAP_ANON regions, and must
                                 be specified as -1.  The mapped memory will
                                 be zero filled.

           MAP_ANONYMOUS         Synonymous with MAP_ANON.

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

One patch later:

--- Userland/Libraries/LibJS/Heap/BlockAllocator.cpp.orig       2024-02-27 18:49:14.164744463 +0000
+++ Userland/Libraries/LibJS/Heap/BlockAllocator.cpp
@@ -52,8 +52,10 @@ void* BlockAllocator::allocate_block([[m
         return block;
     }

-#ifdef AK_OS_SERENITY
+#if defined(AK_OS_SERENITY)
     auto* block = (HeapBlock*)serenity_mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_RANDOMIZED | MAP_PRIVATE, 0, 0, HeapBlock::block_size, name);
+#elif defined(AK_OS_NETBSD)
+    auto* block = (HeapBlock*)mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
 #else
     auto* block = (HeapBlock*)mmap(nullptr, HeapBlock::block_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
 #endif

ladybird finishes startup, but shows me, for every page I tried including about:srcdoc:

Web page crashed
The web page $URL has crashed.
You can reload the page to try again.

I have two core dumps, one for RequestServer:

(gdb) bt
#0  0x00007d428ea9ffaf in _freeaddrinfo (ai=0x0) at /disk/storage-202004/archive/foreign/src/lib/libc/net/getaddrinfo.c:373
#1  0x00007d428f0c700d in Core::System::AddressInfoVector::AddrInfoDeleter::operator() () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/System.h:262
#2  AK::OwnPtr<addrinfo, Core::System::AddressInfoVector::AddrInfoDeleter>::clear () at /scratch/wip/ladybird-git/work/serenity/AK/OwnPtr.h:110
#3  AK::OwnPtr<addrinfo, Core::System::AddressInfoVector::AddrInfoDeleter>::~OwnPtr () at /scratch/wip/ladybird-git/work/serenity/AK/OwnPtr.h:45
#4  Core::System::AddressInfoVector::~AddressInfoVector () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/System.h:248
#5  Core::System::getaddrinfo () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/System.cpp:1526
#6  0x00007d428f0ba2ba in Core::Socket::resolve_host () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/Socket.cpp:69
#7  0x00007d428f0bb100 in Core::TCPSocket::connect () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/Socket.cpp:194
#8  0x00007d428f1a506c in TLS::TLSv12::connect () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibTLS/Socket.cpp:56
#9  0x000000000016c5eb in RequestServer::ConnectionCache::Proxy::tunnel<TLS::TLSv12, TLS::TLSv12> () at /scratch/wip/ladybird-git/work/serenity/Userland/Services/RequestServer/ConnectionCache.h:40
#10 0x000000000017c1d4 in RequestServer::ConnectionCache::get_or_create_connection<AK::HashMap<RequestServer::ConnectionCache::ConnectionKey, AK::NonnullOwnPtr<AK::Vector<AK::NonnullOwnPtr<RequestServer::ConnectionCache::Connection<TLS::TLSv12, TLS::TLSv12> >, 0ul> >, AK::Traits<RequestServer::ConnectionCache::ConnectionKey>, AK::Traits<AK::NonnullOwnPtr<AK::Vector<AK::NonnullOwnPtr<RequestServer::ConnectionCache::Connection<TLS::TLSv12, TLS::TLSv12> >, 0ul> > >, false>, AK::NonnullRefPtr<HTTP::HttpsJob> > ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Services/RequestServer/ConnectionCache.h:201
#11 0x000000000017cb27 in RequestServer::Detail::start_request<AK::Badge<RequestServer::HttpsProtocol>, AK::ErrorOr<RequestServer::Protocol::Pipe, AK::Error> >(AK::Badge<RequestServer::HttpsProtocol>&&, int, RequestServer::ConnectionFromClient&, AK::ByteString const&, AK::URL const&, AK::HashMap<AK::ByteString, AK::ByteString, AK::Traits<AK::ByteString>, AK::Traits<AK::ByteString>, false> const&, AK::Span<unsigned char const>, AK::ErrorOr<RequestServer::Protocol::Pipe, AK::Error>&&, Core::ProxyData)::{lambda()#1}::operator()() const ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Services/RequestServer/HttpCommon.h:107
#12 AK::Function<void ()>::CallableWrapper<RequestServer::Detail::start_request<AK::Badge<RequestServer::HttpsProtocol>, AK::ErrorOr<RequestServer::Protocol::Pipe, AK::Error> >(AK::Badge<RequestServer::HttpsProtocol>&&, int, RequestServer::ConnectionFromClient&, AK::ByteString const&, AK::URL const&, AK::HashMap<AK::ByteString, AK::ByteString, AK::Traits<AK::ByteString>, AK::Traits<AK::ByteString>, false> const&, AK::Span<unsigned char const>, AK::ErrorOr<RequestServer::Protocol::Pipe, AK::Error>&&, Core::ProxyData)::{lambda()#1}>::call() ()
    at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:182
#13 0x00007d428f0decd7 in AK::Function<void ()>::operator()() const () at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:115
#14 0x00007d428f0c9c87 in Core::ThreadEventQueue::process () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/ThreadEventQueue.cpp:108
#15 0x00007d428f0acb19 in Core::EventLoopImplementationUnix::pump () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/EventLoopImplementationUnix.cpp:293
#16 Core::EventLoopImplementationUnix::exec () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/EventLoopImplementationUnix.cpp:285
#17 0x00007d428f0a8999 in Core::EventLoop::exec () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/EventLoop.cpp:88
#18 0x00000000001403f3 in serenity_main () at /scratch/wip/ladybird-git/work/serenity/Ladybird/RequestServer/main.cpp:61
#19 0x000000000014ef60 in main () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibMain/Main.cpp:43

and one for WebContent:

(gdb) bt
#0  ak_verification_failed () at /scratch/wip/ladybird-git/work/serenity/AK/Assertions.cpp:108
#1  0x00007f24cbdeddeb in determine_navigation_params_policy_container () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Navigable.cpp:523
#2  determine_navigation_params_policy_container () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Navigable.cpp:504
#3  0x00007f24cbdfb28b in create_navigation_params_by_fetching () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Navigable.cpp:977
#4  Web::HTML::Navigable::populate_session_history_entry_document(JS::GCPtr<Web::HTML::SessionHistoryEntry>, Web::HTML::SourceSnapshotParams const&, Web::HTML::TargetSnapshotParams const&, AK::Optional<AK::String>, AK::Variant<AK::Empty, Web::HTML::NavigationParams, Web::HTML::NonFetchSchemeNavigationParams>, Web::HTML::CSPNavigationType, bool, AK::Function<void ()>) ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Navigable.cpp:1053
#5  0x00007f24cbdfbdcf in operator() () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Navigable.cpp:1416
#6  0x00007f24cc8cf1d0 in JS::SafeFunction<void ()>::operator()() const () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/SafeFunction.h:85
#7  AK::Function<void ()>::CallableWrapper<JS::SafeFunction<void ()> >::call() () at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:182
#8  0x00007f24caba0cd7 in AK::Function<void ()>::operator()() const () at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:115
#9  0x00007f24cab8bc87 in Core::ThreadEventQueue::process () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/ThreadEventQueue.cpp:108
#10 0x00000000004218ab in Ladybird::EventLoopManagerQt::event_target_received_event () at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/EventLoopImplementationQt.cpp:154
#11 0x0000000000421e7c in Ladybird::EventLoopImplementationQtEventTarget::event () at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp:13
#12 0x00007f24cd4689dd in doNotify (event=0x7f24b64f0980, receiver=0x7f24c52a8a80) at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1217
#13 QCoreApplication::notify (event=0x7f24b64f0980, receiver=0x7f24c52a8a80, this=<optimized out>)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1200
#14 QCoreApplication::notifyInternal2 (receiver=0x7f24c52a8a80, event=0x7f24b64f0980) at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
#15 0x00007f24cd468c9c in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#16 0x00007f24cd46cb73 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x7f24c52853c0)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1901
#17 0x00007f24cd46cec4 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1760
#18 0x00007f24cd6b7e6d in postEventSourceDispatch (s=s@entry=0x7f24c5243000) at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#19 0x00007f24c945e6fa in g_main_dispatch (context=context@entry=0x7f24c524a240) at ../glib/gmain.c:3476
#20 0x00007f24c9461b5c in g_main_context_dispatch_unlocked (context=0x7f24c524a240) at ../glib/gmain.c:4284
#21 g_main_context_iterate_unlocked (context=context@entry=0x7f24c524a240, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#22 0x00007f24c946241b in g_main_context_iteration (context=0x7f24c524a240, may_block=may_block@entry=1) at ../glib/gmain.c:4414
#23 0x00007f24cd6b7670 in QEventDispatcherGlib::processEvents (this=0x7f24c52a8a50, flags=...)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#24 0x00007f24cd47440a in QEventLoop::exec (this=0x7f24c521f870, flags=...) at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:34
#25 0x00007f24cab6a999 in Core::EventLoop::exec () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/EventLoop.cpp:88
#26 0x0000000000428cc8 in serenity_main () at /scratch/wip/ladybird-git/work/serenity/Ladybird/WebContent/main.cpp:141
#27 0x000000000042c9b4 in main () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibMain/Main.cpp:43

from serenity.

ADKaster avatar ADKaster commented on September 26, 2024

about:srcdoc is a known issue #23216

hitting issues in getaddrinfo/freeaddrinfo is unexpected though.

It looks like we copy struct addrinfo into a vector from getaddrinfo, and then free the pointer we got from getaddrinfo with freeaddrinfo later.

class AddressInfoVector {
AK_MAKE_NONCOPYABLE(AddressInfoVector);
AK_MAKE_DEFAULT_MOVABLE(AddressInfoVector);
public:
~AddressInfoVector() = default;
ReadonlySpan<struct addrinfo> addresses() const { return m_addresses; }
private:
friend ErrorOr<AddressInfoVector> getaddrinfo(char const* nodename, char const* servname, struct addrinfo const& hints);
AddressInfoVector(Vector<struct addrinfo>&& addresses, struct addrinfo* ptr)
: m_addresses(move(addresses))
, m_ptr(adopt_own_if_nonnull(ptr))
{
}
struct AddrInfoDeleter {
void operator()(struct addrinfo* ptr) { ::freeaddrinfo(ptr); }
};
Vector<struct addrinfo> m_addresses {};
OwnPtr<struct addrinfo, AddrInfoDeleter> m_ptr {};
};

ErrorOr<AddressInfoVector> getaddrinfo(char const* nodename, char const* servname, struct addrinfo const& hints)

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

C++ is not my forte, but from a short review this looks fine.
I assume:

        TRY(addresses.try_append(*result));

makes a copy of the result and doesn't move it?

What is a site that should definitely work (for testing)?

from serenity.

clausecker avatar clausecker commented on September 26, 2024

The same patch to mmap with MAP_ANONYMOUS is also needed to make Ladybird work on FreeBSD (again). I'll include it as a distribution patch into the port.

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

Since @ADKaster was so nice proposing a pull request with fixes, I wanted to try it out, but the build fails early for me right now:

[69/2584] Linking CXX executable bin/GenerateIDNAData
FAILED: bin/GenerateIDNAData
: && /scratch/wip/ladybird-git/work/.cwrapper/bin/c++ -O2 -g -fstack-clash-protection -I/usr/pkg/qt6/include -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/freetype2 -I/usr/pkg/include/libdrm -I/usr/pkg/include/gstreamer-1.0 -L/usr/pkg/gcc12/lib/gcc/x86_64--netbsd/12.3.0 -Wl,-R/usr/pkg/gcc12/lib/gcc/x86_64--netbsd/12.3.0 -Wl,-zrelro -Wl,-znow -L/usr/pkg/qt6/lib -L/usr/pkg/qt6/plugins -Wl,-R/usr/pkg/qt6/lib -Wl,-R/usr/pkg/qt6/plugins -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib Lagom/Tools/CodeGenerators/LibUnicode/CMakeFiles/GenerateIDNAData.dir/GenerateIDNAData.cpp.o -o bin/GenerateIDNAData  lib/liblagom-filesystem.so.0.0.0  lib/liblagom-main.a  lib/liblagom-coreminimal.so.0.0.0  lib/liblagom-ak.so.0.0.0  -lpthread && :
/usr/bin/ld: lib/liblagom-coreminimal.so.0.0.0: undefined reference to `shm_open'
/usr/bin/ld: lib/liblagom-coreminimal.so.0.0.0: undefined reference to `shm_unlink'

On NetBSD, shm_open and friends are in librt, i.e. need linking against -lrt.

I now need:

--- Userland/Libraries/LibCore/CMakeLists.txt.orig      2024-05-09 19:06:10.996535513 +0000
+++ Userland/Libraries/LibCore/CMakeLists.txt
@@ -15,7 +15,7 @@ set(SOURCES
 )

 serenity_lib(LibCoreMinimal coreminimal)
-target_link_libraries(LibCoreMinimal PRIVATE LibSystem)
+target_link_libraries(LibCoreMinimal PRIVATE LibSystem -lrt)

 set(SOURCES
     AnonymousBuffer.cpp

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

So I tried ladybird with the proposed patches from the pull request, the one in the comment #23375 (comment) and the last one from comment #23375 (comment) (constexpr) on NetBSD, and it starts up and shows the search bar with some icons for Bing, Duckduckgo etc. but does nothing when I click on them and core dumps when I enter "https://github.com/" in the URL bar. Only one core dump though, for RequestServer.

from serenity.

ADKaster avatar ADKaster commented on September 26, 2024

Sounds like the problem with getaddrinfo is still there. Still not sure what we're doing wrong with those, though I haven't looked into it very much.

from serenity.

ADKaster avatar ADKaster commented on September 26, 2024

Re: librt, does this patch do the trick?

diff --git a/Meta/Lagom/CMakeLists.txt b/Meta/Lagom/CMakeLists.txt
index dc89743d2a..d7a5023bed 100644
--- a/Meta/Lagom/CMakeLists.txt
+++ b/Meta/Lagom/CMakeLists.txt
@@ -360,7 +360,8 @@ add_serenity_subdirectory(Userland/Libraries/LibCore)
 target_link_libraries(LibCore PRIVATE Threads::Threads)
 if (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
     # NetBSD has its shm_open and shm_unlink functions in librt so we need to link that
-    target_link_libraries(LibCore PRIVATE librt.so)
+    target_link_libraries(LibCore PRIVATE rt)
+    target_link_libraries(LibCoreMinimal PRIVATE rt)
 endif()
 if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
     # Solaris has socket and networking related functions in two extra libraries

And/or does changing LibCore to LibCoreMinimal fix it? (i.e. do we only need librt on the minimal lib)

from serenity.

ADKaster avatar ADKaster commented on September 26, 2024

Re: addrinfo: Does this patch fix it?

diff --git a/Userland/Libraries/LibCore/System.h b/Userland/Libraries/LibCore/System.h
index a57d1f8faf..f190672f71 100644
--- a/Userland/Libraries/LibCore/System.h
+++ b/Userland/Libraries/LibCore/System.h
@@ -263,7 +263,7 @@ private:
     }
 
     struct AddrInfoDeleter {
-        void operator()(struct addrinfo* ptr) { ::freeaddrinfo(ptr); }
+        void operator()(struct addrinfo* ptr) { if (ptr) ::freeaddrinfo(ptr); }
     };
 
     Vector<struct addrinfo> m_addresses {};

Most LibCs we target don't seem to mind if we call ::freeaddrinfo(null)

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

You might be on the right track, I just found https://github.com/NetBSD/src/blob/9bda4630351909a1a74baa7c5b3e2fbb1553b941/lib/libc/net/getaddrinfo.c#L42-L44
I'll try it and report back.

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

And/or does changing LibCore to LibCoreMinimal fix it? (i.e. do we only need librt on the minimal lib)

Thanks.

--- Meta/Lagom/CMakeLists.txt.orig      2024-05-09 21:15:08.421089885 +0000
+++ Meta/Lagom/CMakeLists.txt
@@ -360,7 +360,7 @@ add_serenity_subdirectory(Userland/Libra
 target_link_libraries(LibCore PRIVATE Threads::Threads)
 if (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
     # NetBSD has its shm_open and shm_unlink functions in librt so we need to link that
-    target_link_libraries(LibCore PRIVATE librt.so)
+    target_link_libraries(LibCoreMinimal PRIVATE rt)
 endif()
 if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
     # Solaris has socket and networking related functions in two extra libraries

is enough.

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

Re: addrinfo: Does this patch fix it?

Yes! It seems to do more now. But then it dies in WebContent. Backtrace:

#0  AK::RefCountedBase::deref_base () at /scratch/wip/ladybird-git/work/serenity/AK/RefCounted.h:47
47      /scratch/wip/ladybird-git/work/serenity/AK/RefCounted.h: No such file or directory.
(gdb) bt
#0  AK::RefCountedBase::deref_base () at /scratch/wip/ladybird-git/work/serenity/AK/RefCounted.h:47
#1  AK::RefCounted<JS::SourceCode>::unref () at /scratch/wip/ladybird-git/work/serenity/AK/RefCounted.h:61
#2  AK::unref_if_not_null<JS::SourceCode const> () at /scratch/wip/ladybird-git/work/serenity/AK/NonnullRefPtr.h:32
#3  AK::RefPtr<JS::SourceCode const>::clear () at /scratch/wip/ladybird-git/work/serenity/AK/RefPtr.h:223
#4  AK::RefPtr<JS::SourceCode const>::~RefPtr () at /scratch/wip/ladybird-git/work/serenity/AK/RefPtr.h:103
#5  JS::ASTNode::~ASTNode () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/AST.h:54
#6  JS::Statement::~Statement () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/AST.h:154
#7  JS::ErrorStatement::~ErrorStatement () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/AST.h:223
#8  0x00007e8bd30edea3 in Web::DOM::Element::run_attribute_change_steps () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/DOM/Element.cpp:446
#9  0x00007e8bd311001d in Web::DOM::NamedNodeMap::append_attribute () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp:275
#10 0x00007e8bd3e339c5 in operator()<Web::HTML::HTMLToken::Attribute> ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp:710
#11 call () at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:192
#12 AK::Function<AK::IterationDecision (Web::HTML::HTMLToken::Attribute const&)>::operator()(Web::HTML::HTMLToken::Attribute const&) const ()
    at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:125
#13 Web::HTML::HTMLToken::for_each_attribute(AK::Function<AK::IterationDecision (Web::HTML::HTMLToken::Attribute const&)>) const ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLToken.h:231
#14 0x00007e8bd32b3ba5 in Web::HTML::HTMLParser::create_element_for ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp:707
#15 0x00007e8bd32b4cde in Web::HTML::HTMLParser::insert_foreign_element ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp:762
#16 0x00007e8bd32be5d9 in Web::HTML::HTMLParser::insert_html_element ()
    at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp:793
#17 Web::HTML::HTMLParser::handle_in_head () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp:935
#18 0x00007e8bd32c3344 in Web::HTML::HTMLParser::run () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp:202
#19 0x00007e8bd32c3f47 in Web::HTML::HTMLParser::run () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibWeb/HTML/Parser/HTMLParser.cpp:223
#20 0x00007e8bd3e8ca40 in JS::SafeFunction<void ()>::operator()() const () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibJS/SafeFunction.h:85
#21 AK::Function<void ()>::CallableWrapper<JS::SafeFunction<void ()> >::call() () at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:192
#22 0x00007e8bd1f0f237 in AK::Function<void ()>::operator()() const () at /scratch/wip/ladybird-git/work/serenity/AK/Function.h:125
#23 0x00007e8bd1efdb89 in Core::ThreadEventQueue::process () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/ThreadEventQueue.cpp:108
#24 0x0000000000528e8b in Ladybird::EventLoopManagerQt::event_target_received_event ()
    at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/EventLoopImplementationQt.cpp:154
#25 0x00000000005294fa in Ladybird::EventLoopImplementationQtEventTarget::event ()
    at /scratch/wip/ladybird-git/work/serenity/Ladybird/Qt/EventLoopImplementationQtEventTarget.cpp:13
#26 0x00007e8bd4bd4616 in doNotify (event=<optimized out>, receiver=<optimized out>)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1235
#27 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1218
#28 QCoreApplication::notifyInternal2 (receiver=0x7e8bcc63aa50, event=0x7e8bc71f3a30)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1134
#29 0x00007e8bd4bd494c in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1575
#30 0x00007e8bd4bd866c in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x7e8bcc6173c0)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1932
#31 0x00007e8bd4bd89be in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1789
#32 0x00007e8bd4e2cc2f in postEventSourceDispatch (s=s@entry=0x7e8bcc5d5000)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#33 0x00007e8bd0804b0d in g_main_dispatch (context=context@entry=0x7e8bcc5dc240) at ../glib/gmain.c:3344
#34 0x00007e8bd0807f68 in g_main_context_dispatch_unlocked (context=0x7e8bcc5dc240) at ../glib/gmain.c:4152
#35 g_main_context_iterate_unlocked (context=context@entry=0x7e8bcc5dc240, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4217
#36 0x00007e8bd0808833 in g_main_context_iteration (context=0x7e8bcc5dc240, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#37 0x00007e8bd4e2c3aa in QEventDispatcherGlib::processEvents (this=0x7e8bcc63aa20, flags=...)
    at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#38 0x00007e8bd4bdfe5a in QEventLoop::exec (this=0x7e8bcc5b28d0, flags=...) at /scratch/x11/qt6-qtbase/work/qtbase-everywhere-src-6.7.0/src/corelib/global/qflags.h:34
#39 0x00007e8bd1ee46f9 in Core::EventLoop::exec () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibCore/EventLoop.cpp:88
#40 0x0000000000530301 in serenity_main () at /scratch/wip/ladybird-git/work/serenity/Ladybird/WebContent/main.cpp:171
#41 0x0000000000534916 in main () at /scratch/wip/ladybird-git/work/serenity/Userland/Libraries/LibMain/Main.cpp:43

from serenity.

0-wiz-0 avatar 0-wiz-0 commented on September 26, 2024

That's when I try to visit https://github.com

from serenity.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.