Using the default snapshot should be fine, and it should definitely not be
>2GiB in size. Something is weird there. I'd suggest investigating in more
depth (with a Debug build) where that negative size is coming from.


On Fri, Jun 24, 2022 at 7:06 PM Saad Al Abdullah <siamsoft...@gmail.com>
wrote:

> Hello Jakob,
>
> The only possible way to size (int size=-2133860350 <(213)%20386-0350>,
> ...)was negative if there is int overflow. I am not using any external
> snapshot blob during V8 isolate object creation which means V8 is using
> DefaultSnapshotBlob data. I thought every time I create V8 isolate object,
> it'll initialize from DefaultSnapshotBlob data and size is 1047264. Would
> you give me some inside knowledge how snapshot is used during isolate
> object creation if there is no external snapshot provided? Do you think
> should I use an external snapshot object to initialize isolate object?
>
>  Thank you
> Siam
>
> On Fri, Jun 24, 2022 at 6:58 AM Jakob Kummerow <jkumme...@chromium.org>
> wrote:
>
>> AllocateRawOrFail(int size=-2133860350 <(213)%20386-0350>, ...) looks
>> bad. Apparently that request is coming out of the snapshot...
>>
>>
>> On Fri, Jun 24, 2022 at 2:41 AM Saad Al Abdullah <siamsoft...@gmail.com>
>> wrote:
>>
>>> Hello,
>>> I have aspnet core application  and I create V8 isolate object for each
>>> request and dispose end of the request. Sometimes I am seeing
>>> FatalProcessOutOfMemory  exceptions even though I have enough available
>>> physical memory (RAM).  Is there any heap limitation for V8 ?
>>>
>>>
>>>      v8.dll!v8::base::OS::Abort() Line 1114    C++    Symbols loaded.
>>>      v8.dll!v8::Utils::ReportOOMFailure(v8::internal::Isolate *
>>> isolate=0x00000011b07f29f0, const char * location, bool is_heap_oom) Line
>>> 340    C++    Symbols loaded.
>>>
>>>  v8.dll!v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate *
>>> isolate=0x00000203860d4270, const char * location=0x00000011b07f2500, bool
>>> is_heap_oom) Line 306    C++    Symbols loaded.
>>>      v8.dll!v8::internal::Heap::FatalProcessOutOfMemory(const char *
>>> location=0x0000020280d7fac0) Line 6363    C++    Symbols loaded.
>>>      [Inline Frame]
>>> v8.dll!v8::internal::MemoryAllocator::HandleAllocationFailure() Line 294
>>>  C++    Symbols loaded.
>>>
>>>  v8.dll!v8::internal::MemoryAllocator::AllocateAlignedMemory(unsigned
>>> __int64 chunk_size=262144, unsigned __int64 area_size=241664, unsigned
>>> __int64 alignment=262144, v8::internal::Executability
>>> executable=EXECUTABLE, void * hint=0x0000000000000000,
>>> v8::internal::VirtualMemory * controller=0x00000011b07fbff0) Line 249
>>>  C++    Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::MemoryAllocator::AllocateUninitializedChunk(v8::internal::BaseSpace
>>> * space=0x0000020282b99730, unsigned __int64 area_size=241664,
>>> v8::internal::Executability executable=EXECUTABLE, v8::internal::PageSize
>>> page_size=kRegular) Line 357    C++    Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::MemoryAllocator::AllocatePage(v8::internal::MemoryAllocator::AllocationMode
>>> alloc_mode, v8::internal::Space * space=0x0000020282b99730,
>>> v8::internal::Executability executable=EXECUTABLE) Line 546    C++
>>>  Symbols loaded.
>>>      v8.dll!v8::internal::PagedSpace::Expand() Line 346    C++
>>>  Symbols loaded.
>>>      [Inline Frame] v8.dll!v8::internal::PagedSpace::TryExpand(int) Line
>>> 924    C++    Symbols loaded.
>>>      v8.dll!v8::internal::PagedSpace::RawRefillLabMain(int
>>> size_in_bytes, v8::internal::AllocationOrigin origin=kRuntime) Line 974
>>>  C++    Symbols loaded.
>>>      v8.dll!v8::internal::PagedSpace::RefillLabMain(int size_in_bytes,
>>> v8::internal::AllocationOrigin origin) Line 909    C++    Symbols loaded.
>>>
>>>  v8.dll!v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int
>>> size=-30, v8::internal::AllocationType allocation=kCode,
>>> v8::internal::AllocationOrigin origin=kRuntime,
>>> v8::internal::AllocationAlignment alignment=kTaggedAligned) Line 82    C++
>>>    Symbols loaded.
>>>
>>>  v8.dll!v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int
>>> size=128, v8::internal::AllocationType allocation=' ',
>>> v8::internal::AllocationOrigin origin=kRuntime,
>>> v8::internal::AllocationAlignment alignment=kTaggedAligned) Line 108    C++
>>>    Symbols loaded.
>>>      v8.dll!v8::internal::Heap::AllocateRawOrFail(int size=-2133860350
>>> <(213)%20386-0350>, v8::internal::AllocationType allocation=kCode,
>>> v8::internal::AllocationOrigin origin=-1879576767,
>>> v8::internal::AllocationAlignment alignment=kTaggedAligned) Line 209    C++
>>>    Symbols loaded.
>>>      [Inline Frame]
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::Allocate(v8::internal::AllocationType)
>>> Line 1317    C++    Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::ReadObject(v8::internal::SnapshotSpace
>>> space) Line 671    C++    Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::ReadSingleBytecodeData<v8::internal::SlotAccessorForHeapObject>(unsigned
>>> char data, v8::internal::SlotAccessorForHeapObject slot_accessor={...})
>>> Line 939    C++    Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::ReadData(v8::internal::Handle<v8::internal::HeapObject>
>>> object={...}, int start_slot_index, int end_slot_index=8) Line 908    C++
>>>  Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::ReadObject(v8::internal::SnapshotSpace
>>> space) Line 710    C++    Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::ReadSingleBytecodeData<v8::internal::SlotAccessorForRootSlots>(unsigned
>>> char data, v8::internal::SlotAccessorForRootSlots slot_accessor={...}) Line
>>> 939    C++    Symbols loaded.
>>>      [Inline Frame]
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::ReadData(v8::internal::FullMaybeObjectSlot)
>>> Line 920    C++    Symbols loaded.
>>>
>>>  
>>> v8.dll!v8::internal::Deserializer<v8::internal::Isolate>::VisitRootPointers(v8::internal::Root
>>> root=-1333801424, const char * description=0x0000000000000001,
>>> v8::internal::FullObjectSlot start, v8::internal::FullObjectSlot end={...})
>>> Line 293    C++    Symbols loaded.
>>>
>>>  v8.dll!v8::internal::RootVisitor::VisitRootPointer(v8::internal::Root
>>> root, const char * description, v8::internal::FullObjectSlot p) Line 77
>>>  C++    Symbols loaded.
>>>      [Inline Frame]
>>> v8.dll!v8::internal::Heap::IterateBuiltins(v8::internal::RootVisitor *)
>>> Line 5135    C++    Symbols loaded.
>>>      v8.dll!v8::internal::Heap::IterateRoots(v8::internal::RootVisitor *
>>> v=0x00000011b07fce30, v8::base::EnumSet<enum v8::internal::SkipRoot,int>
>>> options={...}) Line 4994    C++    Symbols loaded.
>>> >    v8.dll!v8::internal::StartupDeserializer::DeserializeIntoIsolate()
>>> Line 34    C++    Symbols loaded.
>>>      v8.dll!v8::internal::Isolate::Init(v8::internal::SnapshotData *
>>> startup_snapshot_data=0x00000011b07fd2b0, v8::internal::SnapshotData *
>>> read_only_snapshot_data=0x00000011b07fd298, v8::internal::SnapshotData *
>>> shared_heap_snapshot_data=0x00000011b07fd280, bool can_rehash=false) Line
>>> 4106    C++    Symbols loaded.
>>>      v8.dll!v8::internal::Snapshot::Initialize(v8::internal::Isolate *
>>> isolate=0x00000203860d4270) Line 187    C++    Symbols loaded.
>>>      v8.dll!v8::Isolate::Initialize(v8::Isolate *
>>> isolate=0x00000203860d4270, const v8::Isolate::CreateParams & params={...})
>>> Line 8642    C++    Symbols loaded.
>>>      v8.dll!v8::Isolate::New(const v8::Isolate::CreateParams &
>>> params={...}) Line 8680    C++    Symbols loaded.
>>>      [Inline Frame] v8.dll!V8RuntimeImp::{ctor}(unsigned __int64) Line
>>> 65    C++    Symbols loaded.
>>>      v8.dll!CreateV8RunTime(int max_old_space_in_MB, int
>>> max_semi_space_in_MB, void * * runtimeHandler=0x00000011b07fd678) Line 41
>>>  C++    Symbols loaded.
>>>
>>> --
>>> --
>>> 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 on the web visit
>>> https://groups.google.com/d/msgid/v8-users/3feedcc9-50f9-4a90-97b6-7fc54045c84en%40googlegroups.com
>>> <https://groups.google.com/d/msgid/v8-users/3feedcc9-50f9-4a90-97b6-7fc54045c84en%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> --
>> 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 on the web visit
>> https://groups.google.com/d/msgid/v8-users/CAKSzg3Qvf%3DX4o3MWqupSvGebj_WxpOHmeKuCe8asMMZzp-z1xA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/v8-users/CAKSzg3Qvf%3DX4o3MWqupSvGebj_WxpOHmeKuCe8asMMZzp-z1xA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> --
> 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 on the web visit
> https://groups.google.com/d/msgid/v8-users/CACJW2CvDJ1hN7vCZ2dNExAQKv%3D3z%3DqUJzd8GPD%3DPdBLXe1%3D5Sw%40mail.gmail.com
> <https://groups.google.com/d/msgid/v8-users/CACJW2CvDJ1hN7vCZ2dNExAQKv%3D3z%3DqUJzd8GPD%3DPdBLXe1%3D5Sw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
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 on the web visit 
https://groups.google.com/d/msgid/v8-users/CAKSzg3RomL%2Bhu_OY6Horzcg-_SQdYqg%3DZZxujNO1wAxaR9n9pQ%40mail.gmail.com.

Reply via email to