Issue metadata
Sign in to add a comment
|
FATAL:memory_allocator_dump.cc(89)] Check failed: false. |
||||||||||||||||||||||||
Issue description[80194:41475:0513/102942.379106:FATAL:memory_allocator_dump.cc(89)] Check failed: false. 0 libbase.dylib 0x0000000106d1661e base::debug::StackTrace::StackTrace(unsigned long) + 174 1 libbase.dylib 0x0000000106d166bd base::debug::StackTrace::StackTrace(unsigned long) + 29 2 libbase.dylib 0x0000000106d14b4c base::debug::StackTrace::StackTrace() + 28 3 libbase.dylib 0x0000000106db3acf logging::LogMessage::~LogMessage() + 479 4 libbase.dylib 0x0000000106db1445 logging::LogMessage::~LogMessage() + 21 5 libbase.dylib 0x00000001070413f4 base::trace_event::MemoryAllocatorDump::AddString(char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 180 6 libcontent.dylib 0x000000011f83598a content::LevelDBDatabase::OnMemoryDump(base::trace_event::MemoryDumpArgs const&, base::trace_event::ProcessMemoryDump*) + 874 7 libbase.dylib 0x000000010704aad4 base::trace_event::MemoryDumpManager::InvokeOnMemoryDump(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*) + 1220 8 libbase.dylib 0x0000000107057668 void base::internal::FunctorTraits<void (base::trace_event::MemoryDumpManager::*)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), void>::Invoke<base::trace_event::MemoryDumpManager*, base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*>(void (base::trace_event::MemoryDumpManager::*)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), base::trace_event::MemoryDumpManager*&&, base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*&&) + 152 9 libbase.dylib 0x000000010705755f void base::internal::InvokeHelper<false, void>::MakeItSo<void (base::trace_event::MemoryDumpManager::*)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), base::trace_event::MemoryDumpManager*, base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*>(void (base::trace_event::MemoryDumpManager::*&&)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), base::trace_event::MemoryDumpManager*&&, base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*&&) + 95 10 libbase.dylib 0x00000001070574d0 void base::internal::Invoker<base::internal::BindState<void (base::trace_event::MemoryDumpManager::*)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager>, base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState> >, void ()>::RunImpl<void (base::trace_event::MemoryDumpManager::*)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), std::__1::tuple<base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager>, base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState> >, 0ul, 1ul>(void (base::trace_event::MemoryDumpManager::*&&)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), std::__1::tuple<base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager>, base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState> >&&, base::IndexSequence<0ul, 1ul>) + 144 11 libbase.dylib 0x00000001070573d9 base::internal::Invoker<base::internal::BindState<void (base::trace_event::MemoryDumpManager::*)(base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState*), base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager>, base::internal::UnretainedWrapper<base::trace_event::MemoryDumpManager::ProcessMemoryDumpAsyncState> >, void ()>::RunOnce(base::internal::BindStateBase*) + 57 12 libbase.dylib 0x0000000106cb401f base::Callback<void (), (base::internal::CopyMode)0, (base::internal::RepeatMode)0>::Run() + 95 13 libbase.dylib 0x0000000106d18b60 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 1024 14 libbase.dylib 0x0000000106e0af2e base::MessageLoop::RunTask(base::PendingTask*) + 894 15 libbase.dylib 0x0000000106e0b480 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 64 16 libbase.dylib 0x0000000106e0bbcc base::MessageLoop::DoWork() + 668 17 libbase.dylib 0x0000000106e1bcb8 base::MessagePumpCFRunLoopBase::RunWork() + 104 18 libbase.dylib 0x0000000106e1bc3c ___ZN4base24MessagePumpCFRunLoopBase13RunWorkSourceEPv_block_invoke + 28 19 libbase.dylib 0x0000000106dbbe2a base::mac::CallWithEHFrame(void () block_pointer) + 10 20 libbase.dylib 0x0000000106e1b1a5 base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 101 21 CoreFoundation 0x00007fffb56dd3c1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 22 CoreFoundation 0x00007fffb56be2cd __CFRunLoopDoSources0 + 557 23 CoreFoundation 0x00007fffb56bd7c6 __CFRunLoopRun + 934 24 CoreFoundation 0x00007fffb56bd1c4 CFRunLoopRunSpecific + 420 25 libbase.dylib 0x0000000106e1c34c base::MessagePumpCFRunLoop::DoRun(base::MessagePump::Delegate*) + 76 26 libbase.dylib 0x0000000106e1b9fa base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 122 27 libbase.dylib 0x0000000106e0a9c5 base::MessageLoop::RunHandler() + 453 28 libbase.dylib 0x0000000106ef9f4b base::RunLoop::Run() + 267 29 libbase.dylib 0x0000000106ff97b5 base::Thread::Run(base::RunLoop*) + 405 30 libbase.dylib 0x0000000106ffa593 base::Thread::ThreadMain() + 2403 31 libbase.dylib 0x0000000106fd2f18 base::(anonymous namespace)::ThreadFunc(void*) + 632 32 libsystem_pthread.dylib 0x00007fffcb0399af _pthread_body + 180 33 libsystem_pthread.dylib 0x00007fffcb0398fb _pthread_body + 0 34 libsystem_pthread.dylib 0x00007fffcb039101 thread_start + 13 Trace/BPT trap: 5
,
May 13 2017
I think that the NOTREACHED() just shouldn't be there. It fails into the anti-pattern of NOTREACHED, then continue to function correctly.
,
May 15 2017
Don't see a problem with #2, notreached == dcheck(false). The real problem here is that some mdp is doing something wrong that it shouldn't do. It doesn't have to be a fatal failure, perhaps the consequences is just spamming the trace or injecting things that will be dropped on the floor. In any case we want the notreached, as that is the only way to spot these problems, and want to fix the root cause. I am trying to catch up with the train of cls, did you remove the notreached somewhere in your cls ?
,
May 15 2017
Yes, I did. But yo uhaven't reviewed it yet. Still waiting for a review on https://codereview.chromium.org/2883693002/
,
May 15 2017
ok I see the problem, LevelDBDatabase::OnMemoryDump in content/browser/indexed_db/leveldb/leveldb_database.cc is missing a BACKGROUND check (similar to the one in components/leveldb_proto/leveldb_database.cc), so it's actually spamming BACKGROUND traces with extra stuff. The only thing I can't understand is why the TracingBrowserTest.MAYBE_TestBackgroundMemoryInfra didn't hit this? Maybe browsertests are not built with dcheck_always_enabled, and that's on only for unittests? dunno. Anyways, you can comment out and put a TODO + bug (although honestly this rush is accumulating a storm of todos and bugs which is becoming non-trivial), but we should really fix that leveldb code.
,
May 15 2017
,
May 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a8b7cbcec01902e7b7f558e4816577e497828c33 commit a8b7cbcec01902e7b7f558e4816577e497828c33 Author: primiano <primiano@chromium.org> Date: Mon May 15 18:14:20 2017 memory-infra: skip IndexedDB file name in BACKGROUND dumps Strings are not allowed in BACKGROUND dumps and suballocations are skipped anyways. Omitting it as the code is hitting a DCHECK. BUG= 722052 Review-Url: https://codereview.chromium.org/2880973002 Cr-Commit-Position: refs/heads/master@{#471831} [modify] https://crrev.com/a8b7cbcec01902e7b7f558e4816577e497828c33/content/browser/indexed_db/leveldb/leveldb_database.cc
,
May 16 2017
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by erikc...@chromium.org
, May 13 2017