New issue
Advanced search Search tips

Issue 781451 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Autolaunching mail.google.com and calendar.google.com results in 400 error

Reported by stepheng...@amplifiedit.com, Nov 3 2017

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 9901.54.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.74 Safari/537.36
Platform: 10032.21.0 (Official Build) beta-channel cyan 

Example URL:
mail.google.com, calendar.google.com

Steps to reproduce the problem:
1. In the cpanel, set mail.google.com and calendar.google.com to launch on startup
2. restrict Guest Mode in device settings (optional)
3. login to Chromebook in beta channel

What is the expected behavior?
Websites will load as logged in user.

What went wrong?
404 error.  mail.google.com was redirected to mail.google.com/accounts/SetOSID?authuser=0&continue=https%3A%2F%2Fmail.coocle.com%2Fmail%2Fca%2F%23inbox

Similar issue as found in  http://crbug.com/647484 

Did this work before? N/A 

Chrome version: 63.0.3239.26  Channel: beta
OS Version: 10032.21.0
Flash Version: 27.0.0.183 

Closing the window and re-launching fixes the issue.  Also, logging into a Guest session before logging into the normal user temporarily fixes the device until reloaded.

Also attempted to launch mail.google.com after logged in without closing the initial window, and get the same error.
See attached har files generated from 2 separate devices.
 
Device 2 calendar.google.com.har
30.0 KB Download
Device 2 mail.google.com.har
29.7 KB Download
Device 1 mail.google.com.har
29.7 KB Download
Components: Services>SignIn
Status: Untriaged (was: Unconfirmed)
Guessing at potentially relevant component here...
Labels: Needs-Feedback
stephengale@, can you capture and attach a NetLog dump? Please read the instructions here:
https://sites.google.com/a/chromium.org/dev/for-testers/providing-network-details

The tricky thing is, your issue occurs on sign-in, so you won't be able to open chrome://net-export/ and start logging before the issue occurs. But you mention that if you launch mail.google.com a second time after sign-in without closing the initial window, you will get the same error. So, you should be able to capture a NetLog dump of that?
I believe a user is reporting the same issue on CBC.

"400. That's an error" on Chromebook sign-in page on startup (network is okay)  

https://productforums.google.com/forum/?utm_medium=email&utm_source=footer#!msg/chromebook-central/vHrgYY5pQr8/q8mom61uAgAJ


Google Chrome	62.0.3202.82 (Official Build) (64-bit)
Revision	0
Platform	9901.66.0 (Official Build) stable-channel lars
Firmware Version	Google_Lars.7820.314.0
Customization ID	ACER-LILI
ARC	4421464

Comment 4 Deleted

Comment 5 by gmp...@gmail.com, Nov 18 2017

Dymphe at the Chromebook Central Help Forum requested that I add a comment to this issue, as I'm seeing what appears to be the same problem. (Looks like they added a comment here a few minutes ago regarding my situation). Please see the feedback report (which includes this issue #) that I submitted at 5:25 pm EST on November 18, 2017. Thanks.

Comment 6 by rch@chromium.org, Dec 8 2017

Without a net-internals, I don't think we're going to be able to make progress and we'll have to close the bug :(

Comment 7 by gmp...@gmail.com, Dec 8 2017

I'm new to Chromebooks & commenting on the issues, but I've done software development & support so I'm wondering what you're referring to by net-internals. Is there something I should be able to capture next time it happens by going to chrome://net-internals or via some other method? Going there right now (though the problem didn't occur on this most recent reboot) I do see what looks like some info related to the URL that had a problem. If I can provide any info, please let me know.

Comment 8 by gmp...@gmail.com, Dec 8 2017

Perhaps I answered my own question; I see the request to the other user in comment #2, before I mentioned having the problem as well. I just reproduced it & did the capture via chrome://net-export; see attached file. I already had a new tab open so the only activity I performed between capture start & capture stop was to go to gmail.com in the already opened tab, and it gave the error.
chrome-net-export-log.json
445 KB View Download
Labels: -Needs-Feedback
Cc: xiy...@chromium.org achuith@chromium.org msarda@chromium.org
Adding a couple of folks who recently worked on the signin flow on ChromeOS.

Do any of you know how to move forward on this bug?

(Networking triager here. I looked over the NetLog in #8, but this doesn't seem to be network issue.)
Usually this happens when there is something wrong with auth cookies. There could be many reasons to cause it. In the past, opening tabs pointing to google servers immediately after sign-in have caused similar problems. This issue sounds like we have a regression there.

We should have put page load throttle in-place. All tabs that access google servers should show a temp "Loading..." page until the background /MergeSession call finishes (which takes a few seconds). Did you notice that "Loading.." in your tab after sign-in?

Another thing that could help us to debug is to open "chrome://signin-internals" in a tab and tell us what accounts are listed under "Accounts in Cookie Jar".

In request #2772 URL_REQUEST for https://gmail.com, we have
   https://gmail.com
=> https://mail.google.com/mail/
=> https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1#
=> https://mail.google.com/accounts/SetOSID?authuser=0&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Fpli%3D1%26auth%3DgAX4llrntOmaCUR6-9sKcivHbOXM6K-2Pm64Dd3-oUkbEkGTP9dbfvOvBI_r2kAgLVLdzQ.&osidt=ALWU2csPLGLb0-BnmOXujO3G09ebqrFLTw415C1SL9Rh46_xhlFiyiHwBCa-3E7Ic7OF-YchMB8bOCxlQW6C7aNUvvMx1lH9wTeTH5dTI7SbwBiAoP-fSxJ7p311Gz4T0ve7qYK0HoXp

The last url ends up with 400.

Just tried similar setup as in #0 (i.e. using mail.google.com and calendar.google.com as startup tabs) and unable to repro with ToT chrome (r523111).

Comment 13 by gmp...@gmail.com, Dec 12 2017

I do see the "Loading..." message sometimes, but not all the time. There doesn't seem to be a correlation between the failure and whether or not the message is displayed; sometimes when it fails I see the message, and sometimes when it fails I don't see the message.

With chrome://signin-internals, under "Accounts in Cookie Jar", I always see just 1 entry, whether I get the failure or not. It shows my gmail login (not typing it here to avoid publishing it to the world), Gaia ID 107084535391102174972, and Validity = Valid. Note that I do get successfully logged into Google and various Google services like YouTube, even when the Gmail problem occurs. If I log out of Google, there will then be nothing under "Accounts in Cookie Jar" and then I can successfully log back in to everything, including Gmail.

Sometimes, but rarely, when I get the Gmail error, I can try gmail.com another time and get there successfully, but usually I need to log out and back in again.

Though it's pretty much Greek to me, I'm noticing from chrome://signin-internals that the order in which access tokens get set up, is different during the passing & failing scenarios. In particular, whenever I see the problem, uber_token_fetcher is further down in the list; that's the one that seems to catch my eye as being consistently different. See output below for a non-failing case versus a failing case.

**Non-failing case**

gaia_account_tracker	https://www.googleapis.com/auth/userinfo.profile
12/11/17, 11:57:13 PM	Received token at 12/11/17, 11:57:14 PM. Expire at 12/12/17, 12:51:14 AM
sync	https://www.googleapis.com/auth/chromesync
12/11/17, 11:57:13 PM	Received token at 12/11/17, 11:57:14 PM. Expire at 12/12/17, 8:55:33 PM
ChildAccountInfoFetcherImpl	https://www.google.com/accounts/OAuthLogin
12/11/17, 11:57:13 PM	Received token at 12/11/17, 11:57:14 PM. Expire at 12/12/17, 2:24:07 PM
https://www.googleapis.com/auth/webhistory	https://www.googleapis.com/auth/webhistory
12/11/17, 11:57:14 PM	Received token at 12/11/17, 11:57:14 PM. Expire at 12/12/17, 12:51:14 AM
uber_token_fetcher	https://www.google.com/accounts/OAuthLogin
12/11/17, 11:57:15 PM	Received token at 12/11/17, 11:57:15 PM. Expire at 12/12/17, 2:24:07 PM
auth_service	https://docs.google.com/feeds/
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.apps
https://www.googleapis.com/auth/drive.apps.readonly
12/11/17, 11:57:15 PM	Received token at 12/11/17, 11:57:15 PM. Expire at 12/12/17, 12:51:14 AM
extensions_identity_api		12/11/17, 11:57:15 PM	Received token at 12/11/17, 11:57:15 PM. Expire at 12/12/17, 3:22:09 PM
gcm_network_channel	https://www.googleapis.com/auth/chromesync
12/11/17, 11:57:16 PM	Received token at 12/11/17, 11:57:16 PM. Expire at 12/12/17, 8:55:33 PM
profile_downloader	https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
12/11/17, 11:57:23 PM	Received token at 12/11/17, 11:57:23 PM. Expire at 12/12/17, 12:51:23 AM

**Failing case**

gaia_account_tracker	https://www.googleapis.com/auth/userinfo.profile
12/11/17, 11:49:49 PM	Received token at 12/11/17, 11:49:50 PM. Expire at 12/12/17, 12:43:50 AM
ChildAccountInfoFetcherImpl	https://www.google.com/accounts/OAuthLogin
12/11/17, 11:49:49 PM	Received token at 12/11/17, 11:49:50 PM. Expire at 12/12/17, 6:24:03 PM
https://www.googleapis.com/auth/webhistory	https://www.googleapis.com/auth/webhistory
12/11/17, 11:49:49 PM	Received token at 12/11/17, 11:49:50 PM. Expire at 12/12/17, 12:43:50 AM
sync	https://www.googleapis.com/auth/chromesync
12/11/17, 11:49:50 PM	Received token at 12/11/17, 11:49:50 PM. Expire at 12/12/17, 6:38:10 PM
extensions_identity_api		12/11/17, 11:49:51 PM	Received token at 12/11/17, 11:49:51 PM. Expire at 12/12/17, 6:17:31 PM
auth_service	https://docs.google.com/feeds/
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.apps
https://www.googleapis.com/auth/drive.apps.readonly
12/11/17, 11:49:51 PM	Received token at 12/11/17, 11:49:51 PM. Expire at 12/12/17, 12:43:50 AM
uber_token_fetcher	https://www.google.com/accounts/OAuthLogin
12/11/17, 11:49:51 PM	Received token at 12/11/17, 11:49:51 PM. Expire at 12/12/17, 6:24:03 PM
gcm_network_channel	https://www.googleapis.com/auth/chromesync
12/11/17, 11:49:51 PM	Received token at 12/11/17, 11:49:51 PM. Expire at 12/12/17, 6:38:10 PM
profile_downloader	https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
12/11/17, 11:49:59 PM

I just noticed as I was copying/pasting that in the failing case, it looks like I never received the profile_downloader token. I'll see if that's consistent behavior; it's possible that my copy/paste was incomplete when I first captured it. Or maybe, even if it's consistent, that's to be expected since I can't get to Gmail?

Please also note that this just started occurring when I updated to Chrome OS Version 62.0.3202.82

Comment 14 by gmp...@gmail.com, Dec 12 2017

Looks like I must have copied/pasted incorrectly regarding the profile_downloader token in the previous comment; I do receive it even when the problem occurs. But the different ordering of tokens (e.g., uber_token_fetcher coming later) is consistent.

I rarely use other Google services that require my login/credentials, but I just went through the main ones when I had the failure, and I see that the only ones which give the 400 error are Gmail, Calendar, and My Account. Even when those are failing, I still see my profile picture & personal information with Google, YouTube, Google Keep, Photos, Drive, and others.
gmporr@, if you can still repro, could you go to https://accounts.google.com/ReportBug and post the report number here (the big bold text on that page). The report number can be used to check your logs on the server side to help us to debug the issue. Thanks.

Comment 16 by gmp...@gmail.com, Dec 13 2017

Just reproduced it. After initial startup gave me the error, ReportBug gave me 97153123. Then just to make sure that it was still messed up, I tried going to gmail.com again 'cause sometimes but rarely it's ok at that point, but it was still messed up. ReportBug then gave me 44135584, so hopefully you can find my data in the logs. Thanks... Greg.
Thanks for gmporr's repro and backend engineer to look it up. The problem is a regression of racing problem of accessing google server while having a background job changing auth cookies.

Working on a fix.
Many thanks, I am able to pull a HAR for the Calendar webpage if needed.  I
can also do a full net export if needed.

Comment 19 by mha...@eesd.net, Dec 15 2017

Here is har file for calendar error.
calendar.google.com.har
30.2 KB Download

Comment 20 by gmp...@gmail.com, Dec 15 2017

Thanks for digging into this; good to know the problem has been identified :)
I could only repro the problem when I have "gmail.com" in one of the start up tabs. Having "mail.google.com" or "calendar.googel.com" seems working fine.

stephengale@, can you double check?
Gmail was working earlier today on v63. Calendar was still giving issues.
Cc: -xiy...@chromium.org
Components: -Internals>Network
Owner: xiy...@chromium.org
Status: Assigned (was: Untriaged)
Xiyuan@: I am assigning this to you per #17 and moving this off Network Stack's triage queue.
Project Member

Comment 24 by bugdroid1@chromium.org, Dec 18 2017

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

commit 5603e3e2905dfa817e030c08242a709fa46a6de3
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Mon Dec 18 17:50:42 2017

[cros] Fix 400 error on gmail.com after sign-in

Throttle redirected requests as well to avoid the racing between
background MergeSession call and tab/xhr loading to google servers.

Bug: 781451
Test: Start up tab of gmail.com loads fine.
Change-Id: Ideb16c8ad8609e0585fe9840f6592fcc2a655360
Reviewed-on: https://chromium-review.googlesource.com/830833
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524737}
[modify] https://crrev.com/5603e3e2905dfa817e030c08242a709fa46a6de3/chrome/browser/chromeos/login/signin/merge_session_navigation_throttle.cc
[modify] https://crrev.com/5603e3e2905dfa817e030c08242a709fa46a6de3/chrome/browser/chromeos/login/signin/merge_session_navigation_throttle.h
[modify] https://crrev.com/5603e3e2905dfa817e030c08242a709fa46a6de3/chrome/browser/chromeos/login/signin/merge_session_resource_throttle.cc
[modify] https://crrev.com/5603e3e2905dfa817e030c08242a709fa46a6de3/chrome/browser/chromeos/login/signin/merge_session_resource_throttle.h

stephengale@, could you tell me the exact URL you used in cpanel? http or https? https://gmail.com or https://mail.google.com? Thanks.
Currently the values in the startup URL are as follows:

https://mail.google.com
https://www.google.com/calendar
Status: Fixed (was: Assigned)
Assuming this is fixed, feel free to reopen if that is not the case.

Comment 28 by gmp...@gmail.com, Mar 22 2018

What version is this fixed in? (Sorry if there's something like a "fixed in version" field in the issue that shows it but I don't see it). My chromebook says it's on the latest version but I still see the problem. I'm running Version 64.0.3282.190 (Official Build) (64-bit)
Status: Assigned (was: Fixed)
Reopen.

CL in #24 should be included in 65.0.3299.0.

gmporr@, what did you see with those startup URLs? a 404 page?

Comment 30 by gmp...@gmail.com, Mar 22 2018

I see the 400 "That's an error" page.

My startup page is https://mail.google.com/mail/ca/u/0/#inbox (changing to https://mail.google.com/mail/ca/u/0 has the same problem).

Comment 31 by gmp...@gmail.com, Apr 11 2018

Problem still occurs in version 65.0.3325.184

Sign in to add a comment