Daniel Shahaf wrote on 2018-06-14: > Julian Foad wrote on Thu, 14 Jun 2018 16:06 +0100: > > Branko Čibej wrote on 2018-06-14: > > > A sync (which forces a write to disk) should not be necessary in cases > > > like this one, as long as we close the file in Python — that should > > > ensure a write to the OS buffers. If this were the problem, Subversion > > > wouldn't work on macOS at all. > > > > > > I still don't understand why this issue manifests only with the shelving > > > tests, > > > > The most unusual thing about these failing tests is the data they write. > > Strings of 5 or 6 low-value bytes, like: > > > > '\0\1\2\3\4\5' > > '\5\4\3\2\1\0' > > '\1\6\3\4\5' > > > > Just in case that gives anybody a clue. > > In the link in the first post, the expected data is '\0\1\2\3\4\5' and > the actual data is '\5\4\3\2\1\0'. It looks like a uint48_t written > with the wrong endianness.
No, no -- these are the literal strings that I put in the Python test code, just as written here, in order to test shelving of 'binary' data. For example, one test starts with file content '\0\1\2\3\4\5' and changes it to '\5\4\3\2\1\0' and shelves that change. > Note that test 15 didn't fail in today's build, even though it did fail > for the last four days in a row. There don't seem to have been any > relevant commits yesterday. The exact location of the failures varies from one test run to another. Some tests fail at one point in one test run, then fail at a later or earlier point in another test run, but all failures seem to be of the same general form. - Julian