-
Bug
-
Resolution: Fixed
-
P4
-
None
-
None
-
b89
-
Verified
The following code:
a: try {
} finally {
break a;
}
causes a stack overflow:
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
a: try {
} finally {
break a;
}
causes a stack overflow:
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)
at jdk.nashorn.internal.ir.TryNode.copy(TryNode.java:95)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabelNode.<init>(LabelNode.java:72)
at jdk.nashorn.internal.ir.LabelNode.copy(LabelNode.java:79)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.LabeledNode.<init>(LabeledNode.java:78)
at jdk.nashorn.internal.ir.BreakNode.<init>(BreakNode.java:53)
at jdk.nashorn.internal.ir.BreakNode.copy(BreakNode.java:58)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.Block.<init>(Block.java:115)
at jdk.nashorn.internal.ir.Block.copy(Block.java:127)
at jdk.nashorn.internal.ir.Node$CopyState.existingOrCopy(Node.java:200)
at jdk.nashorn.internal.ir.TryNode.<init>(TryNode.java:89)