More fixes for blockchain corruption on OSX. #3000

pull gmaxwell wants to merge 1 commits into bitcoin:master from gmaxwell:more_osx_fsync changing 1 files +2 −0
  1. gmaxwell commented at 3:17 am on September 16, 2013: contributor

    As we’d previously learned, OSX’s fsync is a data eating lie.

    Since 0.8.4 we’re still getting some reports of disk corruption on OSX but now all of it looks like the block files have gotten out of sync with the database. It turns out that we were still using fsync() on the block files, so this isn’t surprising.

  2. gmaxwell commented at 3:18 am on September 16, 2013: contributor
    I have no ability to test this.
  3. More fixes for blockchain corruption on OSX.
    As we'd previously learned, OSX's fsync is a data eating lie.
    
    Since 0.8.4 we're still getting some reports of disk corruption on
     OSX but now all of it looks like the block files have gotten out of
     sync with the database. It turns out that we were still using fsync()
     on the block files, so this isn't surprising.
    e7bad10c12
  4. gmaxwell commented at 3:37 am on September 16, 2013: contributor
    Direct apple specific test for now so that this is easily backported, though it should be generic enough to apply to all darwin, I think?
  5. jgarzik commented at 3:37 am on September 16, 2013: contributor
    untested ACK
  6. gavinandresen commented at 4:01 am on September 16, 2013: contributor
    ACK. Stepped through in the debugger on OSX to make sure the #ifdef is correct.
  7. BitcoinPullTester commented at 4:52 am on September 16, 2013: none
    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/e7bad10c12ce9b5d424ac273c1c977b88469d46c for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.
  8. intelliot commented at 7:42 am on September 16, 2013: none
    This is probably a dumb question but what exactly is meant by “untested ACK”?
  9. mikehearn commented at 9:42 am on September 16, 2013: contributor

    It means the code was reviewed by reading it, but not actually trying to see if it works. In this case the fix is obviously correct.

    I wonder where else fsync might be lurking.

  10. sipa commented at 11:20 am on September 16, 2013: member
    ACK. Didn’t test either.
  11. jgarzik referenced this in commit a25cd0bfdf on Sep 16, 2013
  12. jgarzik merged this on Sep 16, 2013
  13. jgarzik closed this on Sep 16, 2013

  14. gmaxwell commented at 1:40 pm on September 16, 2013: contributor
    @mikehearn in our codebase that appeared to be it.
  15. Bushstar referenced this in commit d3ce0964b2 on Apr 8, 2020
  16. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-07-05 19:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me