-
Notifications
You must be signed in to change notification settings - Fork 114
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
org.eclipse.core.tests.runtime.jobs.JobEventTest | testSleepOrderOfEvents fails on windows intermittently #271
Comments
@jukzi : could you please take a look? |
The given link does not show that error which makes it impossible to analyze. |
I also saw this fail this morning. |
OK, the lost test fail can be seen here: |
Race condition at Event 7 Job.run() in Thread 'Worker-659: testSleepOrderOfEvents' with Event 6 IJobChangeEvent.running() in Thread 'Worker-660'
Indeed currentJob.run is called without waiting for all events to be processed first. If another worker process processes the event the job.eventQueue.isEmpty() check in waitAndSendEvents will be true before the event was processed. |
…latform#271 The abbreviation check eventQueueThread.isEmpty() can become true before all events processed. Need to have a lock before doing the check.
Regression seem to exist since #193, or is this is a regression from #263? @jukzi : please could you assess the severity of the issue. What could be possible regressions from that?
and with that, please assess possible criticality of the proposed patch. The main question for me is: if that should be added to RC2, as a regression in Job framework? @akurtakov: FYI. |
Do we have an issue for real breakage somewhere? If not I would say this is not for RC2 as the change is in quite critical place. |
It could happen is that IJobChangeEvent.running() and Job.run() are executed in parallel. It was never guaranteed in the API that they would not do so. But since the historic implementation did always executed running() before run() there might be clients that relied on that behaviour even though they should not. |
…latform#271 The abbreviation check eventQueueThread.isEmpty() can become true before all events processed. Need to have a lock before doing the check.
…latform#271 The abbreviation check eventQueueThread.isEmpty() can become true before all events processed. Need to have a lock before doing the check.
|
…latform#271 The abbreviation check eventQueueThread.isEmpty() can become true before all events processed. Need to have a lock before doing the check.
The abbreviation check eventQueueThread.isEmpty() can become true before all events processed. Need to have a lock before doing the check.
org.eclipse.core.tests.runtime.jobs.JobEventTest | testSleepOrderOfEvents failed on windows in the build I20221117-1330 with the below error
The text was updated successfully, but these errors were encountered: