Open GoogleCodeExporter opened 9 years ago
We're seeing very similar corruption reported, running Bitcoin on OSX:
https://github.com/bitcoin/bitcoin/issues/2770
Original comment by gavinand...@gmail.com
on 12 Aug 2013 at 6:16
This issue is affecting a ton of the crypto currency clients... bitcoin,
litecoin, novacoin, worldcoin, on and on and on... all Level DB errors and it
is for me when I shut the client down and start back up. It is so annoying
because I have to delete the DB files and re download the whole block chain.
Also, it is not just OSX I saw at least one person say Windows XP and I am on
Ubuntu 13.04 DESKTOP ( WITH WINDOWWS TOO) and on Ubuntu SERVER...
Original comment by sudosurootdev
on 12 Aug 2013 at 7:58
I would recommend to set the priority of this defect to -->"Priority-High"<--.
People getting unusable/destroyed level-db's because of this issue.
Original comment by jonas.sc...@gmail.com
on 13 Aug 2013 at 6:22
The issue on OS X may be that fsync apparently doesn't tell the hard disk to
flush to the platters. There's a separate magic incantation for that.
Original comment by mh.in.en...@gmail.com
on 15 Aug 2013 at 8:06
I think it would be very helpful for bug reports on corruption to include
version specifics for both OS and filesystem. This issue is probably related
to getting writes flushed to disk properly and the steps necessary to do that
can be dependent on both the OS and the filesystem. Leveldb is likely tuned
very well for the linux stack used at Google, but for other stacks we may need
to tweak the use of fsync/fdatasync etc -- I think this is what
port/port_posix.h is intended for.
On Mac OS X for most filesystems, for example, it will probably require using a
fcntl F_FULLFSYNC, instead of a simply fsync(), in order to guarantee writes
get to non-volatile storage before returning. Other OS/fs pairs may require
other tweaks. Unfortunately that may significantly degrade performance as
F_FULLFSYNC will force all buffers to write, including those unrelated to
leveldb (i.e., I don't believe it is file-specific). Patch from my local git
repo is attached.
Original comment by dana.pow...@gmail.com
on 15 Aug 2013 at 5:45
Attachments:
Come to think of it, the originally reported corruption in this ticket was on
an OS X system as well.
Original comment by jtolds
on 15 Aug 2013 at 6:16
oops, i was just informed that it was actually a linux VM on top of OS X. i'm
sure the VM stack called the appropriate f_fullfsync, but i don't know for
certain, and i don't know the specific vm used at this point. :( sorry guys.
Original comment by jtolds
on 15 Aug 2013 at 6:21
Original issue reported on code.google.com by
jtolds
on 29 Jul 2013 at 3:48