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 <i...@bnoordhuis.nl> wrote:
> 
> On Fri, Sep 12, 2025 at 8:26 AM 'Mati Cohen' via v8-users
> <v8-users@googlegroups.com> 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
> v8-users@googlegroups.com
> 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 
> v8-users+unsubscr...@googlegroups.com.
> 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
v8-users@googlegroups.com
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 v8-users+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/v8-users/D27EC591-82E7-43AB-B309-D7D01E9B3123%40encircleapp.com.

Reply via email to