I'm willing to recompile the latest stable version. I am looking at build_config.h and for it's using the following implementation:
#if (defined(V8_OS_MACOS) && defined(V8_HOST_ARCH_ARM64)) || \ (defined(V8_OS_ANDROID) && \ (defined(V8_HOST_ARCH_ARM64) || defined(V8_HOST_ARCH_X64))) || \ defined(V8_HOST_ARCH_LOONG64) || defined(V8_HOST_ARCH_MIPS64) || \ defined(V8_OS_IOS) // Android 64 bit has experimental support for 16kB pages. // MacOS & iOS on arm64 uses 16kB pages. // LOONG64 and MIPS64 also use 16kB pages. constexpr int kMinimumOSPageSize = 16 * 1024; #elif defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID) && \ (defined(V8_HOST_ARCH_ARM64) || defined(V8_HOST_ARCH_PPC64)) // Linux on arm64 (excluding android) and PPC64 can be configured for up to 64kB // pages. constexpr int kMinimumOSPageSize = 64 * 1024; #else // Everything else uses 4kB pages. constexpr int kMinimumOSPageSize = 4 * 1024; #endif Sorry for my ignorance, but does it mean that all Android devices with *arm64-v8a* and *x86_64* architectures will use a size of 16KB. Is this correct? I am trying to understand if there are devices with *arm64-v8a* and *x86_64* architectures which still use 4KB for page sizes. Thanks, Matias. On Saturday, September 13, 2025 at 7:17:56 AM UTC-4 Ben Noordhuis wrote: > Assuming recompiling is not a problem for you: just edit > build_config.h and change it to 16k. > > IIRC, stdout and stderr are not normally hooked up to anything on > Android but it should be possible to freopen them to a log file. > > On Fri, Sep 12, 2025 at 4:15 PM 'Matias Cohen' via v8-users > <[email protected]> wrote: > > > > Thanks Ben. > > > > Yeah, that’s strange. I also noticed that SetDataReadOnly didn’t exist > in 10.4.132. Moreover, the V8_FATAL exception that is raised was added even > later. Maybe my records about 10.4.132 are wrong, but I am sure that we > built v8 last time in August 2022, so I can’t explain it. > > > > Android Studio don’t show any error message more than the stacktrace I > already shared. > > > > My guess is that kMinimumOSPageSize was still 4KB for Android back then > when I built v8 (yet I can’t explain why SetDataReadOnly is part of the > stacktrace). > > > > Is there any way for me to overwrite kMinimumOSPageSize from “outside” > v8, just to test if that makes a difference? > > > > Thanks! > > > > > On Sep 12, 2025, at 5:20 AM, Ben Noordhuis <[email protected]> > wrote: > > > > > > On Fri, Sep 12, 2025 at 8:26 AM 'Mati Cohen' via v8-users > > > <[email protected]> wrote: > > >> > > >> Hi, > > >> > > >> My app is using v8 to run a JS environment. Last time I built v8 was > about 3 years ago by pointing to 10.4.132. > > >> > > >> As per Google policy, my app needs to support 16 KB page size and > I've been checking all my dependencies to meet that criteria. > > >> > > >> Apparently, based on my checks, my v8 build does support it and I > managed to run the app on my device. > > >> However, v8 is crashing as soon as I call V8::Initialize(); with the > following stack trace: > > >> > > >> /base.apk!liben8.so (offset 0x8ad8000) (v8::base::OS::Abort()+28) > > >> /base.apk!liben8.so (offset 0x8ad8000) (V8_Fatal(char const*, > ...)+376) > > >> /base.apk!liben8.so (offset 0x8ad8000) > (v8::base::OS::SetDataReadOnly(void*, unsigned long)+52) > > >> /base.apk!liben8.so (offset 0x8ad8000) > (v8::internal::V8::Initialize()+1552) > > >> /base.apk!liben8.so (offset 0x8ad8000) (v8::V8::Initialize(int)+28) > > >> /base.apk!liben8.so (offset 0x8ad8000) > (Runtime::Runtime(_JNIEnv*)+172) > > >> > > >> As explained at > https://www.google.com/url?q=https://developer.android.com/guide/practices/page-sizes%23check-code&source=gmail-imap&ust=1758273654000000&usg=AOvVaw2eBFhXRa0E0P-iWsikoJCW, > > I was trying to look for references to PAGE_SIZE and 4096 to see if I was > setting up something wrong, but I didn't find anything. > > >> > > >> Does anyone have any knowledge about this? > > >> Thanks a lot, > > >> Mati > > > > > > V8 doesn't use PAGE_SIZE, it uses sysconf(_SC_PAGESIZE). > > > > > > You mention 10.4.132 but that stack trace is from a different version, > > > isn't it? Because SetDataReadOnly didn't exist back then. > > > > > > It crashes when trying to mprotect(PROT_READ) the command line flags, > > > v8_flags. v8_flags is aligned to kMinimumOSPageSize and that _should_ > > > be 16k on Android but you'll want to double-check that. It's defined > > > in src/base/build_config.h. > > > > > > What error message did V8 print? > > > > > > -- > > > -- > > > v8-users mailing list > > > [email protected] > > > > https://www.google.com/url?q=http://groups.google.com/group/v8-users&source=gmail-imap&ust=1758273654000000&usg=AOvVaw3Vi2w6FFQXBkM9c-JZXWPp > > > --- > > > You received this message because you are subscribed to a topic in the > Google Groups "v8-users" group. > > > To unsubscribe from this topic, visit > https://www.google.com/url?q=https://groups.google.com/d/topic/v8-users/7XDxoIaXdV4/unsubscribe&source=gmail-imap&ust=1758273654000000&usg=AOvVaw0flrzsS8NN-9t4czOPfrqp > . > > > To unsubscribe from this group and all its topics, send an email to > [email protected]. > > > To view this discussion visit > https://www.google.com/url?q=https://groups.google.com/d/msgid/v8-users/CAHQurc-SN0whK9Y3U8%253DSEdMPOVJLfhQ7fVPcqUi_kAjDJywGeQ%2540mail.gmail.com&source=gmail-imap&ust=1758273654000000&usg=AOvVaw0W3G7qAhJMvkfEdoop6uqR > . > > > > -- > > -- > > v8-users mailing list > > [email protected] > > http://groups.google.com/group/v8-users > > --- > > You received this message because you are subscribed to the Google > Groups "v8-users" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected]. > > To view this discussion visit > https://groups.google.com/d/msgid/v8-users/D27EC591-82E7-43AB-B309-D7D01E9B3123%40encircleapp.com > . > -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/v8-users/759c5f1b-0824-4a79-917a-07acab42f7aan%40googlegroups.com.
