The header comment for v8::internal::*SlotSet::Iterate* says: // Iterate over all slots in the set and for each slot invoke the callback. // If the callback returns REMOVE_SLOT then the slot is removed from the set. // Returns the new number of slots. // This method should only be called on the main thread.
However, we are seeing dumps from crashes in GC with the following callstacks on background threads: 0:*013*> kc00 v8::internal::MemoryChunk::InYoungGeneration01 v8::internal::Heap::InYoungGeneration02 v8::internal::Scavenger::ScavengeObject<v8::internal::FullHeapObjectSlot>03 v8::internal::Scavenger::CheckAndScavengeObject04 v8::internal::Scavenger::ScavengePage::<unnamed-tag>::operator()05 v8::internal::*SlotSet::Iterate*06 v8::internal::RememberedSet<v8::internal::OLD_TO_NEW>::Iterate07 v8::internal::Scavenger::ScavengePage08 v8::internal::PageScavengingItem::Process09 v8::internal::ScavengingTask::RunInParallel V8 crashes because the slots, retrieved by SlotSet::Iterate, point into ranges that have been already marked as FREE_SPACE_TYPE. Could someone please confirm whether the comment is accurate and could explain the crashes? Thanks! -- -- v8-dev mailing list [email protected] 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/22d08655-e425-448d-967f-de20762ad713%40googlegroups.com.
