New issue
Advanced search Search tips

Issue 922032 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Eager evaluation can lock up the tab if the code takes a long time to run

Reported by bu...@systemonesoftware.com, Jan 15

Issue description

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

Steps to reproduce the problem:
1. Open the devtools console
2. Ensure "Eager evaluation" is enabled
3. Type the line: 2n ** 22222222n 

What is the expected behavior?
That it will time out or not evaluate

What went wrong?
It attempts to evaluate code that takes a very long time and it probably locks up the thread while doing so. 

Did this work before? No 

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

I'm not sure if this is a real issue. This behaviour is of course expected when actually evaluating such an expression (i.e. when you actually press enter after typing the expression), but I'm not certain if the eager evaluation feature should also be able to cause lockups.
 
Labels: Needs-Triage-M71

Comment 2 by susan.boorgula@chromium.org, Jan 17 (5 days ago)

Cc: susan.boorgula@chromium.org
Labels: Target-73 M-73 FoundIn-71 FoundIn-73 FoundIn-72 OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
reporter@ Thanks for the issue.

Able to reproduce this issue on Windows 10, Ubuntu 17.10 and Mac OS 10.13.6 on the latest Stable 71.0.3578.98 and latest Canary 73.0.3674.0.
This is a Non-Regression issue as this behavior is observed from M-68(68.0.3425.0) chrome build from where "Eager evaluation" option is introduced.

Hence marking this as Untriaged for further updates from Dev.

Thanks..

Comment 3 by l...@chromium.org, Jan 18 (5 days ago)

Cc: -susan.boorgula@chromium.org yangguo@chromium.org
Owner: l...@chromium.org
Status: Assigned (was: Untriaged)
Thanks for the report, EagerEval does aim to avoid timeouts whenever possible.  We haven't received a ton of feedback about this case.  The only workaround is to go to Console's 'Settings' gear icon > disable 'Eager evaluation'.

Yang, are there plans to add stack guards for BigInt-exponentiation-operator ?  If not, it might be worth removing it from the whitelist.

Comment 4 by yangguo@chromium.org, Jan 18 (4 days ago)

Cc: jkummerow@chromium.org
This is a good point. Jakob probably can tell how hard it is to add interrupt checks in BigInt::Exponentiate. This is probably something we should do anyways.

Blacklisting is not as easy, since we don't want to blacklist all binary ops. So we would have to add a check for the side effect free mode in Runtime_BigIntBinaryOps, and bail out if necessary.

Sign in to add a comment