-
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 VM service tests (mismatching event timestamps) #28624
Comments
Here's another: service/pause_on_start_and_exit_test
|
service/pause_on_start_then_step_test
|
These test have (unexpectedly) different event timestamps. This is issue #28624. BUG= R=dmitryas@google.com Review-Url: https://codereview.chromium.org/2671613007 .
I started getting this a lot locally so I investigated a bit. I inserted some more debug printing and got this:
The important parts seems to be:
where "Adding pauseEvent at 2" is from runtime/vm/isolate.cc, Isolate::PrintJSON, case "else if (message_handler()->is_paused_on_start() || message_handler()->should_pause_on_start())". and Set timestamp to x (from y) is from runtime/vm/service_event.cc, ServiceEvent::ServiceEvent : if ((event_kind == ServiceEvent::kPauseStart) &&
!isolate->message_handler()->is_paused_on_start()) {
// We will pause on start but the message handler lacks a valid
// paused timestamp because we haven't paused yet. Use the current time.
timestamp_ = OS::GetCurrentTimeMillis();
printf("Set timestamp to %ld (from 4)\n", timestamp_);
} else if ((event_kind == ServiceEvent::kPauseStart) ||
(event_kind == ServiceEvent::kPauseExit)) {
timestamp_ = isolate->message_handler()->paused_timestamp();
printf("Set timestamp to %ld (from 3)\n", timestamp_);
} else if (event_kind == ServiceEvent::kResume) {
timestamp_ = isolate->last_resume_timestamp();
printf("Set timestamp to %ld (from 2)\n", timestamp_);
} so at least in this case, the test seems to have started and gone into the "I'm paused state" while the vm haven't actually paused yet ("from 4"). Then the test runs reload, the vm actually has paused ("from 3")... |
Just as a note this happens quite often (at least to me) (even when not running from kernel) when run in a loop (for instance running a number of terminals with this loop). E.g. something like
I then at least gets something like this quite often:
|
@turnidge These test have been observed to be flaky (command lines are at the bottom of the dump, I dropped the first part of the dump which seemed uninteresting):
service/pause_on_start_and_exit_test
The text was updated successfully, but these errors were encountered: