Tab crash on stepping into nested arrow function
Reported by
bfle...@gmail.com,
Feb 25 2017
|
|||||||||||||
Issue description
UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Steps to reproduce the problem:
1. Set a break point on the 2nd line of this code:
const mult = (x) => (y) =>
y ? mult(x * y) : x;
2. Type the following function invocation directly into the console:
mult(5)(4)()
3. Tab crashes after first step.
What is the expected behavior?
Not crashing
What went wrong?
Repeatable tab crash while debugging certain arrow functions.
Did this work before? N/A
Chrome version: 56.0.2924.87 Channel: stable
OS Version: OS X 10.12.3
Flash Version: Shockwave Flash 24.0 r0
Repeatable in Stable and Canary with all extensions disabled.
Equivalent non-arrow version does *not* crash on debug:
function mult(x) {
return function(y) {
return y ? mult(x * y) : x;
}
}
,
Feb 27 2017
@bfletch-- Could you please provide us the sample html file/ test case with the given code snippet in original comment , that would help us in traiging the issue better. Thanks!
,
Feb 27 2017
,
Feb 27 2017
https://codereview.chromium.org/2721633004/ +Yang since it's related to v8 internal.
,
Mar 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/62b6dd194216e734bbaf98bb144a87bd149a94f5 commit 62b6dd194216e734bbaf98bb144a87bd149a94f5 Author: yangguo <yangguo@chromium.org> Date: Tue Mar 14 16:35:19 2017 [debugger] correctly find inner function scope. Nested arrow functions can have the same end positions, so the end position is unsuitable to decide whether a scope is an inner function scope. BUG= chromium:696202 R=jgruber@chromium.org, kozyatinskiy@chromium.org Review-Url: https://codereview.chromium.org/2751573003 Cr-Commit-Position: refs/heads/master@{#43797} [modify] https://crrev.com/62b6dd194216e734bbaf98bb144a87bd149a94f5/src/debug/debug-scopes.cc [add] https://crrev.com/62b6dd194216e734bbaf98bb144a87bd149a94f5/test/inspector/debugger/step-into-nested-arrow-expected.txt [add] https://crrev.com/62b6dd194216e734bbaf98bb144a87bd149a94f5/test/inspector/debugger/step-into-nested-arrow.js [modify] https://crrev.com/62b6dd194216e734bbaf98bb144a87bd149a94f5/test/inspector/protocol-test.js
,
Mar 15 2017
,
Mar 15 2017
This bug requires manual review: Request affecting a post-stable build Please contact the milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 15 2017
Per bug description this issue reported on M56 and not an M57 regression. M57 for Desktop is already in Stable and bar for taking any merges is VERY high. This will have to wait for M58. Please let me know if there is any concern here.
,
Mar 15 2017
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 15 2017
Your change is approved for M58. Please ensure whether this fix is verified in canary. If yes, please merge ASAP so that it will be picked up for M58 Beta promotion RC cut today(Wednesday-03/15) at 5.00 PM PST.
,
Mar 15 2017
That ruins the debugging experience especially as we want more people to adopt ES2015+. Let's merge this stability/correctness fix.
,
Mar 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/3a98f3e404cc3ea4414fb77c61b369673cbb0993 commit 3a98f3e404cc3ea4414fb77c61b369673cbb0993 Author: Yang Guo <yangguo@chromium.org> Date: Thu Mar 16 08:26:39 2017 Merged: Squashed multiple commits. Merged: [debugger] fix switch block source positions. Revision: 09de9969ccb9bc3bbd667788afad665b309d02f5 Merged: [debugger] correctly find inner function scope. Revision: 62b6dd194216e734bbaf98bb144a87bd149a94f5 TBR=hablich@chromium.org BUG= chromium:696202 , v8:6085 LOG=N NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true Change-Id: I700b3dcb5ce076e216bfe94b5db39eda980b91b6 Reviewed-on: https://chromium-review.googlesource.com/455834 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/branch-heads/5.8@{#31} Cr-Branched-From: eda659cc5e307f20ac1ad542ba12ab32eaf4c7ef-refs/heads/5.8.283@{#1} Cr-Branched-From: 4310cd02d2160b1457baed81a2f40063eb264a21-refs/heads/master@{#43429} [modify] https://crrev.com/3a98f3e404cc3ea4414fb77c61b369673cbb0993/src/debug/debug-scopes.cc [modify] https://crrev.com/3a98f3e404cc3ea4414fb77c61b369673cbb0993/src/parsing/parser-base.h [modify] https://crrev.com/3a98f3e404cc3ea4414fb77c61b369673cbb0993/src/parsing/parser.cc [add] https://crrev.com/3a98f3e404cc3ea4414fb77c61b369673cbb0993/test/debugger/regress/regress-6085.js [add] https://crrev.com/3a98f3e404cc3ea4414fb77c61b369673cbb0993/test/inspector/debugger/step-into-nested-arrow-expected.txt [add] https://crrev.com/3a98f3e404cc3ea4414fb77c61b369673cbb0993/test/inspector/debugger/step-into-nested-arrow.js
,
Mar 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/3fa870d87b5199ccfa1f3f795979b101e2f207ed commit 3fa870d87b5199ccfa1f3f795979b101e2f207ed Author: Yang Guo <yangguo@chromium.org> Date: Thu Mar 16 08:44:40 2017 Merged: Squashed multiple commits. Merged: [debugger] fix switch block source positions. Revision: 09de9969ccb9bc3bbd667788afad665b309d02f5 Merged: [debugger] correctly find inner function scope. Revision: 62b6dd194216e734bbaf98bb144a87bd149a94f5 TBR=hablich@chromium.org BUG= chromium:696202 , v8:6085 LOG=N NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true Change-Id: I1723918e5d7ac4fd174c4d1ec83d2a49cd858c8b Reviewed-on: https://chromium-review.googlesource.com/456216 Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/branch-heads/5.7@{#146} Cr-Branched-From: 975e9a320b6eaf9f12280c35df98e013beb8f041-refs/heads/5.7.492@{#1} Cr-Branched-From: 8d76f0e3465a84bbf0bceab114900fbe75844e1f-refs/heads/master@{#42426} [modify] https://crrev.com/3fa870d87b5199ccfa1f3f795979b101e2f207ed/src/debug/debug-scopes.cc [modify] https://crrev.com/3fa870d87b5199ccfa1f3f795979b101e2f207ed/src/parsing/parser-base.h [modify] https://crrev.com/3fa870d87b5199ccfa1f3f795979b101e2f207ed/src/parsing/parser.cc [add] https://crrev.com/3fa870d87b5199ccfa1f3f795979b101e2f207ed/test/debugger/regress/regress-6085.js [add] https://crrev.com/3fa870d87b5199ccfa1f3f795979b101e2f207ed/test/inspector/debugger/step-into-nested-arrow-expected.txt [add] https://crrev.com/3fa870d87b5199ccfa1f3f795979b101e2f207ed/test/inspector/debugger/step-into-nested-arrow.js
,
Mar 16 2017
,
Mar 16 2017
Per comment #12 and #13 this is already merged to M57 and M58. |
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by ajha@chromium.org
, Feb 27 2017