f61facfdaf
Creation stack trace points to the place where callback was actually chained, scheduled points where parent promise was resolved.
For async tasks without creation stack (e.g. setTimeout) we continue to use scheduled as creation since usually they are the same.
BUG=v8:6189
R=dgozman@chromium.org
Review-Url: https://codereview.chromium.org/2868493002
Cr-Original-Commit-Position: refs/heads/master@{#45198}
Committed: e118462f18
Review-Url: https://codereview.chromium.org/2868493002
Cr-Commit-Position: refs/heads/master@{#45266}
235 lines
6.4 KiB
Plaintext
235 lines
6.4 KiB
Plaintext
Checks correctness of promise chains when limit hit
|
|
inspector.setMaxAsyncTaskStacks(3)
|
|
Run expression 'console.trace()' with async chain len: 3
|
|
{
|
|
method : Runtime.consoleAPICalled
|
|
params : {
|
|
args : [
|
|
[0] : {
|
|
type : string
|
|
value : console.trace
|
|
}
|
|
]
|
|
executionContextId : <executionContextId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 67
|
|
functionName : Promise.resolve.then.then.then
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
parent : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 46
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
}
|
|
}
|
|
timestamp : <timestamp>
|
|
type : trace
|
|
}
|
|
}
|
|
inspector.setMaxAsyncTaskStacks(4)
|
|
Run expression 'console.trace()' with async chain len: 3
|
|
{
|
|
method : Runtime.consoleAPICalled
|
|
params : {
|
|
args : [
|
|
[0] : {
|
|
type : string
|
|
value : console.trace
|
|
}
|
|
]
|
|
executionContextId : <executionContextId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 67
|
|
functionName : Promise.resolve.then.then.then
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
parent : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 46
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
description : Promise.resolve
|
|
}
|
|
}
|
|
timestamp : <timestamp>
|
|
type : trace
|
|
}
|
|
}
|
|
inspector.setMaxAsyncTaskStacks(5)
|
|
Run expression 'console.trace()' with async chain len: 3
|
|
{
|
|
method : Runtime.consoleAPICalled
|
|
params : {
|
|
args : [
|
|
[0] : {
|
|
type : string
|
|
value : console.trace
|
|
}
|
|
]
|
|
executionContextId : <executionContextId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 67
|
|
functionName : Promise.resolve.then.then.then
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
parent : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 46
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
description : Promise.resolve
|
|
}
|
|
}
|
|
timestamp : <timestamp>
|
|
type : trace
|
|
}
|
|
}
|
|
inspector.setMaxAsyncTaskStacks(6)
|
|
Run expression 'console.trace()' with async chain len: 3
|
|
{
|
|
method : Runtime.consoleAPICalled
|
|
params : {
|
|
args : [
|
|
[0] : {
|
|
type : string
|
|
value : console.trace
|
|
}
|
|
]
|
|
executionContextId : <executionContextId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 67
|
|
functionName : Promise.resolve.then.then.then
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
parent : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 46
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
description : Promise.resolve
|
|
}
|
|
}
|
|
timestamp : <timestamp>
|
|
type : trace
|
|
}
|
|
}
|
|
inspector.setMaxAsyncTaskStacks(7)
|
|
Run expression 'console.trace()' with async chain len: 3
|
|
{
|
|
method : Runtime.consoleAPICalled
|
|
params : {
|
|
args : [
|
|
[0] : {
|
|
type : string
|
|
value : console.trace
|
|
}
|
|
]
|
|
executionContextId : <executionContextId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 67
|
|
functionName : Promise.resolve.then.then.then
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
parent : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 46
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
description : Promise.resolve
|
|
}
|
|
}
|
|
timestamp : <timestamp>
|
|
type : trace
|
|
}
|
|
}
|
|
inspector.setMaxAsyncTaskStacks(8)
|
|
Run expression 'console.trace()' with async chain len: 3
|
|
{
|
|
method : Runtime.consoleAPICalled
|
|
params : {
|
|
args : [
|
|
[0] : {
|
|
type : string
|
|
value : console.trace
|
|
}
|
|
]
|
|
executionContextId : <executionContextId>
|
|
stackTrace : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 67
|
|
functionName : Promise.resolve.then.then.then
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
parent : {
|
|
callFrames : [
|
|
[0] : {
|
|
columnNumber : 46
|
|
functionName :
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
url :
|
|
}
|
|
]
|
|
description : Promise.resolve
|
|
}
|
|
}
|
|
timestamp : <timestamp>
|
|
type : trace
|
|
}
|
|
}
|