-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flaky segmentation faults in benchmark-linux-try builder #33999
Comments
I've got this issue reproduced in gdb and here's some information: The In my reproduction this happens during optimization of the The corresponding block looks like this:
The value of the instantiator type args is |
Based on the info that @mkustermann provided I think this is probably caused by unreachable code that was not removed. Reduction: class M<U, T> {
T field;
}
class C<T> {
T field;
}
var TRUE = true;
void foo(bool f) {
dynamic x = f ? C<int>() : M<String, int>();
if (f == TRUE) {
x.field = 10;
} else {
x.field = 10;
}
}
void bar() {
foo(true);
}
void main() {
foo(true);
foo(false);
for (var i = 0; i < 100000; i++) bar();
} this causes this
|
Slava's change should've fixed this issue. |
…ignable. Our IL graphs can contain portions that can not be reached due to execution and all optimizations need to take that into account. In this particular case AssertAssignable::Canonicalize should have taken into account that constant instantiator type arguments might not necessarily correspond to the correct class - because AssertAssignable is on the path that will never be reached during execution. Fixes #33999 Bug: http://dartbug.com/33999 Change-Id: Ia151a3902b2bc7f0f8d4aa6dcdb302fe6b1d626d Reviewed-on: https://dart-review.googlesource.com/67321 Commit-Queue: Vyacheslav Egorov <vegorov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
The benchmark-linux-try builder has been failing flakily with segmentation faults recently:
https://ci.chromium.org/p/dart/builders/luci.dart.try/benchmark-linux-try
https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8939865024071580336/+/steps/try_linux-x64_benchmarking/0/stdout
@a-siva @mkustermann I'm marking this as P1 because it happens frequently and might indicate a general instability in Dart. Feel free to change the priority.
The text was updated successfully, but these errors were encountered: