Unexpected DCHECK on a field trial with no default_experiment_name |
|||||
Issue descriptionCurrently, debug builds of Chrome are crashing on the following line: https://cs.chromium.org/chromium/src/base/metrics/field_trial.cc?rcl=e17ef94d67dfe018efe33b4a6c95337ca193e388&l=417 The offending trial is BackgroundVideoOptimizations, which lacks a default_experiment_name. According to asvitkine (see discussion on http://cl/154544130) the lack of a value for this field is correct and the DCHECK is unexpected.
,
Apr 28 2017
Do you have a stack trace of the DCHECK? Wondering if it could be happening to the simulation code here which was not updated with the default group logic: https://cs.chromium.org/chromium/src/components/variations/variations_seed_simulator.cc?rcl=73dde766a935605604b2d7cca45033f8dbd9c6fb&l=46
,
Apr 28 2017
Apologies, this looks like a false alarm. I created a fresh profile and now I can't reproduce the DCHECK. I'll reopen if I see it again.
,
Apr 28 2017
Re-opening. I think there's still an issue in the code I linked which we should fix.
,
Apr 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8e5e44bc2a23a1599de02595e445257571f4f76f commit 8e5e44bc2a23a1599de02595e445257571f4f76f Author: jdonnelly <jdonnelly@chromium.org> Date: Fri Apr 28 20:27:06 2017 Specify the trial name when crashing due to missing default group name. BUG= 716493 Review-Url: https://codereview.chromium.org/2847813004 Cr-Commit-Position: refs/heads/master@{#468112} [modify] https://crrev.com/8e5e44bc2a23a1599de02595e445257571f4f76f/base/metrics/field_trial.cc
,
Apr 28 2017
I'm seeing the issue again. I can't quite pin down what's triggering it. At the moment, it seems to be happening when I add starts_active: true to the config on my local Finch server to an unrelated experiment. (I'm adding that to OmniboxBundledExperimentV1 but BackgroundVideoOptimizations is the config that's causing the DCHECK.) gn args for my build: target_os = "chromeos" is_component_build = true is_debug = true command line: ./out/cros/chrome --user-data-dir=/ssd/chrome/src/~/.config/chromium-cros --variations-server-url=http://localhost:8080/seed --fake-variations-channel=dev Here's the stack trace: [6016:6016:0428/133242.031508:FATAL:field_trial.cc(417)] Check failed: !default_group_name_.empty(). #0 0x7f91d43f623b base::debug::StackTrace::StackTrace() #1 0x7f91d43f4f7c base::debug::StackTrace::StackTrace() #2 0x7f91d4460ad7 logging::LogMessage::~LogMessage() #3 0x7f91d44a0996 base::FieldTrial::FieldTrial() #4 0x7f91d44a06d3 base::FieldTrial::CreateSimulatedFieldTrial() #5 0x7f91dc4f83e2 variations::(anonymous namespace)::SimulateGroupAssignment() #6 0x7f91dc4f7e69 variations::VariationsSeedSimulator::PermanentStudyGroupChanged() #7 0x7f91dc4f7b0e variations::VariationsSeedSimulator::ComputeDifferences() #8 0x7f91dc4f794b variations::VariationsSeedSimulator::SimulateSeedStudies() #9 0x7f91d8ddae51 variations::VariationsService::PerformSimulationWithVersion() #10 0x7f91d8de2d8c _ZN4base8internal13FunctorTraitsIMN10variations17VariationsServiceEFvSt10unique_ptrINS2_14VariationsSeedESt14default_deleteIS5_EERKNS_7VersionEEvE6InvokeIRKNS_7WeakPtrIS3_EEJS8_SB_EEEvSD_OT_DpOT0_ #11 0x7f91d8de2c44 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN10variations17VariationsServiceEFvSt10unique_ptrINS4_14VariationsSeedESt14default_deleteIS7_EERKNS_7VersionEERKNS_7WeakPtrIS5_EEJSA_SD_EEEvOT_OT0_DpOT1_ #12 0x7f91d8de2b98 _ZN4base8internal7InvokerINS0_9BindStateIMN10variations17VariationsServiceEFvSt10unique_ptrINS3_14VariationsSeedESt14default_deleteIS6_EERKNS_7VersionEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperIS9_EEEEEFvSC_EE7RunImplIRKSE_RKSt5tupleIJSG_SI_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEESC_ #13 0x7f91d8de2a9c _ZN4base8internal7InvokerINS0_9BindStateIMN10variations17VariationsServiceEFvSt10unique_ptrINS3_14VariationsSeedESt14default_deleteIS6_EERKNS_7VersionEEJNS_7WeakPtrIS4_EENS0_13PassedWrapperIS9_EEEEEFvSC_EE3RunEPNS0_13BindStateBaseESC_ #14 0x7f91d5be0bb3 _ZNO4base8CallbackIFvRKN10extensions22ExtensionApiFrameIdMap9FrameDataEELNS_8internal8CopyModeE0ELNS7_10RepeatModeE0EE3RunES5_ #15 0x7f91d8de34fa base::internal::ReplyAdapter<>() #16 0x7f91d59e28f4 _ZN4base8internal13FunctorTraitsIPFvNS_8CallbackIFSt10unique_ptrINS_5ValueESt14default_deleteIS4_EEvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEPS7_EvE6InvokeIJNS2_IS8_LS9_1ELSA_1EEESC_EEEvSE_DpOT_ #17 0x7f91d8de3bbd _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIPFvNS_8CallbackIFvRKNS_7VersionEELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEPS5_EJNS4_IS8_LS9_1ELSA_1EEESC_EEEvOT_DpOT0_ #18 0x7f91d8de3b68 _ZN4base8internal7InvokerINS0_9BindStateIPFvNS_8CallbackIFvRKNS_7VersionEELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEPS4_EJNS3_IS7_LS8_1ELS9_1EEENS0_12OwnedWrapperIS4_EEEEEFvvEE7RunImplISD_St5tupleIJSE_SG_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #19 0x7f91d8de3a7e _ZN4base8internal7InvokerINS0_9BindStateIPFvNS_8CallbackIFvRKNS_7VersionEELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEPS4_EJNS3_IS7_LS8_1ELS9_1EEENS0_12OwnedWrapperIS4_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #20 0x7f91d43b569e _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv #21 0x7f91d45ab9ca base::(anonymous namespace)::PostTaskAndReplyRelay::RunReplyAndSelfDestruct() #22 0x7f91d45abd85 _ZN4base8internal13FunctorTraitsIMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_ #23 0x7f91d45abc81 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEJPS5_EEEvOT_DpOT0_ #24 0x7f91d45abc07 _ZN4base8internal7InvokerINS0_9BindStateIMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIS6_St5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #25 0x7f91d45abb2e _ZN4base8internal7InvokerINS0_9BindStateIMNS_12_GLOBAL__N_121PostTaskAndReplyRelayEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE #26 0x7f91d43b569e _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv #27 0x7f91d43fb731 base::debug::TaskAnnotator::RunTask() #28 0x7f91d4485bfe base::MessageLoop::RunTask() #29 0x7f91d4485e64 base::MessageLoop::DeferOrRunPendingTask() #30 0x7f91d4486154 base::MessageLoop::DoWork() #31 0x7f91d449c02c base::MessagePumpGlib::HandleDispatch() #32 0x7f91d449c6d1 base::(anonymous namespace)::WorkSourceDispatch() #33 0x7f91bd643e04 g_main_context_dispatch #34 0x7f91bd644048 <unknown> #35 0x7f91bd6440ec g_main_context_iteration #36 0x7f91d449c12f base::MessagePumpGlib::Run() #37 0x7f91d44857e2 base::MessageLoop::RunHandler() #38 0x7f91d4524e34 base::RunLoop::Run() #39 0x7f91d78991c6 ChromeBrowserMainParts::MainMessageLoopRun() #40 0x7f91cdc4aaeb content::BrowserMainLoop::RunMainMessageLoopParts() #41 0x7f91cdc56a85 content::BrowserMainRunnerImpl::Run() #42 0x7f91cdc44578 content::BrowserMain() #43 0x7f91cf3b5696 content::RunNamedProcessTypeMain() #44 0x7f91cf3b777f content::ContentMainRunnerImpl::Run() #45 0x7f91cf3b43aa content::ContentServiceManagerMainDelegate::RunEmbedderProcess() #46 0x7f91d4869407 service_manager::Main() #47 0x7f91cf3b51bb content::ContentMain() #48 0x7f91d58f2a80 ChromeMain #49 0x7f91d58f29a2 main #50 0x7f91ba7e0f45 __libc_start_main #51 0x7f91d58f2884 <unknown>
,
Apr 28 2017
I see this DCHECK too when running a dev build against my own variations server (that doesn't touch BackgroundVideoOptimizations). One question: could it be that developer builds don't have version numbers, and hence cannot be filtered by the version logic in the experiment config? (I'm in the middle of a fresh build so cannot answer the question myself.)
,
Apr 28 2017
I have a version but instead of an OS section on about:version I have "Platform: 0.0.0.0". Perhaps that's affecting selection? I've attached a screenshot of about:version in my build.
,
Apr 29 2017
,
Apr 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0bd5b87b3336e5ea16103902b59574f86663e5e1 commit 0bd5b87b3336e5ea16103902b59574f86663e5e1 Author: isherman <isherman@chromium.org> Date: Sat Apr 29 03:11:27 2017 [Field trials] Allow default group names to be omitted. This was previously fixed for seed processing in http://crrev.com/2612243003, but was accidentally omitted for the simulation code. BUG= 716493 R=asvitkine@chromium.org Review-Url: https://codereview.chromium.org/2851703004 Cr-Commit-Position: refs/heads/master@{#468218} [modify] https://crrev.com/0bd5b87b3336e5ea16103902b59574f86663e5e1/components/variations/variations_seed_simulator.cc
,
Apr 29 2017
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by asvitk...@chromium.org
, Apr 28 2017Labels: -Pri-3 Pri-1