base_unittests MemoryDumpManagerTest.PostTaskForSequencedTaskRunner failing |
|||||||||
Issue description
Running this on the v1 chromecast devices is failing with:
[ RUN ] MemoryDumpManagerTest.PostTaskForSequencedTaskRunner
[616:616:1212/104243:2036053718:ERROR:memory_dump_manager.cc(524)] Disabling MemoryDumpProvider "TestDumpProvider". Failed to post task on the task runner provided.
[616:622:1212/104243:2036059629:FATAL:lock_impl_posix.cc(65)] Check failed: rv == 0 (22 vs. 0). Invalid argument
#0 0x0000b6c6ee08 base::debug::StackTrace::StackTrace()
#1 0x0000b6c8a35c logging::LogMessage::~LogMessage()
#2 0x0000b6cc5698 base::internal::LockImpl::Lock()
#3 0x0000b6d10bd4 base::SequencedWorkerPoolOwner::OnHasWork()
#4 0x0000b6cd92de base::SequencedWorkerPool::Inner::SignalHasWork()
#5 0x0000b6cd9d28 base::SequencedWorkerPool::Inner::PostTask()
#6 0x0000b6cda164 base::SequencedWorkerPool::PostSequencedWorkerTask()
#7 0x0000b6be5ace base::trace_event::TestSequencedTaskRunner::PostDelayedTask()
#8 0x0000b6cc9fa8 base::TaskRunner::PostTask()
#9 0x0000b6ce9f7e base::trace_event::MemoryDumpManager::SetupNextMemoryDump()
#10 0x0000b6cea39e base::trace_event::MemoryDumpManager::InvokeOnMemoryDump()
#11 0x0000b6cda9be base::SequencedWorkerPool::Inner::ThreadLoop()
#12 0x0000b6cdb0c4 base::SequencedWorkerPool::Worker::Run()
#13 0x0000b6cdb4fa base::SimpleThread::ThreadMain()
#14 0x0000b6cd6908 base::(anonymous namespace)::ThreadFunc()
[614:615:1212/104243:2036269566:ERROR:kill_posix.cc(84)] Unable to terminate process group 616: No such process
[1/1] MemoryDumpManagerTest.PostTaskForSequencedTaskRunner (CRASHED)
1 test crashed:
MemoryDumpManagerTest.PostTaskForSequencedTaskRunner (../../base/trace_event/memory_dump_manager_unittest.cc:539)
Thought it might be related to https://bugs.chromium.org/p/chromium/issues/detail?id=658766
,
Dec 12 2016
,
Dec 14 2016
,
Jan 12 2017
friendly ping here. Any useful tests I could do on device that might shed some light on the issue?
,
Feb 9 2017
Error 22 returned from pthread_mutex_lock is EINVAL: [EINVAL] The mutex was created with the protocol attribute having the value PTHREAD_PRIO_PROTECT and the calling thread's priority is higher than the mutex's current priority ceiling. or [EINVAL] The value specified by mutex does not refer to an initialised mutex object. according to http://pubs.opengroup.org/onlinepubs/7908799/xsh/pthread_mutex_lock.html If changing the task runners has an impact on this bug I suspect it's because of the first one. Might have something to do with thread priorities and default lock policy on Chromecast? We could also consider using PTHREAD_PRIO_INHERIT instead but robliao@ discovered it was broken on most POSIX impls... (broken on Linux and not implemented on Android...) This bug is related to the Chromecast framework IMO.
,
Feb 10 2017
Thanks for the feedback! I can experiment with setting PTHREAD_PRIO_INHERIT and see if it makes a difference.
,
Feb 16 2017
,
Feb 16 2017
,
Feb 16 2017
,
Nov 21 2017
mbjorge: Did you verify whether PTHREAD_PRIO_INHERIT addresses this?
,
Nov 21 2017
:( sorry, no, this one fell off my radar and I'm on a rotation with another team for the next several months, so likely won't have a chance to look at it. bcf@ do you have any bandwidth to try out the suggestion in #5?
,
Sep 10
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by mbjorge@google.com
, Dec 12 2016