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

Issue 706808 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

DCHECK'ing on bad version string when using --fake-variations-channel=dev

Project Member Reported by k...@chromium.org, Mar 30 2017

Issue description

Chrome Version: 59.0.3056.0 (Developer Build) (64-bit)
OS: Linux

What steps will reproduce the problem?
(1) Start chrome with --fake-variations-channel=dev
(2)
(3)

What is the expected result?

Chrome should start-up.

What happens instead?

You get a DCHECK:

...FATAL:version.cc(119)] Check failed: version.IsValid().

The function is being handed a version of ' 59.0.3053.3'. Note the leading space char. Filtering leading spaces fixes the issue.
 
Cc: jdonnelly@chromium.org
Components: Internals>Metrics
Is this with your own local build?

I don't think --fake-variations-channel should have anything to do with it - since the version comes from Chrome's own knowledge of its version. If that's incorrect, I could imagine all sorts of things going wrong - such as data reported to UMA and evaluation of experiments in the field.

Comment 3 by k...@chromium.org, Mar 30 2017

It occurs when I add that CL option. Additionally, it's not my version (i.e. 3056 vs 3053). I suspect somewhere 'dev' is being substituted with that vesion?

Comment 4 by k...@chromium.org, Mar 30 2017

(Hit send to fast.) Also, when I say --fake-variations-channel=<some numeric version>, it doesn't crash.
Owner: asvitk...@chromium.org
Status: Assigned (was: Untriaged)
I'll see if I can repro.
Do you have any other command-line flags specified?

(note: --fake-variations-channel= shouldn't do much on its own - since it won't actually enable fetching the variations - unless you're using a user-data-dir that already has variations saved)

And is this just a vanilla developer debug build?
Does this repro with a clean user-data-dir? If not, how about with one created from a single previous run?

(My local attempt to repro hit some other DCHECK in client_usage_tracker.cc which seems not related to what this is reporting.)

Comment 7 by k...@chromium.org, Mar 30 2017

Specifying a new user-data-dir doesn't help, but it looks like it also requires  '--variations-server-url=https://clients4.google.com/chrome-variations/seed'
krb: What's the stack trace of the DCHECK?

Trying to repro locally but not hitting it. But I'm also not hitting the logging of "Variations.UserChannel" histogram - which may be because the code in question did an early return due to if (!current_version.IsValid()).

Comment 9 by k...@chromium.org, Mar 30 2017

This is with all local changes removed.

[80089:80089:0330/105108.779812:FATAL:version.cc(114)] Check failed: Version::IsValidWildcardString(wildcard_string). 
#0 0x7f90720b65bb base::debug::StackTrace::StackTrace()
#1 0x7f90720b4c4c base::debug::StackTrace::StackTrace()
#2 0x7f9072122d9f logging::LogMessage::~LogMessage()
#3 0x7f90723796ea base::Version::CompareToWildcardString()
#4 0x7f9078461356 variations::internal::CheckStudyVersion()
#5 0x7f90784619cd variations::internal::ShouldAddStudy()
#6 0x7f90784622d1 variations::FilterAndValidateStudies()
#7 0x7f907845a1e5 variations::VariationsSeedProcessor::CreateTrialsFromSeed()
#8 0x7f9075a64b60 variations::VariationsService::CreateTrialsFromSeed()
#9 0x7f9074c7b81a ChromeBrowserMainParts::SetupFieldTrials()
#10 0x7f9074c7e1eb ChromeBrowserMainParts::PreCreateThreadsImpl()
#11 0x7f9074c7cc65 ChromeBrowserMainParts::PreCreateThreads()
#12 0x7f906b53b016 content::BrowserMainLoop::PreCreateThreads()
#13 0x7f906a90adc5 _ZN4base8internal13FunctorTraitsIMN7content22IndexedDBCallbacksImpl13InternalStateEFvvEvE6InvokeIPS4_JEEEvS6_OT_DpOT0_
#14 0x7f906b548951 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKMN7content15BrowserMainLoopEFivEJPS5_EEEiOT_DpOT0_
#15 0x7f906b5488f7 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#16 0x7f906b54883c _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE
#17 0x7f906a7ea12d _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
#18 0x7f906c11976b content::StartupTaskRunner::RunAllTasksNow()
#19 0x7f906b53b740 content::BrowserMainLoop::CreateStartupTasks()
#20 0x7f906b54c387 content::BrowserMainRunnerImpl::Initialize()
#21 0x7f906b53796f content::BrowserMain()
#22 0x7f906cdcb7c6 content::RunNamedProcessTypeMain()
#23 0x7f906cdcd99c content::ContentMainRunnerImpl::Run()
#24 0x7f906cdcab1a content::ContentServiceManagerMainDelegate::Run()
#25 0x7f905ce9ca98 service_manager::Main()
#26 0x7f906cdcb1ef content::ContentMain()
#27 0x7f907323288a ChromeMain
#28 0x7f90732327b2 main
#29 0x7f905dfaaf45 __libc_start_main
#30 0x7f90732326b5 <unknown>

Thanks. Was able to repro now as well, will investigate.

Comment 11 Deleted

Comment 12 Deleted

Comment 13 by k...@chromium.org, Mar 30 2017

Owner: k...@chromium.org
The space in the version was tracked down. Will update once fixed.
Also working on server-side validation to catch this in the future.

Comment 15 by k...@chromium.org, Mar 30 2017

Status: Fixed (was: Assigned)

Sign in to add a comment