Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Issue 1768763002: Fix context level info in for-loops (Closed)

Created:
4 years, 9 months ago by hausner
Modified:
4 years, 9 months ago
Reviewers:
Florian Schneider
CC:
reviews_dartlang.org, vm-dev_dartlang.org, turnidge, lukechurch
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Fix context level info in for-loops The stack overflow check on the back-branch of the loop must be at the same context level as the (outer) loop block of the for-loop. Before this change, the stack check was recorded to be at a token position that is outside of the loop block, which caused a context mismatch on some stack traces when the debugger or the observatory interrupted the isolate on that back branch. It is not practical to write a test for this, unfortunately. BUG=25684 R=fschneider@google.com Committed: https://github.com/dart-lang/sdk/commit/3107a41bb7540156eb0ac4dabfa16d878cd72134

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+12 lines, -2 lines) Patch
M runtime/vm/flow_graph_builder.cc View 1 chunk +6 lines, -1 line 0 comments Download
M runtime/vm/object.cc View 1 chunk +6 lines, -1 line 0 comments Download

Messages

Total messages: 7 (3 generated)
hausner
4 years, 9 months ago (2016-03-04 23:38:23 UTC) #3
Florian Schneider
Lgtm. It may be possible to reliably reproduce this crash with --stacktrace-every=N stack checks, using ...
4 years, 9 months ago (2016-03-05 00:10:42 UTC) #4
hausner
Committed patchset #1 (id:1) manually as 3107a41bb7540156eb0ac4dabfa16d878cd72134 (presubmit successful).
4 years, 9 months ago (2016-03-05 00:37:08 UTC) #6
hausner
4 years, 9 months ago (2016-03-05 00:40:24 UTC) #7
Message was sent while issue was closed.
Thank you.

Even with the --stacktrace-every=N option, the test would be unreliable. If it
doesn't fail, it hangs. If you make it terminate after a set time, you still
don't know whether the bug is indeed fixed.

Unreliable tests are worse than no tests :-)

Powered by Google App Engine
This is Rietveld 408576698