Actually, not mprotect. madvise, in ReclaimInaccessibleMemory, with both MADV_FREE and MADV_DONTNEED calls failing, both with error code EINVAL.
On Friday, July 6, 2018 at 4:44:00 PM UTC-7, Yvonne Chen wrote: > > Still unable to produce a standalone repo, but I've narrowed down the > issue - eventually, a call to mprotect fails with error code EINVAL, while > trying to create a pre-code guard page. > Probably means there's some system level configuration we have that's not > playing well with v8? > > On Thursday, July 5, 2018 at 3:27:48 PM UTC-7, Yvonne Chen wrote: >> >> It's the case where "if (allocation.To(&free_space))" is false. >> >> I'm currently unable to reproduce this outside of our main codebase into >> a standalone test file, but I'll file a bug if I manage to do so. >> >> On Wednesday, July 4, 2018 at 12:05:30 AM UTC-7, Jakob Gruber wrote: >>> >>> Could you check which 'perform_gc = true' case we reach? See >>> >>> >>> https://cs.chromium.org/chromium/src/v8/src/heap/heap.cc?l=1614&rcl=fe51067f43e7208d06977d5036726360a4539d7b >>> >>> Then please open a bug at http://crbug.com/v8/new. >>> >>> On Wed, Jul 4, 2018 at 12:18 AM, Yvonne Chen <[email protected]> wrote: >>> >>>> Hi, >>>> >>>> I'm in the process of trying to upgrade from v8 6.0.186 to 6.7.288.46. >>>> In heap.cc, the latter now has a check for !deserialization_complete_ >>>> before throwing an OOM error. For some reason, my code can create one >>>> Isolate just fine, but if I try to create another, I run into the error. >>>> The comments in heap.cc suggest a low max old space size as a possible >>>> reason, but my code uses all defaults for heap initial values and >>>> everything worked fine on the previous v8 version, so that seems unlikely >>>> to be the culprit. What other possible cases could result in >>>> deserialization_complete_ being false at this point? Or maybe perform_gc >>>> is >>>> getting set when it's not supposed to be? >>>> >>>> Stack trace, not sure if it helps much though: >>>> >>>> <--- Last few GCs ---> >>>> >>>> >>>> <--- JS stacktrace ---> >>>> >>>> >>>> # >>>> # Fatal process OOM in insufficient memory to create an Isolate >>>> # >>>> >>>> >>>> Thread 12 "threadname" received signal SIGILL, Illegal instruction. >>>> [Switching to Thread 0x7ffff48eb700 (LWP 2646)] >>>> v8::base::OS::Abort () at ../../src/base/platform/platform-posix.cc:381 >>>> 381 V8_IMMEDIATE_CRASH(); >>>> (gdb) bt >>>> #0 v8::base::OS::Abort () at >>>> ../../src/base/platform/platform-posix.cc:381 >>>> #1 0x00000000007bb68a in v8::Utils::ReportOOMFailure () >>>> at ../../src/api.cc:432 >>>> #2 0x00000000007bb887 in v8::internal::V8::FatalProcessOutOfMemory () >>>> at ../../src/api.cc:400 >>>> #3 0x000000000097231c in v8::internal::Heap::ReserveSpace () >>>> at ../../src/heap/heap.cc:1611 >>>> #4 0x0000000000ee7914 in >>>> v8::internal::DefaultDeserializerAllocator::ReserveSpace () at >>>> ../../src/snapshot/default-deserializer-allocator.cc:177 >>>> #5 0x0000000000b87e93 in >>>> v8::internal::StartupDeserializer::DeserializeInto () >>>> at ../../src/snapshot/startup-deserializer.cc:21 >>>> #6 0x00000000009f8593 in v8::internal::Isolate::Init () >>>> at ../../src/isolate.cc:3068 >>>> #7 0x0000000000b87958 in v8::internal::Snapshot::Initialize () >>>> at ../../src/snapshot/snapshot-common.cc:54 >>>> #8 0x00000000007d1208 in v8::IsolateNewImpl () at ../../src/api.cc:8367 >>>> >>>> >>>> -- -- 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]. For more options, visit https://groups.google.com/d/optout.
