WebCrypto key generation causes browser to hang

RESOLVED INCOMPLETE

Status

()

RESOLVED INCOMPLETE
3 years ago
2 years ago

People

(Reporter: ryan_hurst, Unassigned, NeedInfo)

Tracking

({hang})

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

3 years ago
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36

Steps to reproduce:

Visit csrhelp.peculiarventures.com/app/ enter a host name, change rsa key size to large value.


Actual results:

Browser was hung until key gen completed.


Expected results:

In Edge and Chrome this works as expected (page remains responsive)
(Reporter)

Updated

3 years ago
Keywords: hang

Updated

3 years ago
Component: DOM: Security → Security
This is weird; I'd expect the keygen to be happening on a background thread, so why is the browser unresponsive?
Flags: needinfo?(ttaubert)
Unfortunately the example page is gone, can you put it back up or point to a different example? The WebCrypto api is promise-based and shouldn't be hanging the browser, and in any case e10s (available in current Firefox to a significant chunk of our users) should help. Do you still see the problem?

"Change rsa key size to large" sounds like the old <keygen> UX -- are you sure you're talking about webcrypto? <keygen> is definitely single-threaded and known to hang the browser UI.
Component: Security → DOM: Security
Flags: needinfo?(ryan_hurst)
(Reporter)

Comment 3

2 years ago
I no longer have the repo for this so you should close it, that said I was not using <keygen> :)
(In reply to Boris Zbarsky [:bz] from comment #1)
> This is weird; I'd expect the keygen to be happening on a background thread,
> so why is the browser unresponsive?

Yeah, WebCrypto does everything off the main thread. I wonder if that page maybe wasn't using the WebCrypto API only with Firefox and for some reason fell back to pure JS? Hard to answer with the page being gone :/
Flags: needinfo?(ttaubert)
Oh, the page is gone?  That makes it pretty hard to do anything here, yeah... :(

Resolving incomplete, but I would be very interested in a testcase that shows a problem here... Please reopen if one is available.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.