Community
Participate
Working Groups
Build: 3.3 M4 I am noticing that autobuild is no longer interrupting when I perform editor save.Editor save should be attempting to beginRule on a resource scheduling rule. Autobuild job should then notice this thread waiting, and abort the build. I don't know if this is something that has changed in the editor save, or something I have done in resources, but it needs further investigation.
Created attachment 56847 [details] Stack dump when editor is blocked by build
I believe that the background save support that I put into M4 only changes the save behaviour when the saveable supports background save, and I am quite sure that nothing in the SDK supported background save in M4. I just removed the code that used scheduling rules from the background save implementation, and would suggest that the investigation be performed based on HEAD, or based on builds after today.
Must investigate for 3.3. Possibly related to fix for bug 164496.
The autobuild job also blocks CVS actions such as Replace With > Latest from HEAD. I always have to kill the job at least two times before the CVS job can make progress.
Same problem when build is running and I try to import plug-ins from target platform.
The fix for bug 164496 was to immediately reschedule the autobuild job upon interruption. Waiting thread jobs don't compete for scheduling rules according to a fair queuing scheme, so when the autobuild completes there is a race for who gets the lock. It can easily occur that the rescheduled autobuild grabs the lock first. In this case the waiting thread job (editor save) is starved and continues to be blocked by the autobuild. Normally when autobuild job is scheduled, it is given a scheduling delay within bounds of MIN_SCHEDULING_DELAY (default 100ms) and MAX_SCHEDULING_DELAY (default 1000ms), depending on how recently it has run. I think the rescheduling of the autobuild should also follow these bounds rather than eagerly rescheduling. This will give an opportunity for other threads to compete for the scheduling rule.
Fix released (AutobuildJob)
John, I see that you backported the "fix" for bug 164496 to 3.2.2 (see bug 167178). Does that mean 3.2.2 now suffers from this bug here? That would be pretty bad and should be corrected in a subsequent build.
Yes, it's quite possible the same regression went into 3.2.2, although nobody has reported a problem. Since there are no further 3.2.x maintenance releases planned there's not much we can do.