We use CrashKey in the SetPartitionAllocOomCallback() method to collect the memory information of v8 and blink when the render process is OOM.
However, for the OOM generated by TerminateBecauseOutOfMemory(), RunPartitionAllocOomCallback() will not be executed, resulting in the inability to collect relevant memory information.
Is it possible to make all OOMs call the RunPartitionAllocOomCallback() method?
--For example, the OOM generated by base::DiscardableMemoryAllocator::AllocateLockedDiscardableMemoryWithRetryOrDie() below will not call the RunPartitionAllocOomCallback() method#7 Thread 38052 [ThreadPoolForegroundWorker] (crashed)0 KERNELBASE.dll + 0xc9f0a!RaiseException + 0x8arax = 0x000000f4d7ffdef0 rdx = 0x0000000000000000rcx = 0x0000000000000026 rbx = 0x000000f4d7ffe780rsi = 0x0000000000000001 rdi = 0x00000000e0000008rbp = 0x0000000000000001 rsp = 0x000000f4d7ffe660r8 = 0x0000000000000000 r9 = 0x0000000000000000r10 = 0xaaaaaaaa00000010 r11 = 0x0000000000000000r12 = 0x0000721c094f3a80 r13 = 0x0000000000000000r14 = 0x0000721c006f4180 r15 = 0x000000f4d7ffe7e8rip = 0x00007ffe4e5f9f0aFound by: given as instruction pointer in context1 KERNELBASE.dll + 0xc9f0a!RaiseException + 0x8arsp = 0x000000f4d7ffe698 rip = 0x00007ffe4e5f9f0aFound by: stack scanning2 frame.dll + 0x7dd2821!allocator_shim::internal::PartitionFree(allocator_shim::AllocatorDispatch const*, void*, void*) [D:\0713\x64\release-native-7.44.0\base\allocator\partition_allocator\src\partition_alloc\shim\allocator_shim_default_dispatch_to_partition_alloc.cc : 375 + 0xd]rsp = 0x000000f4d7ffe720 rip = 0x00007ffd993a2821Found by: stack scanning3 frame.dll + 0x1567178!base::DiscardableMemoryAllocator::AllocateLockedDiscardableMemoryWithRetryOrDie(unsigned long long, base::OnceCallback<void ()>) [D:\0713\x64\release-native-7.44.0\base\memory\discardable_memory_allocator.cc : 49 + 0x8]rbx = 0x0000000000adb9bc rsi = 0x000000f4d7ffecd0rdi = 0x00007ffd9a9053f9 rbp = 0x0000000000adb9bcrsp = 0x000000f4d7ffe7c0 r12 = 0x0000721c094f3a80r13 = 0x0000000000000000 r14 = 0x0000721c006f4180r15 = 0x000000f4d7ffe7e8 rip = 0x00007ffd92b37178Found by: call frame info4 frame.dll + 0xc46e30!cc::GpuImageDecodeCache::DecodeImageIfNecessary(cc::DrawImage const&, cc::GpuImageDecodeCache::ImageData*, cc::ImageDecodeCache::TaskType, bool) [D:\0713\x64\release-native-7.44.0\cc\tiles\gpu_image_decode_cache.cc : 2469 + 0x20]rbx = 0x0000000000000000 rsi = 0x0000721c0535eb00rdi = 0x0000721c006f4180 rbp = 0x0000000000adb9bcrsp = 0x000000f4d7ffe830 r12 = 0x0000721c014cd800r13 = 0x0000000000000000 r14 = 0x0000721c054394d0r15 = 0x0000000000000000 rip = 0x00007ffd92216e30Found by: call frame info5 frame.dll + 0x149e0ab!cc::GpuImageDecodeCache::DecodeImageAndGenerateDarkModeFilterIfNecessary(cc::DrawImage const&, cc::GpuImageDecodeCache::ImageData*, cc::ImageDecodeCache::TaskType) [D:\0713\x64\release-native-7.44.0\cc\tiles\gpu_image_decode_cache.cc : 2393 + 0x15]Found by: inline record6 frame.dll + 0x149e0ab!cc::GpuImageDecodeCache::DecodeImageInTask(cc::DrawImage const&, cc::ImageDecodeCache::TaskType) [D:\0713\x64\release-native-7.44.0\cc\tiles\gpu_image_decode_cache.cc : 1975 + 0x15]Found by: inline record7 frame.dll + 0x149e0ac!cc::GpuImageDecodeTaskImpl::RunOnWorkerThread() [D:\0713\x64\release-native-7.44.0\cc\tiles\gpu_image_decode_cache.cc : 644 + 0x16]rbx = 0x0000721c05439480 rsi = 0x0000721c0535eb00rdi = 0x000000f4d7ffefc0 rbp = 0x0000000000000000rsp = 0x000000f4d7ffeed0 r12 = 0x0000721c014cd850r13 = 0x0000721c00232e20 r14 = 0x0000721c054394d0r15 = 0x0000721c014cd800 rip = 0x00007ffd92a6e0acFound by: call frame info8 frame.dll + 0x893c5b1!cc::CategorizedWorkerPoolJob::Run(base::span<const cc::TaskCategory,18446744073709551615,const cc::TaskCategory *>, base::JobDelegate*) [D:\0713\x64\release-native-7.44.0\cc\raster\categorized_worker_pool.cc : 550 + 0xc]rbx = 0x0000721c00232e48 rsi = 0x0000000000000002rdi = 0x0000000000000000 rbp = 0x0000721c00232c00rsp = 0x000000f4d7fff010 r12 = 0x000000f4d7fff160r13 = 0x0000721c00232e20 r14 = 0x0000721c00232e18r15 = 0x0000721c00232e30 rip = 0x00007ffd99f0c5b1Found by: call frame info
You received this message because you are subscribed to the Google Groups "memory-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to memory-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/memory-dev/84c73510-872a-45e6-ac8c-0f5afba0c7bfn%40chromium.org.
You received this message because you are subscribed to the Google Groups "memory-safety-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to memory-safety-...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/memory-safety-dev/CAN0uC_QgD%3DZH2J3U15yqJjXtw_wrEe0vEcGCHY1YsVok%3DgDjNg%40mail.gmail.com.