[SERVER-10462] Windows file locking related buildbot failures Created: 07/Aug/13 Updated: 11/Jul/16 Resolved: 19/May/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | 2.6.2, 2.7.1 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Matt Kangas | Assignee: | Matt Dannenberg |
| Resolution: | Done | Votes: | 0 |
| Labels: | buildbot | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | Windows | ||||
| Backport Completed: | |||||
| Participants: | |||||
| Description |
|
A number of build failures on Windows systems seem to stem from file locking issues. Working theory: Our test harness assumes that files owned by a process (usually mongod) will be unlocked as soon as the process exits. Windows guarantees that the OS will unlock files after process termination, but makes no guarantees about when they will be unlocked. On a loaded system it may not be immediate. Test failures we believe are due to our test framework assuming that the files are immediately unlocked on exit: Buildbot V2.4 Windows 64-bit 2008R2+ Errors include:
Buildbot V2.4 Windows 64-bit
This one different: not a test framework error, but rather a failure within a test. Buildbot V2.4 Windows 32-bit
|
| Comments |
| Comment by Githook User [ 01/Jun/14 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Author: {u'username': u'dannenberg', u'name': u'matt dannenberg', u'email': u'matt.dannenberg@10gen.com'}Message: (cherry picked from commit f9be10eccac4ce39ad64d84bd02916257f9a8ef6) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Githook User [ 19/May/14 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Author: {u'username': u'dannenberg', u'name': u'matt dannenberg', u'email': u'matt.dannenberg@10gen.com'}Message: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ernie Hershey [ 30/Apr/14 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Just saw this again - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Spencer Brody (Inactive) [ 28/Apr/14 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Possibly another instance of this: https://mci.10gen.com/ui/task/mongodb_mongo_master_windows_32_f8b37a48243adce8dc6105180b3f529d44fde4b4_14_04_28_18_48_16_jsCore_windows_32#/log/E | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by J Rassi [ 25/Mar/14 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mark.benvenuto tells me that TerminateJobObject() performs a "kill -9" equivalent, so my "absence of shutdown log information" evidence is invalidated (since it is not expected for mongod to generate log output in response to a hard kill). I am still suspicious of whether the mongod is alive, though. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Matt Kangas [ 24/Mar/14 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Attaching test log to last example Jason provided. Also note the presence of massive whitespace in the file. Lines 103-2100 and 2125-4100 are blank. Only 5 seconds elapses between lines 103-2100, so 400 lines/second? Separate buildlogger bug? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by J Rassi [ 24/Mar/14 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Re-opening ticket. This failure seen again at 8b99b7e8b7 / Windows 32-bit / jsCore_compatibility (suite log here, test log here). Suite log excerpt:
Test log excerpt:
Note from the test log that no log output is generated from the mongod process that was supposed to have shut down, and the new mongod process exits immediately after not being able to acquire a filesystem lock on mongod.lock. This leads me to suspect me that smoke.py's call to TerminateJobObject() did not properly shut down the existing mongod process. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Matt Kangas [ 08/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
For posterity, note that this fix isn't always sufficient. But we have seen this failure much less often: MCI 6069172335a0 Windows 32-bit js
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by auto [ 02/Oct/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Author: {u'username': u'kangas', u'name': u'Matt Kangas', u'email': u'matt.kangas@mongodb.com'}Message: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Matt Kangas [ 11/Sep/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hopefully this fix is sufficient | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by auto [ 11/Sep/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Author: {u'name': u'Matt Kangas', u'email': u'matt.kangas@mongodb.com'}Message: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Matt Kangas [ 06/Sep/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This again: Fri Sep 6 I have a potential fix. Will submit a code review asap. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Matt Kangas [ 22/Aug/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Again: Builder V2.4 Windows 64-bit 2008R2+ Build #107 (Wed Aug 21)
Maybe we can sleep and retry if we encounter "WindowsError: [Error 32]"? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Matt Kangas [ 08/Aug/13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Again: V2.4 Windows 64-bit 2008R2+ Build #94 (Aug 8)
|