Frequent V8 GC crashes on Redmi Note

367 views
Skip to first unread message

Alexander Timokhin

unread,
Aug 2, 2019, 1:50:27 PM8/2/19
to v8-dev
Hi,

We observe frequent V8 GC crashes with two different callstacks in our product based on Chromium.
This crashes were first encountered in versions based on M73 but we can observe it also in M74 and M75.
Also we can see that most crashes occur on Redmi Note devices and they are one of the top crashes in renderer process in our product on Android.
I found issue https://bugs.chromium.org/p/chromium/issues/detail?id=923254 and it seems to be the same crash.
This issue was merged into other issue (889460) but I haven't permissions to view it, unfortunately.
Can anyone tell me about the status of this issue, please?
Is it already fixed and what is the cause of this problem if it was already investigated (is it hardware cpu bug or software bug)?

Stack 1:

0 libyandexbrowser.so v8::internal::SlotCallbackResult v8::internal::Scavenger::ScavengeObject<v8::internal::FullHeapObjectSlot>(v8::internal::FullHeapObjectSlot, v8::internal::HeapObject) src/memcopy.h:118
1 libyandexbrowser.so v8::internal::Scavenger::ScavengePage(v8::internal::MemoryChunk*) src/heap/scavenger-inl.h:415
2 libyandexbrowser.so v8::internal::ScavengingTask::RunInParallel() src/heap/scavenger.cc:30
3 libyandexbrowser.so v8::internal::ItemParallelJob::Task::RunInternal() src/heap/item-parallel-job.cc:30
4 libyandexbrowser.so base::TaskAnnotator::RunTask(char const*, base::PendingTask*) /base/callback.h:97
5 libyandexbrowser.so base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) /base/task/thread_pool/task_tracker.cc:709
6 libyandexbrowser.so base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, base::TaskTraits const&, bool) /base/task/thread_pool/task_tracker.cc:727
7 libyandexbrowser.so base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, base::TaskTraits const&, bool) /base/task/thread_pool/task_tracker_posix.cc:24
8 libyandexbrowser.so base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::Sequence>) /base/task/thread_pool/task_tracker.cc:427
9 libyandexbrowser.so base::internal::SchedulerWorker::RunWorker() /base/task/thread_pool/scheduler_worker.cc:340
10 libyandexbrowser.so base::internal::SchedulerWorker::RunPooledWorker() /base/task/thread_pool/scheduler_worker.cc:233
11 libyandexbrowser.so base::(anonymous namespace)::ThreadFunc(void*) /base/threading/platform_thread_posix.cc:81
12 libc.so libc.so@0x90328

Stack 2:

0 libyandexbrowser.so void v8::internal::EvacuateVisitorBase::RawMigrateObject<(v8::internal::EvacuateVisitorBase::MigrationMode)0>(v8::internal::EvacuateVisitorBase*, v8::internal::HeapObject, v8::internal::HeapObject, int, v8::internal::AllocationSpace) src/memcopy.h:118
1 libyandexbrowser.so bool v8::internal::LiveObjectVisitor::VisitBlackObjects<v8::internal::EvacuateOldSpaceVisitor, v8::internal::MajorNonAtomicMarkingState>(v8::internal::MemoryChunk*, v8::internal::MajorNonAtomicMarkingState*, v8::internal::EvacuateOldSpaceVisitor*, v8::internal::LiveObjectVisitor::IterationMode, v8::internal::HeapObject*) src/heap/mark-compact.cc:1292
2 libyandexbrowser.so v8::internal::FullEvacuator::RawEvacuatePage(v8::internal::MemoryChunk*, long*) src/heap/mark-compact.cc:2874
3 libyandexbrowser.so v8::internal::Evacuator::EvacuatePage(v8::internal::MemoryChunk*) src/heap/mark-compact.cc:2770
4 libyandexbrowser.so v8::internal::PageEvacuationTask::RunInParallel() src/heap/mark-compact.cc:2910
5 libyandexbrowser.so v8::internal::ItemParallelJob::Task::RunInternal() src/heap/item-parallel-job.cc:30
6 libyandexbrowser.so base::TaskAnnotator::RunTask(char const*, base::PendingTask*) /base/callback.h:97
7 libyandexbrowser.so base::internal::TaskTracker::RunSkipOnShutdown(base::internal::Task*) /base/task/thread_pool/task_tracker.cc:709
8 libyandexbrowser.so base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, base::TaskTraits const&, bool) /base/task/thread_pool/task_tracker.cc:727
9 libyandexbrowser.so base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, base::TaskTraits const&, bool) /base/task/thread_pool/task_tracker_posix.cc:24
10 libyandexbrowser.so base::internal::TaskTracker::RunAndPopNextTask(scoped_refptr<base::internal::Sequence>) /base/task/thread_pool/task_tracker.cc:427
11 libyandexbrowser.so base::internal::SchedulerWorker::RunWorker() /base/task/thread_pool/scheduler_worker.cc:340
12 libyandexbrowser.so base::internal::SchedulerWorker::RunPooledWorker() /base/task/thread_pool/scheduler_worker.cc:233
13 libyandexbrowser.so base::(anonymous namespace)::ThreadFunc(void*) /base/threading/platform_thread_posix.cc:81
14 libc.so libc.so@0x67ec4

Thanks,
Alexander

Yang Guo

unread,
Aug 2, 2019, 2:10:41 PM8/2/19
to v8-...@googlegroups.com
Hi Alexander,

we suspect that Redmi Note has a kernel bug. We reached out to them through Android, but have not heard anything back so far.

Cheers,

Yang

--
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/97348f80-d2c9-4b5f-8e7f-1a89c03c6e63%40googlegroups.com.

Yulun Wu

unread,
Nov 24, 2019, 9:10:50 PM11/24/19
to v8-dev
Hi, Yang

Is any progress on this issue? I found the same crash on Redmi Note in M76.

Thanks.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-...@googlegroups.com.

gd jd

unread,
Dec 11, 2025, 3:16:42 AM (6 days ago) Dec 11
to v8-dev
Hello, I also encountered this error on my vivo x21 device. May I ask if there is a solution or corresponding fix currently?
Version v8 9.8.177  
Reply all
Reply to author
Forward
0 new messages