Assertion failure inside blink::LongTaskDetector::RegisterObserver / blink::InteractiveDetector::SetNavigationStartTime |
||||
Issue descriptionSeen here: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_rel_ng/67912 It caused the failure of WebglConformance_conformance_glsl_variables_gl_fragcoord : https://chromium-swarm.appspot.com/task?id=3ccf4297f3b85c10&refresh=10&show_raw=1 [395/461] gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_conformance_glsl_samplers_glsl_function_texture2dprojlod passed 0.2895s [1:1:0411/134358.454988:FATAL:observer_list.h(243)] Check failed: false. Observers can only be added once! #0 0x7fbbc86bda7c base::debug::StackTrace::StackTrace() #1 0x7fbbc86de55b logging::LogMessage::~LogMessage() #2 0x7fbbc64ab929 base::ObserverList<>::AddObserver() #3 0x7fbbc81532d6 blink::scheduler::TaskQueueManagerImpl::AddTaskTimeObserver() #4 0x7fbbcc3e4d43 blink::LongTaskDetector::RegisterObserver() #5 0x7fbbcc3e3528 blink::InteractiveDetector::SetNavigationStartTime() #6 0x7fbbcc3bfdd3 blink::DocumentLoader::DidCommitNavigation() #7 0x7fbbcc3bec0b blink::DocumentLoader::InstallNewDocument() #8 0x7fbbcc3be81f blink::DocumentLoader::CommitNavigation() #9 0x7fbbcc3bd266 blink::DocumentLoader::CommitData() #10 0x7fbbcc3bf0e1 blink::DocumentLoader::ProcessData() #11 0x7fbbcc3bf05d blink::DocumentLoader::DataReceived() #12 0x7fbbc80ebd92 blink::Resource::AppendData() #13 0x7fbbc80e5655 blink::RawResource::AppendData() #14 0x7fbbc8117eab blink::ResourceLoader::DidReceiveData() #15 0x7fbbccaa7be4 content::WebURLLoaderImpl::Context::OnReceivedData() #16 0x7fbbccaa87b7 content::WebURLLoaderImpl::RequestPeerImpl::OnReceivedData() #17 0x7fbbcc9ccb49 content::URLResponseBodyConsumer::OnReadable() #18 0x7fbbcc9cc258 content::URLLoaderClientImpl::OnStartLoadingResponseBody() #19 0x7fbbc62632cb network::mojom::URLLoaderClientStubDispatch::Accept() #20 0x7fbbc8d59e02 mojo::InterfaceEndpointClient::HandleValidatedMessage() #21 0x7fbbc8d599a6 mojo::FilterChain::Accept() #22 0x7fbbc8d5b2b2 mojo::InterfaceEndpointClient::HandleIncomingMessage() #23 0x7fbbc8d6288d mojo::internal::MultiplexRouter::ProcessIncomingMessage() #24 0x7fbbc8d61c50 mojo::internal::MultiplexRouter::Accept() #25 0x7fbbc8d599a6 mojo::FilterChain::Accept() #26 0x7fbbc8d572bb mojo::Connector::ReadSingleMessage() #27 0x7fbbc8d57d44 mojo::Connector::ReadAllAvailableMessages() #28 0x7fbbc8d57ba6 mojo::Connector::OnHandleReadyInternal() #29 0x7fbbc68a59c4 drive::(anonymous namespace)::EntryActionCallbackAdapter() #30 0x7fbbc8d51465 mojo::SimpleWatcher::OnHandleReady() #31 0x7fbbc8d519ee _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijRKNS3_18HandleSignalsStateEEJNS_7WeakPtrIS4_EEijS5_EEEFvvEE7RunImplIRKS9_RKNSt3__15tupleIJSB_ijS5_EEEJLm0ELm1ELm2ELm3EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE #32 0x7fbbc86bf140 base::debug::TaskAnnotator::RunTask() #33 0x7fbbc8156656 blink::scheduler::internal::ThreadControllerImpl::DoWork() #34 0x7fbbc649ce68 _ZN4base8internal7InvokerINS0_9BindStateIMN7network17ResourceScheduler28ScheduledResourceRequestImplEFvNS3_12_GLOBAL__N_19StartModeEEJNS_7WeakPtrIS5_EES7_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE #35 0x7fbbc86bf140 base::debug::TaskAnnotator::RunTask() #36 0x7fbbc86e6fc6 base::internal::IncomingTaskQueue::RunTask() #37 0x7fbbc86e5457 base::MessageLoop::RunTask() #38 0x7fbbc86e586a base::MessageLoop::DeferOrRunPendingTask() #39 0x7fbbc86e5afe base::MessageLoop::DoWork() #40 0x7fbbc86e9626 base::MessagePumpDefault::Run() #41 0x7fbbc86e4ccc base::MessageLoop::Run() #42 0x7fbbc8715da6 base::RunLoop::Run() #43 0x7fbbcd0e9a21 content::RendererMain() #44 0x7fbbc8301108 content::RunZygote() #45 0x7fbbc83018ea content::RunNamedProcessTypeMain() #46 0x7fbbc83029c2 content::ContentMainRunnerImpl::Run() #47 0x7fbbc830fde9 service_manager::Main() #48 0x7fbbc8300d94 content::ContentMain() #49 0x7fbbc5e461b3 ChromeMain #50 0x7fbbbd51ff45 __libc_start_main #51 0x7fbbc5e4602a _start I don't know how often this is happening but it seems like a potentially serious logic flaw. Marking P1 at least until this is triaged. Linking to two bugs which touched this code recently.
,
Apr 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8358f8f5b7a61b36bed52cd05d3c38299d4a52e6 commit 8358f8f5b7a61b36bed52cd05d3c38299d4a52e6 Author: Nicolas Pena <npm@chromium.org> Date: Fri Apr 13 23:18:18 2018 Do not register LongTaskDetector twice This CL adds a check to ensure that the LongTaskDetector only registers itself as a TaskTimeObserver when the number of |observers_| jumps from 0 to 1. Bug: 831925 Change-Id: Ida4932b7f84beeceb07255e8ef87935cbc8e8b76 Reviewed-on: https://chromium-review.googlesource.com/1010765 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Timothy Dresser <tdresser@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Cr-Commit-Position: refs/heads/master@{#550798} [modify] https://crrev.com/8358f8f5b7a61b36bed52cd05d3c38299d4a52e6/third_party/blink/renderer/platform/long_task_detector.cc [modify] https://crrev.com/8358f8f5b7a61b36bed52cd05d3c38299d4a52e6/third_party/blink/renderer/platform/long_task_detector_test.cc
,
Apr 17 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8358f8f5b7a61b36bed52cd05d3c38299d4a52e6 commit 8358f8f5b7a61b36bed52cd05d3c38299d4a52e6 Author: Nicolas Pena <npm@chromium.org> Date: Fri Apr 13 23:18:18 2018 Do not register LongTaskDetector twice This CL adds a check to ensure that the LongTaskDetector only registers itself as a TaskTimeObserver when the number of |observers_| jumps from 0 to 1. Bug: 831925 Change-Id: Ida4932b7f84beeceb07255e8ef87935cbc8e8b76 Reviewed-on: https://chromium-review.googlesource.com/1010765 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Timothy Dresser <tdresser@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Cr-Commit-Position: refs/heads/master@{#550798} [modify] https://crrev.com/8358f8f5b7a61b36bed52cd05d3c38299d4a52e6/third_party/blink/renderer/platform/long_task_detector.cc [modify] https://crrev.com/8358f8f5b7a61b36bed52cd05d3c38299d4a52e6/third_party/blink/renderer/platform/long_task_detector_test.cc
,
Apr 23 2018
My fix was tentative since I had no way to reproduce. I re-ran the swarming task and it passed [1]. kbr@ should I mark this as fixed? [1] https://chromium-swarm.appspot.com/task?id=3d0be39474888410&refresh=10&show_raw=1
,
Apr 27 2018
npm@: re-running the Swarming task ran exactly the same binaries as before, i.e., not including your fix from https://chromium-review.googlesource.com/1010765 . You could look at the various webgl_conformance_tests shards from https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_rel_ng/70104 and in particular shard 0 which ran WebglConformance_conformance_glsl_variables_gl_fragcoord : https://chromium-swarm.appspot.com/task?id=3cd94dd09878f510&refresh=10&show_raw=1 and could have retried that shard a few times. Anyway, I think it's fine to close this as fixed and just watch for any reoccurrences on the waterfall. Thanks for tracking this down and fixing it!
,
Jun 1 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by tdres...@chromium.org
, Apr 12 2018Status: Assigned (was: Untriaged)