Whoops, correction: It's actually copied_list that has work left, not promotion_list.
On Wednesday, December 5, 2018 at 3:37:20 PM UTC-8, Kenton Varda wrote: > > Hi v8-users, > > I recently refactored the way that I integrate with V8's garbage > collection in my application, and after the refactor I am (very rarely) > hitting a fatal error that I don't understand: > > # > # Fatal error in , line 0 > # Check failed: IsEmpty(). > # > > stack: > ____ base/platform/platform-posix.cc:402 v8::base::OS::Abort() > ____ base/logging.cc:171 V8_Fatal(char const*, int, char const*, ...) > ____ heap/worklist.h:72 > v8::internal::Worklist<std::__1::pair<v8::internal::HeapObject*, int>, > 256>::~Worklist() > ____ heap/scavenger.cc:288 > v8::internal::ScavengerCollector::CollectGarbage() > ____ heap/heap.cc:1931 v8::internal::Heap::Scavenge() > ____ heap/heap.cc:1649 > v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, > v8::GCCallbackFlags) > ____ heap/heap.cc:1292 > v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, > v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) > ____ heap/heap.cc:4264 v8::internal::Heap::AllocateRawWithLightRetry(int, > v8::internal::AllocationSpace, v8::internal::AllocationAlignment) > ____ heap/heap.cc:4278 v8::internal::Heap::AllocateRawWithRetryOrFail(int, > v8::internal::AllocationSpace, v8::internal::AllocationAlignment) > ____ heap/factory.cc:120 AllocateRawWithImmortalMap > ____ heap/factory.cc:972 (inlined by) NewRawTwoByteString > ____ heap/factory.cc:636 > v8::internal::Factory::NewStringFromUtf8(v8::internal::Vector<char const>, > v8::internal::PretenureFlag) > ____ api.cc:6459 NewString > ____ api.cc:6519 (inlined by) NewFromUtf8 > (... application code ...) > > It looks like the Worklist being destroyed here is > Scavenger::PromotionList::regular_object_promotion_list_. This Worklist is > being destroyed at the end of ScavengerCollector::CollectGarbage(), but is > non-empty when destroyed. > > I don't understand how this code works, so I don't really have any idea > what might lead to that. Any hints on what I should be looking for in my > code that might be causing this? > > -Kenton > -- -- 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. For more options, visit https://groups.google.com/d/optout.