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

Issue 774578 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

canMakePayment call in Guest mode causes crash

Reported by james.se...@gmail.com, Oct 13 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Steps to reproduce the problem:
1. Open the browser
2. Activate a guest session (FYI, I have two user profiles and this issue works if I have any combination of these open before activating the guest session).
3. Open developer tools
4. Open the console tab
5. Enter JavaScript code to create a PaymentRequest object, as per the sample on https://googlechrome.github.io/samples/paymentrequest/credit-cards/. (See below for code sample.)
6. Call the canMakePayment method for the request

let networks = ['amex', 'diners', 'discover', 'jcb', 'mastercard', 'unionpay',
      'visa', 'mir'];
  let types = ['debit', 'credit', 'prepaid'];
  let supportedInstruments = [{
    supportedMethods: networks,
  }, {
    supportedMethods: ['basic-card'],
    data: {supportedNetworks: networks, supportedTypes: types},
  }];

  let details = {
    total: {label: 'Donation', amount: {currency: 'USD', value: '55.00'}},
    displayItems: [
      {
        label: 'Original donation amount',
        amount: {currency: 'USD', value: '65.00'},
      },
      {
        label: 'Friends and family discount',
        amount: {currency: 'USD', value: '-10.00'},
      },
    ],
  };

  request = new PaymentRequest(supportedInstruments, details);
  request.canMakePayment();

What is the expected behavior?
The Payment Request API should return a promise with a value of True

What went wrong?
All foreground Chrome processes terminate immediately. Several background process continue running for about 30 seconds before terminating.

Crashed report ID: No - easily reporduced

How much crashed? Whole browser

Is it a problem with a plugin? No 

Did this work before? N/A 

Chrome version: 61.0.3163.100  Channel: stable
OS Version: 10.0
Flash Version:
 

Comment 1 by ajha@chromium.org, Oct 17 2017

Labels: Needs-Triage-M61
Components: Blink>Payments
Cc: susanjuniab@chromium.org
Labels: -Type-Bug -Pri-2 hasbisect OS-Linux OS-Mac Pri-1 Type-Bug-Regression
Owner: rouslan@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce this issue on Windows 7, Mac 10.12.6 and Ubuntu 14.04 with Chrome Stable 61.0.3163.100 and Beta 62.0.3202.52. But unable to repro this issue on Canary 64.0.3241.4.
Performed reverse bisect and below is the Bisect Information.

Bisect Information:
=====================
Good Build 60.0.3094.0 Revision-470111
Bad Build  60.0.3095.0 Revision-470437

Using old bisect script below is the change log:

CHANGELOG URL:
===============
https://chromium.googlesource.com/chromium/src/+log/4093b79b5e57860bd7b90a9bc41bae5629d84c61..d063660bf41b8868f1fa6323f0dc59e45ba8b189

From the above Changelog, the possible suspect is 
Review URL:
============
https://codereview.chromium.org/2866623003

rouslan@ Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Thanks.!
Cc: ma...@chromium.org
Mathieu, can you look into this please while I'm out of office?
Could be related to https://crrev.com/c/693079

Comment 6 by ma...@chromium.org, Oct 17 2017

Owner: anthonyvd@chromium.org
My day is booked solid, sending to Anthony.

Comment 7 by ma...@chromium.org, Oct 17 2017

Checked quickly... no longer repros on ToT, but repros in M61 Stable. 

Perhaps the only step is adding a browsertest to make sure we don't regress.
Labels: -Pri-1 Pri-2
Yep, can't repro on ToT either. Going by the info in #3 and #5, this was probably fixed by https://crrev.com/c/693079.

I'll punt it down to P2 and keep it around to add a browser when I get some time.

FTR, https://crrev.com/c/693079 made it to M63 and M62 is going stable today so I don't think there's any merge candidates for this.

Comment 9 by m...@busbud.com, Nov 24 2017

I can still repro the crash on Chrome 62.0.3202.94 Mac OS 10.11.6 using a Guest account. 

The original repro still works, and so does using it in our product (eg I can send a link to crash your entire Chrome browser if you visit it in Guest mode). 

I'm not sure if the following would help prioritize, but if it does here goes: we can't launch using the Payment Request API in confidence with this issue active - the convenience aspect is significantly offset by the crash risk and the difficulty in detecting it vs a conversion issue. Any chance we can detect guest mode? 

Regardless, thanks for great work on a product I use everyday :)
Mike: We believe the fix is in Chrome 63, which is currently in beta [1]. Could you try to reproduce in there? Chrome 63 will become stable sometime in December, we hope. Happy Thanksgiving!

[1] https://www.google.com/chrome/browser/beta.html?platform=mac&extra=betachannel
Status: Fixed (was: Assigned)
Can't repro this anymore so closing this issue. Thanks everyone!

Comment 12 by m...@busbud.com, Jan 24 2018

My consistent repro in 62 no longer works for 63, thanks for fixing this!

Sign in to add a comment