Issue metadata
Sign in to add a comment
|
Startup tracing on Linux DCHECKs |
||||||||||||||||||||||
Issue description
Startup tracing on Linux fails at the last stages of tracing with:
[100429:100458:0314/140512.042275:FATAL:timer.cc(194)] Check failed: thread_id_ == 0 || thread_id_ == static_cast<int>(PlatformThread::CurrentId()).
#0 0x7f7b307eea97 base::debug::StackTrace::StackTrace()
#1 0x7f7b3080872b logging::LogMessage::~LogMessage()
#2 0x7f7b30867055 base::Timer::~Timer()
#3 0x7f7b3086f1ac base::trace_event::MemoryDumpScheduler::~MemoryDumpScheduler()
#4 0x7f7b3086d6b8 base::trace_event::MemoryDumpManager::OnTraceLogDisabled()
#5 0x7f7b3087f7aa base::trace_event::TraceLog::SetDisabledWhileLocked()
#6 0x7f7b3087f4ad base::trace_event::TraceLog::SetDisabled()
#7 0x7f7b2f4bb179 content::TracingControllerImpl::SetDisabledOnFileThread()
#8 0x7f7b3089e4b9 base::debug::TaskAnnotator::RunTask()
#9 0x7f7b3080fa7d base::MessageLoop::RunTask()
#10 0x7f7b30810126 base::MessageLoop::DoWork()
#11 0x7f7b30813039 base::MessagePumpLibevent::Run()
#12 0x7f7b3080f7ce base::MessageLoop::RunHandler()
#13 0x7f7b30836bbc base::RunLoop::Run()
#14 0x7f7b308616fc base::Thread::Run()
#15 0x7f7b2f0c16a5 content::BrowserThreadImpl::FileThreadRun()
#16 0x7f7b2f0c1a9c content::BrowserThreadImpl::Run()
#17 0x7f7b30861c18 base::Thread::ThreadMain()
#18 0x7f7b3085ab9c base::(anonymous namespace)::ThreadFunc()
#19 0x7f7b2dbb3184 start_thread
#20 0x7f7b2762437d clone
I've built with dcheck_always_on = true.
trace.config:
{
"startup_duration": 50,
"result_file": "/usr/local/google/code/clankium/src/trace.json",
"trace_config": {
"included_categories": ["disabled-by-default-memory-infra"],
"excluded_categories": ["*"],
"memory_dump_config": {
"heap_profiler_options": {
"breakdown_threshold_bytes": 1024
},
"triggers": [
{"mode":"detailed", "periodic_interval_ms": 40000}
]
}
}
}
,
Mar 16 2017
It looks like this is not only for startup tracing. I get this for normal trace recording, too, on tot. - go to about://tracing and hit record. - select memory-infra and hit record. - open some tabs and wait until the buffer is full or almost full (do not stop recording). - chrome crashes with the following: [11098:11098:0316/132502.228493:FATAL:thread_restrictions.cc(38)] Check failed: false. Function marked as IO-only was called from a thread that disallows IO! If this thread really should be allowed to make IO calls, adjust the call to base::ThreadRestrictions::SetIOAllowed() in this thread's startup. #0 0x7f9da00e8af7 base::debug::StackTrace::StackTrace() #1 0x7f9da010ce1b logging::LogMessage::~LogMessage() #2 0x7f9da018f645 base::ThreadRestrictions::AssertIOAllowed() #3 0x7f9da0183eba base::PlatformThread::Join() #4 0x7f9da018b690 base::Thread::Stop() #5 0x7f9da01a059b base::trace_event::MemoryDumpManager::OnTraceLogDisabled() #6 0x7f9da01ba5fa base::trace_event::TraceLog::SetDisabledWhileLocked() #7 0x7f9da01b6dba base::trace_event::TraceLog::ThreadLocalEventBuffer::AddTraceEvent() #8 0x7f9da01bcb67 base::trace_event::TraceLog::AddTraceEventWithThreadIdAndTimestamp() #9 0x7f9da00e970a base::debug::TaskAnnotator::RunTask() #10 0x7f9da011a2dd base::MessageLoop::RunTask() #11 0x7f9da011ab4e base::MessageLoop::DoDelayedWork() #12 0x7f9da011cc10 base::(anonymous namespace)::WorkSourceDispatch() #13 0x7f9d9910ce04 g_main_context_dispatch #14 0x7f9d9910d048 <unknown> #15 0x7f9d9910d0ec g_main_context_iteration #16 0x7f9da011c946 base::MessagePumpGlib::Run() #17 0x7f9da011a02e base::MessageLoop::RunHandler() #18 0x7f9da014e91c base::RunLoop::Run() #19 0x7f9da13385fa ChromeBrowserMainParts::MainMessageLoopRun() #20 0x7f9d9d7f5989 content::BrowserMainLoop::RunMainMessageLoopParts() #21 0x7f9d9d7f9917 content::BrowserMainRunnerImpl::Run() #22 0x7f9d9d7f0b4e content::BrowserMain() #23 0x7f9d9e01ad83 content::RunNamedProcessTypeMain() #24 0x7f9d9e01ba96 content::ContentMainRunnerImpl::Run() #25 0x7f9d9e01a120 content::ContentMain() #26 0x7f9da0c1a291 ChromeMain #27 0x7f9d96707f45 __libc_start_main #28 0x7f9da0c1a129 <unknown>
,
Mar 16 2017
,
Mar 16 2017
Wait these 2 are different issues. The first issue is because the timer is not stopped in right thread. The second issue is Thread::Stop is not allowed on any thread, but only file thread. Can you file a different bug for this? I am scared it'll get missed after fixing one of these issues.
,
Mar 16 2017
Oh, sorry. Filed 702289.
,
Aug 1
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by ssid@chromium.org
, Mar 15 2017