New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 759809 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android
Pri: 2
Type: Bug



Sign in to add a comment

os metrics provider crashes if child process dies

Project Member Reported by ssid@chromium.org, Aug 28 2017

Issue description

Background context: go/memory-infra

[15100:15100:0825/171526.505486:FATAL:os_metrics_linux.cc(33)] Check failed: fd.is_valid(). 
#0 0x7f1be805d36d base::debug::StackTrace::StackTrace()
#1 0x7f1be805b73c base::debug::StackTrace::StackTrace()
#2 0x7f1be80ebc5a logging::LogMessage::~LogMessage()
#3 0x7f1bd86c825b memory_instrumentation::(anonymous namespace)::OpenStatm()
#4 0x7f1bd86c7b21 memory_instrumentation::OSMetrics::FillOSMemoryDump()
#5 0x7f1bd86b9612 memory_instrumentation::ClientProcessImpl::RequestOSMemoryDump()
#6 0x7f1bd86e9340 memory_instrumentation::mojom::ClientProcessStubDispatch::AcceptWithResponder()
#7 0x7f1bd86bf899 memory_instrumentation::mojom::ClientProcessStub<>::AcceptWithResponder()
#8 0x7f1be3dfe57d mojo::InterfaceEndpointClient::HandleValidatedMessage()
#9 0x7f1be3dfdca1 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept()
#10 0x7f1be3dfbfdc mojo::FilterChain::Accept()
#11 0x7f1be3e01b21 mojo::InterfaceEndpointClient::HandleIncomingMessage()
#12 0x7f1be3e1a1b7 mojo::internal::MultiplexRouter::ProcessIncomingMessage()
#13 0x7f1be3e196cd mojo::internal::MultiplexRouter::Accept()
#14 0x7f1be3dfbfdc mojo::FilterChain::Accept()
#15 0x7f1be3deebc4 mojo::Connector::ReadSingleMessage()
#16 0x7f1be3defc2a mojo::Connector::ReadAllAvailableMessages()
#17 0x7f1be3def9ee mojo::Connector::OnHandleReadyInternal()
#18 0x7f1be3def8cb mojo::Connector::OnWatcherHandleReady()
#19 0x7f1be3df331f _ZN4base8internal13FunctorTraitsIMN4mojo9ConnectorEFvjEvE6InvokeIPS3_JjEEEvS5_OT_DpOT0_
#20 0x7f1be3df324f _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN4mojo9ConnectorEFvjEJPS5_jEEEvOT_DpOT0_
#21 0x7f1be3df31e5 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEEOj
#22 0x7f1be3df3124 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEOj
#23 0x7f1be3de8dec _ZNKR4base8CallbackIFvjELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEj
#24 0x7f1be3df22bf mojo::SimpleWatcher::DiscardReadyState()
#25 0x7f1be3df2534 _ZN4base8internal13FunctorTraitsIPFvRKNS_8CallbackIFvjELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEjRKN4mojo18HandleSignalsStateEEvE6InvokeIJS8_jSC_EEEvSE_DpOT_
#26 0x7f1be3df24e0 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKPFvRKNS_8CallbackIFvjELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEjRKN4mojo18HandleSignalsStateEEJSA_jSE_EEEvOT_DpOT0_
#27 0x7f1be3df2480 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_8CallbackIFvjELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEjRKN4mojo18HandleSignalsStateEEJS7_EEEFvjSD_EE7RunImplIRKSF_RKNSt3__15tupleIJS7_EEEJLm0EEEEvOT_OT0_NSM_16integer_sequenceImJXspT1_EEEEOjSD_
#28 0x7f1be3df23b4 _ZN4base8internal7InvokerINS0_9BindStateIPFvRKNS_8CallbackIFvjELNS0_8CopyModeE1ELNS0_10RepeatModeE1EEEjRKN4mojo18HandleSignalsStateEEJS7_EEEFvjSD_EE3RunEPNS0_13BindStateBaseEOjSD_
#29 0x7f1be3da287c _ZNKR4base8CallbackIFvjRKN4mojo18HandleSignalsStateEELNS_8internal8CopyModeE1ELNS6_10RepeatModeE1EE3RunEjS4_
#30 0x7f1be3da1e35 mojo::SimpleWatcher::OnHandleReady()
#31 0x7f1be3da33d3 _ZN4base8internal13FunctorTraitsIMN4mojo13SimpleWatcherEFvijRKNS2_18HandleSignalsStateEEvE6InvokeIRKNS_7WeakPtrIS3_EEJRKiRKjS6_EEEvS8_OT_DpOT0_
#32 0x7f1be3da32e5 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN4mojo13SimpleWatcherEFvijRKNS4_18HandleSignalsStateEERKNS_7WeakPtrIS5_EEJRKiRKjS8_EEEvOT_OT0_DpOT1_
#33 0x7f1be3da3242 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE
#34 0x7f1be3da30bc _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE3RunEPNS0_13BindStateBaseE
#35 0x7f1be8008801 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv
#36 0x7f1be8061fb7 base::debug::TaskAnnotator::RunTask()
#37 0x7f1be8115843 base::MessageLoop::RunTask()
#38 0x7f1be8115ac7 base::MessageLoop::DeferOrRunPendingTask()
#39 0x7f1be81167b4 base::MessageLoop::DoWork()
#40 0x7f1be811dda6 base::MessagePumpGlib::Run()
#41 0x7f1be8115004 base::MessageLoop::Run()

 

Comment 1 by hjd@chromium.org, Aug 29 2017

Status: Started (was: Untriaged)
Thanks! Have sent you a CL :)
We should just get rid of that dcheck, as it conflicts with the " if (statm_fd == -1) return" later on.
Which I see it's what's happening in https://chromium-review.googlesource.com/c/chromium/src/+/640697 .
Thanks both of you
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ebb7f21ce5bccf5895ad7dca37894c28744d69b5

commit ebb7f21ce5bccf5895ad7dca37894c28744d69b5
Author: Hector Dearman <hjd@google.com>
Date: Tue Aug 29 11:53:26 2017

memory-infra: Remove a DCHECK which could reasonably occur

In OSMetrics we DCHECK on not being able to open /proc/$pid/statm
however this could legitimately occur since reading /proc/$pid/statm
happens in the browser process and there is no guarantee that the
renderer processes we are collecting the stats for hasn't gone away in
the meantime. This CL removes the DCHECK, surfacing the failure happens
in OSMetrics::FillOSMemoryDump which guards against the statm fd being
-1.

Bug:  759809 
Change-Id: I057f1fe57c26632229f38dae51e489fc600d6482
Reviewed-on: https://chromium-review.googlesource.com/640697
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Commit-Queue: Primiano Tucci <primiano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498075}
[modify] https://crrev.com/ebb7f21ce5bccf5895ad7dca37894c28744d69b5/services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc

Status: Fixed (was: Started)

Sign in to add a comment