wtogami



Offline



Activity: 263

Merit: 250









Sr. MemberActivity: 263Merit: 250 [FIXED] MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 18, 2013, 03:26:40 AM

Last edit: December 29, 2013, 04:47:55 AM by wtogami #1 FIXED.



Can you fix the MacOS X Bitcoin LevelDB data corruption issue?

https://bitcointalk.org/index.php?topic=337294.msg3718821#msg3718821

TEST THESE BUILDS NOW!



Bounty Funding: 10.00 BTC + 200.2 LTC

Gavin Andresen has pledged 5 BTC. BitcoinTalk pledged 4 BTC. Public donations have contributed 1 BTC. Litecoin Dev Team pledges 200 LTC. The public is encouraged to contribute to these addresses to increase the incentive to fix this sooner.



BTC: 1FZ1mSJXj8aJqdpwUcpigLBqJLwtTu46fA

LTC: LS1Rb3bb29TA9PEVGR64bV2cLxC7RdQi8A

Conditions

The bounty may be awarded under the following conditions.



Document how anyone can consistently reproduce the data corruption.

Explain why it happens.

Write a code fix that is acceptable to the Bitcoin core developers and merged into Bitcoin.

The Bitcoin developers have ultimate deciding power of how to apportion the bounty award(s) based upon the merit of the contributions This may encourage collaboration that may lead to a fix rather than hoarding of information. Non-developers may be able to figure out #1.



These terms may be changed at any time for any or no reason.



Background

https://github.com/bitcoin/bitcoin/issues/2770

Since Bitcoin 0.8.x and the introduction of LevelDB, MacOS X users have been experiencing periodic LevelDB data corruption. For some Mac users it has never happened, while for others it happens frequently.



https://github.com/bitcoin/bitcoin/pull/2916

https://github.com/bitcoin/bitcoin/pull/3000

https://github.com/bitcoin/bitcoin/pull/2933

Bitcoin master now contains two Mac-specific fsync patches and an upgrade to LevelDB 1.13. clean shutdown and restart of the client. All corruption reports seem to be from MacOS X 10.8.x and 10.9 users. It is unclear if earlier versions of MacOS X are affected. It is unknown if particular hardware or software configurations are involved.



https://github.com/bitcoin/bitcoin/issues/2785

Corruption with the same error message apparently is capable of fixing itself. Not clear if this is true of the recent master branch.



GPG Signed message

Code: -----BEGIN PGP SIGNED MESSAGE-----

Hash: SHA256



https://bitcointalk.org/index.php?topic=337294

These addresses contain public donations to be added to the Bitcoin MacOS X corruption fix bounty.

BTC: 1FZ1mSJXj8aJqdpwUcpigLBqJLwtTu46fA

LTC: LS1Rb3bb29TA9PEVGR64bV2cLxC7RdQi8A

-----BEGIN PGP SIGNATURE-----

Version: GnuPG v1.4.15 (GNU/Linux)



iQQcBAEBCAAGBQJSiaeFAAoJELEXnrc0fcENmRsf/3c/w53R2EHX62L+QimS96Rj

J+GPSpVQQRFOFr19OM+efjC1ydoZ3N/suYI1FynQ9nX4RzmCW5ZwbxMtl6wnEw7h

oIqv+ufnD0XEpkFr+g32JdoRNN2KprrMH4Cr2oLI0w+Oqv32jLveoRIqSzIArCId

U9ZVPcvFvKa9hWJrnM9KJQW6NgsGsKW3WBk5n/Wcbp4PYUn9ZC0taRMq2NbakSwk

RaNf6yFSC1wWb2dD6eE+1UiXBCidyK0cVUMkjCRoA0eRqZqy2cJwELmOrJ1RHlgP

6K9Y6MuelTPxhXNa/NNq/sVAbhOmtAeyJ5ApuTuvjd1gpKpS14bFEHY7yFf/dv7A

t0Z43xqQ8FVJ9HnYKY0T6d5W30L31bz5EZvhTQsa+IzfrQeBXGu1ecXM6dSlkcpf

KkJQdyLZ2W72roq+RjF5eOsLmlW9+Xyk7pMSn403oMlMY5EpJByAO8znomq0XEkq

UWPqfzjF2ptXGt6JqPdXx2La3w/jd+GNpHFsA65xZlcgYls/LXyq6483jDz3qPUS

L6WZJZh5BrE4yfmIcTh8LUdiVj7fzlZs3r7CKmD8pv3mtsLpqAZGNiFdK8uMuerp

h+2rPreMxGN7AqN28xdo5WOhqCAersoJQuwz3yQcGtXqnqcVTCBUCoaDpFxExlIK

BHKuGW6awyd1akgKz46aWjlDnWuJ94ZY90tkKPXtSe2XhMZHtq5gYzxpv6qEEFo4

ikDpxyaoDMK7GOdUW0FGY9ZSELWjuPSIwjip/5KN5Z51/TaUeiOQmhxQJLIHKNY3

SMj+wNJLb+FTdlOPBEqYAu3WPPG9ye73ADudt1N36ELLqFcvjsB1RzqntpogEHXR

T+I2VOTtbMvCPqbKdy5FijOERfjRIfrfXirovboLb/iP8ouhbuH7JHcj2niFshaL

i6MBAB2eTTh9LlNx3B1w/ESQuYJlR4NsHDiGmWQGHAEHw6LaCVT7MDh2fmag+1Jx

vDF2LdcCnRCgP5mSv+ZeJv7MvpeJ84UL3SlkB6iKZyD1+EJMyTB7f7xLbyWZSp+v

To7lqJBxk1PbqcRl9rYX7jdW4b4ztsr8FNxOvw5jxcPGZ0Mc9eb9ln6Nl+hx4PBv

jg4j4emg9uAPqRZn8KgJ1OL+wYE5Lw74mu3CP63pBmRVSl894janSUhKc4Z3ToF2

9kf81jVWudmRrVzQhiYA8vlrbC1Bc3nhlrX0KlF8VdREvptfV9PMbOAZdW96u4Mt

1lbqv2ZNWqxOon7Q3HKOcOo3uNvhv0sYItXSygZx5Z/chmBBRQrrJDCdHUw+WhR8

UGNsSL+Rz2vFeAc/W6jrlw3dId/wK+H36vDW8X4bSY6rVi+HhxZNoAPihUNNFy4=

=o/b5

-----END PGP SIGNATURE-----

Gavin Andresen has pledged 5 BTC. BitcoinTalk pledged 4 BTC. Public donations have contributed 1 BTC. Litecoin Dev Team pledges 200 LTC. The public is encouraged to contribute to these addresses to increase the incentive to fix this sooner.The bounty may be awarded under the following conditions.The Bitcoin developers have ultimate deciding power of how to apportion the bounty award(s) based upon the merit of the contributions This may encourage collaboration that may lead to a fix rather than hoarding of information. Non-developers may be able to figure out #1.These terms may be changed at any time for any or no reason.Since Bitcoin 0.8.x and the introduction of LevelDB, MacOS X users have been experiencing periodic LevelDB data corruption. For some Mac users it has never happened, while for others it happens frequently.Bitcoin master now contains two Mac-specific fsync patches and an upgrade to LevelDB 1.13. Bitcoin 0.8.5 OMG3 and Litecoin 0.8.5.2-rc5 contains these same patches. It is possible that a different Mac corruption issue was solved by these earlier patches, but users of these branches have reported continued corruption. Curiously, corruption seems to happen after aand restart of the client. All corruption reports seem to be from MacOS X 10.8.x and 10.9 users. It is unclear if earlier versions of MacOS X are affected. It is unknown if particular hardware or software configurations are involved.Corruption with the same error message apparently is capable of fixing itself. Not clear if this is true of the recent master branch. If you appreciate my work please consider making a small donation.

BTC: 1LkYiL3RaouKXTUhGcE84XLece31JjnLc3 LTC: LYtrtYZsVSn5ymhPepcJMo4HnBeeXXVKW9

GPG: AEC1884398647C47413C1C3FB1179EB7347DC10D

AWARD-WINNING

CASINO CRYPTO EXCLUSIVE

CLUBHOUSE 1500+

GAMES 2 MIN

CASH-OUTS 24/7

SUPPORT 100s OF

FREE SPINS PLAY NOW Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertised sites are not endorsed by theBitcoin Forum.They may be unsafe, untrustworthy, orillegal in your jurisdiction. Advertise here.

Diapolo



Offline



Activity: 769

Merit: 500









Hero MemberActivity: 769Merit: 500 Re: MacOS X LevelDB Corruption Bounty (5 BTC + 200.2 LTC) November 18, 2013, 11:17:47 AM #2

Perhaps this can help in a way that it works a little different than current code, dunno. I also added somewhat clearer exception error messages.



https://github.com/bitcoin/bitcoin/pull/3277



It's not intended for getting merged into the master branch yet, perhaps it never will, but you can give it a try.



Dia I created a pull (not specific to this problem), which uses std::fstream instead of fopen() and such for reading/writing block/undo files.Perhaps this can help in a way that it works a little different than current code, dunno. I also added somewhat clearer exception error messages.It's not intended for getting merged into the master branch yet, perhaps it never will, but you can give it a try.Dia

1PwnvixzVAKnAqp8LCV8iuv7ohzX2pbn5x

bitcoin:1PwnvixzVAKnAqp8LCV8iuv7ohzX2pbn5x?label=Diapolo Liked my former work for Bitcoin Core? Drop me a donation via:1PwnvixzVAKnAqp8LCV8iuv7ohzX2pbn5x

donal



Offline



Activity: 23

Merit: 0







NewbieActivity: 23Merit: 0 Re: MacOS X LevelDB Corruption Bounty (5 BTC + 200.2 LTC) November 18, 2013, 10:29:11 PM #6 Litecoin wallet was crashing for me, saying DB corruption, if I open terminal and enter



cd /Applications/Litecoin-Qt.app/Contents/MacOS



./Litecoin-Qt -reindex



It works..



These messages are then displayed in terminal,



2013-11-18 19:57:36.821 Litecoin-Qt[991:507] CoreText performance note: Client called CTFontCreateWithName() using name "Arial" and got font with PostScript name "ArialMT". For best performance, only use PostScript names when calling this API.



2013-11-18 19:57:36.821 Litecoin-Qt[991:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.



2013-11-18 19:57:37.657 Litecoin-Qt[991:507] CoreText performance note: Client called CTFontCreateWithName() using name "Courier New" and got font with PostScript name "CourierNewPSMT". For best performance, only use PostScript names when calling this API.



Bismarck



Offline



Activity: 14

Merit: 0







NewbieActivity: 14Merit: 0 Re: MacOS X LevelDB Corruption Bounty (5 BTC + 200.2 LTC) November 19, 2013, 02:27:23 AM #8



https://forum.litecoin.net/index.php/topic,7147.msg55666.html#msg55666



I have an LTC wallet that doesn't play well with others. I have no problems being someone's guinea pig as I'd really like to get it working again on my laptop.



For the new post; I DO have TimeMachine enabled.



Just for consistency;



Here is the error that Litecoin-Qt keeps throwing;



Code: Last login: Mon Nov 18 18:27:48 on ttys000

Bismarcks-MacBook-Pro-2:~ Bismarcks$ /Applications/Litecoin-Qt.app/Contents/MacOS/Litecoin-Qt ; exit;

2013-11-18 18:32:21.744 Litecoin-Qt[12289:507] CoreText performance note: Client called CTFontCreateWithName() using name "Arial" and got font with PostScript name "ArialMT". For best performance, only use PostScript names when calling this API.

2013-11-18 18:32:21.745 Litecoin-Qt[12289:507] CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.

2013-11-18 18:32:21.748 Litecoin-Qt[12289:507] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.

2013-11-18 18:32:27.518 Litecoin-Qt[12289:507] CoreText performance note: Client called CTFontCreateWithName() using name "Courier New" and got font with PostScript name "CourierNewPSMT". For best performance, only use PostScript names when calling this API.

Assertion failed: (pindexFirst), function GetNextWorkRequired, file ../litecoin/src/main.cpp, line 1149.

Abort trap: 6

logout



[Process completed]



I'd like to point everyone's attention to this thread on the LiteCoin forums --I have an LTC wallet that doesn't play well with others. I have no problems being someone's guinea pig as I'd really like to get it working again on my laptop.For the new post; I DO have TimeMachine enabled.Just for consistency;Here is the error that Litecoin-Qt keeps throwing;

whault



Offline



Activity: 16

Merit: 0







NewbieActivity: 16Merit: 0 Re: MacOS X LevelDB Corruption Bounty (5.51 BTC + 200.2 LTC) November 20, 2013, 12:40:38 AM #11



only the blockchain stored on the internal SSD boot disk gets corrupted, a blockchain stored on the second SATA HDD is never corrupted

corrupted corruption seems to happen most often after a system sleep (deep or not), though not always

corruption can happen during the initial sync if it is stopped and then restarted

corruption can happen with FileVault 2 turned on and off

has happened less often since updating to 10.9 only twice so far instead of every few days, though it could just be chance

That's it really. No other behaviour is specific to corruptions for me. Sometimes they happen twice in a day, sometimes not for weeks. Some observations. My setup uses two drives, one with the OS and a lower speed one for general storage. I don't use time machine like the poster above, and there's nothing else non-standard about my software.That's it really. No other behaviour is specific to corruptions for me. Sometimes they happen twice in a day, sometimes not for weeks.

moderate



Offline



Activity: 98

Merit: 10



nearly dead







MemberActivity: 98Merit: 10nearly dead Re: MacOS X LevelDB Corruption Bounty (5.51 BTC + 200.2 LTC) November 20, 2013, 02:42:39 AM #12 If anything, this should serve as a warning for picking up cool new shiny things.



I take there was some discussion about why picking LevelDB was the right choice, surely it wasn't considered only because it performs faster than BDB and is developed at Google ? After that surely there were some good testing in various systems, since this is a very new low level storage, yes ?



I'm just mocking here, obviously. Good luck finding and fixing the issues.

wtogami



Offline



Activity: 263

Merit: 250









Sr. MemberActivity: 263Merit: 250 Re: MacOS X LevelDB Corruption Bounty (5.51 BTC + 200.2 LTC) November 20, 2013, 03:15:40 AM #13 Quote from: moderate on November 20, 2013, 02:42:39 AM If anything, this should serve as a warning for picking up cool new shiny things.



I take there was some discussion about why picking LevelDB was the right choice, surely it wasn't considered only because it performs faster than BDB and is developed at Google ? After that surely there were some good testing in various systems, since this is a very new low level storage, yes ?



I'm just mocking here, obviously. Good luck finding and fixing the issues.



It's working quite well on Linux and Windows. Also the old BDB corrupted on all platforms, although less often than Mac users experience this current issue. It's working quite well on Linux and Windows. Also the old BDB corrupted on all platforms, although less often than Mac users experience this current issue. If you appreciate my work please consider making a small donation.

BTC: 1LkYiL3RaouKXTUhGcE84XLece31JjnLc3 LTC: LYtrtYZsVSn5ymhPepcJMo4HnBeeXXVKW9

GPG: AEC1884398647C47413C1C3FB1179EB7347DC10D

behindtext



Offline



Activity: 121

Merit: 101







Full MemberActivity: 121Merit: 101 Re: MacOS X LevelDB Corruption Bounty (5.51 BTC + 200.2 LTC) November 20, 2013, 11:04:03 AM #14 Quote from: moderate on November 20, 2013, 02:42:39 AM If anything, this should serve as a warning for picking up cool new shiny things.



I take there was some discussion about why picking LevelDB was the right choice, surely it wasn't considered only because it performs faster than BDB and is developed at Google ? After that surely there were some good testing in various systems, since this is a very new low level storage, yes ?



the motivation for using leveldb vs other dbs is due to the fact that with large numbers of records, e.g. over roughly 10 mln records, most "normal" dbs start to get really sluggish on inserts and selects. you can see the behavior for yourself by stuffing a ton of records in sqlite, mysql, psql, etc.



leveldb is not so much a db as a key-value store, which means that insert speed can be maintained even when there are a massive number of records, e.g. 250 mln. this is where the "level" in leveldb comes from - it load levels on inserts. the only price you pay for the load leveling is episodic compaction by leveldb. however, when doing selects/lookups on data that is already in leveldb, you must do several seeks, similar to more common databases.



the likely reason leveldb was chosen is that there aren't a ton of great choices for key-value stores. many of the key-value stores besides leveldb have only a few devs and may not be actively maintained. there are also many key-value stores that have questionable data integrity. using a dependency that goes unmaintained means having to change that dep out later, a giant PITA.



the reason the issue that is cited in this thread is so nasty is that not only does bitcoind use leveldb, it uses it in conjunction with flat file storage for the blocks. the act of storing data in flat files and referencing them in the db substantially increases the number and severity of error and failure paths in the combined structure (leveldb + flat file storage). as we can now see, hunting these bugs is very difficult.



perhaps something can be inferred from the way in which leveldb + blocks are corrupted. this would require a dev looking at the db and blocks after they have been hosed. the motivation for using leveldb vs other dbs is due to the fact that with large numbers of records, e.g. over roughly 10 mln records, most "normal" dbs start to get really sluggish on inserts and selects. you can see the behavior for yourself by stuffing a ton of records in sqlite, mysql, psql, etc.leveldb is not so much a db as a key-value store, which means that insert speed can be maintained even when there are a massive number of records, e.g. 250 mln. this is where the "level" in leveldb comes from - it load levels on inserts. the only price you pay for the load leveling is episodic compaction by leveldb. however, when doing selects/lookups on data that is already in leveldb, you must do several seeks, similar to more common databases.the likely reason leveldb was chosen is that there aren't a ton of great choices for key-value stores. many of the key-value stores besides leveldb have only a few devs and may not be actively maintained. there are also many key-value stores that have questionable data integrity. using a dependency that goes unmaintained means having to change that dep out later, a giant PITA.the reason the issue that is cited in this thread is so nasty is that not only does bitcoind use leveldb, it uses it in conjunction with flat file storage for the blocks. the act of storing data in flat files and referencing them in the db substantially increases the number and severity of error and failure paths in the combined structure (leveldb + flat file storage). as we can now see, hunting these bugs is very difficult.perhaps something can be inferred from the way in which leveldb + blocks are corrupted. this would require a dev looking at the db and blocks after they have been hosed. [ANN][DCR] Decred - Hybrid PoW/PoS | btcsuite Devs | Tons of New Features | Go

btcsuite: an alternative full-node bitcoin implementation in Go

Mike Hearn





Offline



Activity: 1526

Merit: 1008







LegendaryActivity: 1526Merit: 1008 Re: MacOS X LevelDB Corruption Bounty (5.51 BTC + 200.2 LTC) November 20, 2013, 01:15:57 PM #15



We already know Apple have made some .... questionable ... decisions in their kernel, with regard to fsync (hint: fsync doesn't). That was at least one source of corruptions, which we already fixed.



Given that rather astonishing approach to data integrity there may well be other equally questionable decisions lurking under the covers. The fact that this only happens on MacOS and not any other platform is strongly indicative that Apple have done more than one bad thing.



I am wondering if there is something going wrong with mmap.



https://code.google.com/p/leveldb/issues/detail?id=196



The behaviour of mmap seems like it can sometimes be broken by kernel developers in subtle ways, I got a bug report for the Android app a few months ago which strongly implies mmap on Motorola devices is broken in ways that can cause data corruption. I wonder if POSIX specifies its behaviour tightly enough. You can blame me for LevelDB. We switched to it because it was a large (>2x) speedup over BDB and performance is critical for Bitcoin, for obvious reasons. Also BDB sucks in lots of different ways and LevelDB is very well written.We already know Apple have made some .... questionable ... decisions in their kernel, with regard to fsync (hint: fsync doesn't). That was at least one source of corruptions, which we already fixed.Given that rather astonishing approach to data integrity there may well be other equally questionable decisions lurking under the covers. The fact that this only happens on MacOS and not any other platform is strongly indicative that Apple have done more than one bad thing.I am wondering if there is something going wrong with mmap.The behaviour of mmap seems like it can sometimes be broken by kernel developers in subtle ways, I got a bug report for the Android app a few months ago which strongly implies mmap on Motorola devices is broken in ways that can cause data corruption. I wonder if POSIX specifies its behaviour tightly enough.

gmaxwell

Legendary





Offline



Activity: 3178

Merit: 4298









ModeratorLegendaryActivity: 3178Merit: 4298 Re: MacOS X LevelDB Corruption Bounty (5.51 BTC + 200.2 LTC) November 20, 2013, 11:40:41 PM #16 Can we get a couple of useful bits of data for someone to work on this:



* Earliest confirmed version of 10.8 with the problem

* A sample of a corrupted DB

* console logs from *during time of corruption* including dmesg and system.log

* Information on how bitcoin built/installed, clang? gcc42? macports/brew for deps?

* if the people experiencing the problem have filevault (FDE) turned on or not, whether it was turned on during the install or after, and if it's ever been cycled on/off

* also whether people who have hit this are using stock fs settings or if have case-sensitivity/etc turned on



toffoo



Offline



Activity: 407

Merit: 261









Sr. MemberActivity: 407Merit: 261 Re: MacOS X LevelDB Corruption Bounty (5.51 BTC + 200.2 LTC) November 23, 2013, 07:43:12 AM #24



2013 has probably been bitcoin's most exciting year, but it's been a rough one for some Mac bitcoin-qt users. It was way back on December 14, 2012 when the last version of bitcoin-qt (v0.7.2 with the later May 15 workaround) to work reliably on my MacBook Pro was released. Every one of the many v0.8.x releases since has corrupted for me. I've grown weary of reindexing the blockchain and testing out new builds.



Some of my experiences and setup are detailed in the original github link:

https://github.com/bitcoin/bitcoin/issues/2770



I'm sure that many new Mac users who have gotten into bitcoin this year have not had the same bullet-proof experience that I enjoyed when I first got started with the earlier versions. It can be very frustrating, after all the complexity inherent to bitcoin, to have something not function the way it should when you're first getting started. All financial software needs to be rock solid, especially with the sort of values that are being tossed around these days with our experimental little currency.



So with that in mind, I pleased to support this very worthwhile effort with a contribution of 0.48552571 BTC, so you can now update your bounty fund to an even 6.0 BTC + 200.2 LTC:



https://blockchain.info/tx/dc17a4e4b9ae40fdec9699936f965b57f0fe3c6fce8722033c56c30a11b01900



May bitcoin-qt have a long and illustrious future running on the world's fruitiest operating system, and may this bug meet a swift and permanent demise!!! Thank you to Gavin and Warren and everyone for your efforts to help resolve this issue. I think this bounty is a great idea and I'm very happy to see the Mac client receive some 1st class attention.2013 has probably been bitcoin's most exciting year, but it's been a rough one for some Mac bitcoin-qt users. It was way back on December 14, 2012 when the last version of bitcoin-qt (v0.7.2 with the later May 15 workaround) to work reliably on my MacBook Pro was released. Every one of the many v0.8.x releases since has corrupted for me. I've grown weary of reindexing the blockchain and testing out new builds.Some of my experiences and setup are detailed in the original github link:I'm sure that many new Mac users who have gotten into bitcoin this year have not had the same bullet-proof experience that I enjoyed when I first got started with the earlier versions. It can be very frustrating, after all the complexity inherent to bitcoin, to have something not function the way it should when you're first getting started. All financial software needs to be rock solid, especially with the sort of values that are being tossed around these days with our experimental little currency.So with that in mind, I pleased to support this very worthwhile effort with a contribution of 0.48552571 BTC, so you can now update your bounty fund to an even 6.0 BTC + 200.2 LTC:May bitcoin-qt have a long and illustrious future running on the world's fruitiest operating system, and may this bug meet a swift and permanent demise!!!

My GPG KeyID: My OTC web of trust rating: http://bitcoin-otc.com/viewratingdetail.php?nick=toffoo My GPG KeyID: 65CDAF66E5FCF278

theymos

Legendary



Offline



Activity: 3878

Merit: 7917







AdministratorLegendaryActivity: 3878Merit: 7917 Re: MacOS X LevelDB Corruption Bounty (6.00 BTC + 200.2 LTC) November 25, 2013, 03:00:23 AM #25 The Bitcoin Forum pledges 4 BTC to this bounty, and we'll probably also put up an ad about this in forum ad round 103. This is more than I really want to spend on non-forum development issues from the forum's treasury, especially when the forum software situation is non-optimal, but this issue seems to be becoming serious despite the efforts of many experts over a long period of time, so I think that increasing the bounty amount is important. 1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD

cfields



Offline



Activity: 9

Merit: 0







NewbieActivity: 9Merit: 0 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 26, 2013, 12:36:58 AM #29



Patch is here:

Binary is here for anyone who trusts me (you can, but of course you shouldn't)



Theory goes like this:



Currently leveldb's atomics use a gcc-style compiler barrier like:

asm volatile("" : : : "memory");



OSX has a native memory barrier that can be used instead. It's my understanding that on x86/x86_64, a real memory barrier is not needed, but only a flag to tell the compiler not to optimize+reorder store/loads. Looks to me like it's a mistake, and that the OSX function should be chosen instead.



In my tests, the asm hack was often completely optimized away, and loads/stores were reordered anyway. So I believe the barrier in current code is effectively a nop.



Since this is a build-time optim and not run-time, it does not explain why 10.8 is affected while 10.6 is. However, if atomics are busted, timings in other underlying functions (write/fsync/mmap/etc) would have a huge effect, so it seems reasonable that this could be the indirect cause. I have a theory, and a binary to try out for someone who can reproduce. I don't see the issue on my macbook.Patch is here: https://github.com/theuni/bitcoin/commit/ac0d918bb49e0f8393b1e27662bc4c25113980b2 Binary is here for anyone who trusts me (you can, but of course you shouldn't) https://www.dropbox.com/s/r959wns6rm4xjsu/Bitcoin-Qt.dmg Theory goes like this:Currently leveldb's atomics use a gcc-style compiler barrier like:asm volatile("" : : : "memory");OSX has a native memory barrier that can be used instead. It's my understanding that on x86/x86_64, a real memory barrier is not needed, but only a flag to tell the compiler not to optimize+reorder store/loads. Looks to me like it's a mistake, and that the OSX function should be chosen instead.In my tests, the asm hack was often completely optimized away, and loads/stores were reordered anyway. So I believe the barrier in current code is effectively a nop.Since this is a build-time optim and not run-time, it does not explain why 10.8 is affected while 10.6 is. However, if atomics are busted, timings in other underlying functions (write/fsync/mmap/etc) would have a huge effect, so it seems reasonable that this could be the indirect cause.

wtogami



Offline



Activity: 263

Merit: 250









Sr. MemberActivity: 263Merit: 250 GPG Signed test binaries November 26, 2013, 09:36:55 AM

Last edit: December 11, 2013, 08:12:08 PM by wtogami #33 Updated: December 11h, 2013

The following versions contain cfields' memory barrier patch and phantomcircuit's no-mmap patch. Extensive testing indicates no new corruption happens on MacOS X.



Official Bitcoin 0.8.6

http://bitcoin.org/en/download



Bitcoin 0.8.5-OMG10

http://download1.rpmfusion.org/~warren/bitcoin-0.8.5-OMG10/macosx/

https://github.com/litecoin-project/bitcoinomg/commits/0.8.5-OMG10

This build contains all the same bug fixes as 0.8.6 above. Includes additional features like Coin Control.



Litecoin 0.8.6.1

https://download.litecoin.org/litecoin-0.8.6.1/

https://litecoin.info/Upgrading_Litecoin#Upgrading_to_0.8.6.1

Please follow these directions to use Litecoin 0.8.6.1.



https://github.com/bitcoin/bitcoin/issues/2770

Read more here. The following versions contain cfields' memory barrier patch and phantomcircuit's no-mmap patch. Extensive testing indicates no new corruption happens on MacOS X.This build contains all the same bug fixes as 0.8.6 above. Includes additional features like Coin Control.Please follow these directions to use Litecoin 0.8.6.1.Read more here. If you appreciate my work please consider making a small donation.

BTC: 1LkYiL3RaouKXTUhGcE84XLece31JjnLc3 LTC: LYtrtYZsVSn5ymhPepcJMo4HnBeeXXVKW9

GPG: AEC1884398647C47413C1C3FB1179EB7347DC10D

cfields



Offline



Activity: 9

Merit: 0







NewbieActivity: 9Merit: 0 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 26, 2013, 10:08:02 AM #34



Their atomics are borrowed from here (see the note in port/atomic_pointer.h):



It's clear there that mach/apple takes precedence over x86. The patch above fixes leveldb to match that behavior. Regardless of whether or not this fixes the db corruption for bitcoin, I'll take it upstream. Upon further investigation, this does indeed seem to be unintended in leveldb.Their atomics are borrowed from here (see the note in port/atomic_pointer.h): https://code.google.com/p/gperftools/source/browse/src/base/atomicops.h#102 It's clear there that mach/apple takes precedence over x86. The patch above fixes leveldb to match that behavior. Regardless of whether or not this fixes the db corruption for bitcoin, I'll take it upstream.

Mike Hearn





Offline



Activity: 1526

Merit: 1008







LegendaryActivity: 1526Merit: 1008 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 26, 2013, 10:48:28 AM #35 Wow. That's bad and would indeed explain the issues (or at least some of them). Apple really should not be claiming in the headers to be GCC compatible and then ignoring the GCC memory barrier idiom. That's not compatible at all. So technically this is an Apple bug, I'd say, but it's one we can work around pretty easily.



Very exciting that this has been discovered, great work cfields, worthy of a bounty award for sure. It's hard to imagine this not causing corruption. And it would also explain the otherwise unexplainable "self-fixing corruption" problem.

picobit



Offline



Activity: 547

Merit: 500





Decor in numeris







Hero MemberActivity: 547Merit: 500Decor in numeris Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 26, 2013, 06:58:03 PM #39 You know it is corrupted by the client complaining that it is so.



And no, you do not lose coins. The wallet is not affected (although you should always have a backup), the worst that could potentially happen is that your client "fortgets" you have the coins, or think you have too many (forgets you have spent some). But rebuilding the database will fix that, since your bitcoins are not stored on your computer but in the blockchain.



koelen3



Offline



Activity: 1022

Merit: 1007





Sooner or later, a man who wears two faces forgets







LegendaryActivity: 1022Merit: 1007Sooner or later, a man who wears two faces forgets Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 26, 2013, 08:42:10 PM #43 Well this is my unofficial explanation.



Due of the mac updates, it changed standard applications.

This happened to me when updating to Maverick



Due of the changes, when having installed VLC, it uses your VLC to open your wallet.dat

On the other side, you would have to unlock your basic documents when installing Bitcoin-QT to have a new transaction being sent.

As this changes your file, MAC OS doesn't allow you to change the files without you unlocking them.



You also need to change a 'hidden' file on your Mac, to allow you to connect from files to the internet as Mac brought some "security" updates.

jordan314



Offline



Activity: 16

Merit: 0







NewbieActivity: 16Merit: 0 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 27, 2013, 06:33:47 AM #44 I can answer 1) and 2) but don't have the skills to write the code for 3).



1) Go to system preferences and click on Date/Time. Set the date to 2012. Close System preferences and hit save. Open Bitcoin-qt and get the corrupted database message. Click abort.

Set system preferences and click set date and time automatically. Open Bitcoin-qt and the database is fine.

2) The database is appearing corrupted to leveldb because the system clock is incorrect.

3) Can you use an atomic clock API and rely on that instead of the system clock to prevent leveldb from becoming corrupted?

melacs



Offline



Activity: 41

Merit: 0







NewbieActivity: 41Merit: 0 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 27, 2013, 07:47:01 AM #47 I can only support the people trying to solve this problem, don't have the capacity to program a solution. (It seems that the recent attention for bitcoin is putting more and more pressure on the developers.



It seems as if the sleep mode or shutdown or internet connection break is interrupting the client while it is downloading blocks. Is this true or does the problem also occur when all blocks have been downloaded before shutting down and new blocks need to be added later?

In the first case, the problem could lie with an unfininished block that is considered finished or a block that is downloaded multiple times. (probably similar to what cfields stated)

If it also occurs after having been shut down with a complete download of blocks, then the problem is in how the complete blockchain or a finished block is ended and restarted.





sixtyeightmk2



Offline



Activity: 3

Merit: 0







NewbieActivity: 3Merit: 0 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 27, 2013, 10:35:47 AM #48



Basically there are a few things happening with HFS and resource forks, spotlight indexing data, and ssd caching or having a race condition come up when putting the system to sleep or hibernate quickly and taking it out by turning it back on:



https://bitcointalk.org/index.php?topic=348426.msg3731858#msg3731858



See portion with links to HFS ssd tuning.



If you are running on a FAT partition you don't have these problems. (Can't resource fork FAT) I posted a reply about this in the newbies forums earlier tonight and on github as well.Basically there are a few things happening with HFS and resource forks, spotlight indexing data, and ssd caching or having a race condition come up when putting the system to sleep or hibernate quickly and taking it out by turning it back on:See portion with links to HFS ssd tuning.If you are running on a FAT partition you don't have these problems. (Can't resource fork FAT)

Roy Badami



Offline



Activity: 563

Merit: 500







Hero MemberActivity: 563Merit: 500 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 28, 2013, 12:20:19 AM #51 Apropos of nothing, I'll contribute my experience of this problem:



To the best of my knowledge, I have had precisely two unclean shutdowns of my Mac whilst Bitcoin-QT 0.8.x was running. In two out of two cases, it triggered a rebuild due to a corrupt database. So I find it interesting that this problem is actually difficult to reproduce - I guess I'm just unlucky. (This is 10.6 on a MacBook Air.)



What really surprised me, though, is that on the occasion of the second of those unclean shutdowns (the OS X UI froze and I had to do a force power off) not only was I not actively using Bitcoion-QT at the time, but I am 99% sure that I had no network connection, and hadn't had a connection for several minutes. So it seems pretty unlikely that it was a pathological case involving an interrupted DB transaction.



None of the above makes any sense to me, and it is, of course, quite possible just a fluke occurance - but on the off chance it gives anyone any ideas I thought I'd post it anyway.



roy

misterbigg



Offline



Activity: 1064

Merit: 1001









LegendaryActivity: 1064Merit: 1001 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 28, 2013, 12:35:29 AM #52 Quote from: moderate on November 26, 2013, 07:30:48 PM Are you saying that those other options fixed this bug and other ones but didn't contribute it back to leveldb ? I doubt that is the case.



No. I'm suggesting that if there are more serious problems with LevelDB down the line that prevent features from being added (either due to performance or architecture limitations), then both HyperLevelDB and RocksDB (which are based on LevelDB) are proven alternatives with performance improvements. If the bitcoin backend database is customizable, then it is easy to experiment with alternatives.

No. I'm suggesting that if there are more serious problems with LevelDB down the line that prevent features from being added (either due to performance or architecture limitations), then both HyperLevelDB and RocksDB (which are based on LevelDB) are proven alternatives with performance improvements. If the bitcoin backend database is customizable, then it is easy to experiment with alternatives.

rrjr777



Offline



Activity: 2

Merit: 0







NewbieActivity: 2Merit: 0 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 28, 2013, 01:13:29 AM #53 Hello All,



I have read through this thread and also researched some of the reports of this issue, I read about bitcoin in the beginning, and had so much going on at the time that I sort of dismissed it and forgot about it. With the recent media coverage, I have been researching bitcoin in general and became very interested, and stumbled across this thread. That being said, I have a comment, a suggestion and my own theory / hypothesis regarding what is going on, however, it is also apparent that there could very well be several unrelated "bugs" throwing the same / similar error and exhibiting similar behavior on the client machine.



First, the comment:

It is apparent, considering the recent media frenzy surrounding bitcoin and positive news regarding the acceptance of it as a viable currency, that any hint of instability / corruption / bugs within the codebase, could be enough to sabotage the efforts to date, and damage the confidence in the currency.



Now the suggestion:

I have read the reports, threads, theories, and I am hoping to contribute to the ultimate solution, however, the most important factor in potentially resolving the issue, is to gather accurate facts regarding the issue that is actually being experienced. Not to say that throwing theories out is counterproductive, it could lead someone along the right path, however, I can say for sure, that the probability of actually fixing the issue, is directly correlated to the quality of data collected. Without the exact problem / circumstances, etc. we would be shooting in the dark.



I have read reports of Mac's, Windows, and other OS's at some point getting a corrupt database, and I suspect based on the sparse descriptions of the event, that the innate behavior of LevelDB is the culprit, specifically the way a write is actually committed, (or not), to media, but under what conditions this occurs is paramount to finding a solution. I wish I had gone with my intuition at the beginning of this Bitcoin project, and became involved, I'm too late to the game of mining, and can't afford to even buy a bitcoin at this point. Its taking so long for me to even download the blockchain, that I decided to start this post in parallel, and hope to make a contribution in some way.



If anyone reading this thread, has a machine that is experiencing the corrupted database, it would be priceless to the community at large to post some basic information, such as:



Computer OS - (version / service pack)

Hard Drive - (Solid State / SATA / IDE?)

Date of first experiencing the issue.

The exact Error Message.

What you or the computer were doing when / immediately before the error occurred.

Whether you have hibernate / sleep / power off options on the Network Adapter configured.

Whether your computer was hard wired or wireless.

If the computer crashed prior to the database corruption.

What version of BitcoinQT you were using at the time the error occurred.

Whether you had a previous version of BitcoinQT installed and later upgraded.

If you have been able to resolve the error, (perhaps re-installing an earlier version), and if so, how.



I believe, if we have enough of the individuals who are actually experiencing the issue, report, to the best of their ability, the answers to the questions above, we as a group, may be able to put together the exact scenario / circumstance to reproduce the issue, and most importantly, begin to understand it, and progress to the path of resolution.



Sorry for the lengthy post, I hope it helps.



- Rich



doof



Offline



Activity: 764

Merit: 501







Hero MemberActivity: 764Merit: 501 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 28, 2013, 09:29:02 PM #58 Quote Computer OS - (version / service pack)

Hard Drive - (Solid State / SATA / IDE?)

Date of first experiencing the issue.

The exact Error Message.

What you or the computer were doing when / immediately before the error occurred.

Whether you have hibernate / sleep / power off options on the Network Adapter configured.

Whether your computer was hard wired or wireless.

If the computer crashed prior to the database corruption.

What version of BitcoinQT you were using at the time the error occurred.

Whether you had a previous version of BitcoinQT installed and later upgraded.

If you have been able to resolve the error, (perhaps re-installing an earlier version), and if so, how.



2011 27" iMac with HDD

28-11-2013 & 29-11-2012. The exact same times. Each morning I have woken up around 5 and plugged in my BTF Jala miner. This is cause the power to trip, and turn off my mac and other devices.



I don't have a screen shot of the exact message, but off memory "Blockchain db is corrupt and needs to be re indexed"



This as actually occurred on litecoin-qt. I haven't opend bitcoin-qt to see if the same has occurred.



Seeing how it has happened twice, I'm certain I can reproduce. Both times, the block chain had been entirely synced, and the mac sitting there powered on. 2011 27" iMac with HDD28-11-2013 & 29-11-2012. The exact same times. Each morning I have woken up around 5 and plugged in my BTF Jala miner. This is cause the power to trip, and turn off my mac and other devices.I don't have a screen shot of the exact message, but off memory "Blockchain db is corrupt and needs to be re indexed"This as actually occurred on litecoin-qt. I haven't opend bitcoin-qt to see if the same has occurred.Seeing how it has happened twice, I'm certain I can reproduce. Both times, the block chain had been entirely synced, and the mac sitting there powered on.

wtogami



Offline



Activity: 263

Merit: 250









Sr. MemberActivity: 263Merit: 250 Test new MacOS Corruption Fix Builds November 29, 2013, 09:03:30 AM #60 https://bitcointalk.org/index.php?topic=337294.msg3718821#msg3718821

New builds again. We need feedback from MacOS X users who were previously experiencing corruption. This is a blocker for the release of Bitcoin 0.8.6. New builds again. We need feedback from MacOS X users who were previously experiencing corruption. This is a blocker for the release of Bitcoin 0.8.6. If you appreciate my work please consider making a small donation.

BTC: 1LkYiL3RaouKXTUhGcE84XLece31JjnLc3 LTC: LYtrtYZsVSn5ymhPepcJMo4HnBeeXXVKW9

GPG: AEC1884398647C47413C1C3FB1179EB7347DC10D

KaosMcRage



Offline



Activity: 10

Merit: 0







NewbieActivity: 10Merit: 0 Re: Test new MacOS Corruption Fix Builds November 30, 2013, 12:07:26 AM #63 Quote from: wtogami on November 29, 2013, 09:03:30 AM https://bitcointalk.org/index.php?topic=337294.msg3718821#msg3718821

New builds again. We need feedback from MacOS X users who were previously experiencing corruption. This is a blocker for the release of Bitcoin 0.8.6.

New builds again. We need feedback from MacOS X users who were previously experiencing corruption. This is a blocker for the release of Bitcoin 0.8.6.

As I mentioned on GitHub, I had what OMG4 considered to be a working/clean database. I didn't sync for a couple days, then downloaded and ran OMG5. Database corruption detected after attempting to sync for a minute or two. Since then, I tried opening OMG5 again at a later time and it synced just fine (no corruption detected). Downloading OMG6 now.



P.S.

Is coming from a database deemed clean by an older client (OMG4, 5, etc.) an adequate test or do we need to rebuild/resync from scratch (or the latest torrent copy) with each new version? Thanks. As I mentioned on GitHub, I had what OMG4 considered to be a working/clean database. I didn't sync for a couple days, then downloaded and ran OMG5. Database corruption detected after attempting to sync for a minute or two. Since then, I tried opening OMG5 again at a later time and it synced just fine (no corruption detected). Downloading OMG6 now.P.S.Is coming from a database deemed clean by an older client (OMG4, 5, etc.) an adequate test or do we need to rebuild/resync from scratch (or the latest torrent copy) with each new version? Thanks.

cfields



Offline



Activity: 9

Merit: 0







NewbieActivity: 9Merit: 0 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 30, 2013, 04:00:48 AM #64



From IRC:

<cfields> the issue is that while it's looping through the write, it unmaps/remaps. and if there's a write that straddles a mapping, it can be split and not flushed to disk properly by osx

<cfields> robert's patch fixes that part

<cfields> however, once the write is complete, it's not immediately unmapped

<cfields> so at that point, the very tail may not be flushed



So the scenario would look like this:

- Append a new record that straddles the write boundary. Let it return from a successful Append() and don't write any new data (this is the distinction)

- Kill -9 or pull the plug before Close()

- Robert's change has caused the interim data in Append() to be flushed to disk, however the tail will not be unmapped until Close()



I've pushed a proof-of-concept "fix" here:

This is just a copy/paste of what happens in Sync(), except that it's forced at the end of each logical write. Note however that Sync() first flushes to disk, so it would be sending possibly unsync'd data. After thinking this over a bit more, and seeing new crash data from toffoo, I believe there's still a bit more to fix.From IRC: the issue is that while it's looping through the write, it unmaps/remaps. and if there's a write that straddles a mapping, it can be split and not flushed to disk properly by osx robert's patch fixes that part however, once the write is complete, it's not immediately unmapped so at that point, the very tail may not be flushedSo the scenario would look like this:- Append a new record that straddles the write boundary. Let it return from a successful Append() and don't write any new data (this is the distinction)- Kill -9 or pull the plug before Close()- Robert's change has caused the interim data in Append() to be flushed to disk, however the tail will not be unmapped until Close()I've pushed a proof-of-concept "fix" here: https://github.com/theuni/bitcoin/commit/1d0e54bfb76b3891468582df97c4429174063c3c This is just a copy/paste of what happens in Sync(), except that it's forced at the end of each logical write. Note however that Sync() first flushes to disk, so it would be sending possibly unsync'd data.

moderate



Offline



Activity: 98

Merit: 10



nearly dead







MemberActivity: 98Merit: 10nearly dead Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 30, 2013, 04:03:32 AM #65 Quote from: cfields on November 30, 2013, 04:00:48 AM After thinking this over a bit more, and seeing new crash data from toffoo, I believe there's still a bit more to fix.



From IRC:

<cfields> the issue is that while it's looping through the write, it unmaps/remaps. and if there's a write that straddles a mapping, it can be split and not flushed to disk properly by osx

<cfields> robert's patch fixes that part

<cfields> however, once the write is complete, it's not immediately unmapped

<cfields> so at that point, the very tail may not be flushed





I'm actually wondering about a very trivial thing here. Why is no one setting up small reproduceable test cases ? There is no other way to claim bugs are fixed other than doing that. Make a test where it always fail before the patch, and that it always passes after the patch. Repeat, announce fixes. I'm actually wondering about a very trivial thing here. Why is no one setting up small reproduceable test cases ? There is no other way to claim bugs are fixed other than doing that. Make a test where it always fail before the patch, and that it always passes after the patch. Repeat, announce fixes.

Mike Hearn





Offline



Activity: 1526

Merit: 1008







LegendaryActivity: 1526Merit: 1008 Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 30, 2013, 10:09:31 AM #66 Because it's not easy to reproduce. mmap on OS X is clearly broken in some very subtle ways, whether or not data is flushed to disk correctly almost certainly depends on the vagaries of kernel mm algorithms that can make decisions based on a lot of uncontrollable factors. That's why it's so hard to track down.



I think Sanjay may be right that on MacOS we may just have to give up on write-through mmap.

moderate



Offline



Activity: 98

Merit: 10



nearly dead







MemberActivity: 98Merit: 10nearly dead Re: MacOS X LevelDB Corruption Bounty (10.00 BTC + 200.2 LTC) November 30, 2013, 02:54:21 PM #67 Maybe try contacting one of the OSX developers responsible for the memory management ? Check the darwin-kernel maillist.



People that claim something is clearly broken, yet there are many other databases running in this same OS, might just not know how to do it properly (hard to accept it, I know). I'm not saying it's an easy problem (but maybe it is, for someone that actually knows what he is doing), neither that it is easy to reproduce.

wtogami



Offline



Activity: 263

Merit: 250









Sr. MemberActivity: 263Merit: 250 New Bitcoin build December 01, 2013, 08:22:56 AM #68 https://bitcointalk.org/index.php?topic=337294.msg3718821#msg3718821

Updated Bitcoin build to match the 0.8.6 work in progress branch at 6003954be08586092d652ca2828e86e92d96c660

This includes the patch by Robert Escriva. Updated Bitcoin build to match the 0.8.6 work in progress branch at 6003954be08586092d652ca2828e86e92d96c660This includes the patch by Robert Escriva. If you appreciate my work please consider making a small donation.

BTC: 1LkYiL3RaouKXTUhGcE84XLece31JjnLc3 LTC: LYtrtYZsVSn5ymhPepcJMo4HnBeeXXVKW9

GPG: AEC1884398647C47413C1C3FB1179EB7347DC10D

motomike



Offline



Activity: 4

Merit: 0







NewbieActivity: 4Merit: 0 Re: GPG Signed test binaries with possible fix December 02, 2013, 11:20:43 PM #71 Quote from: wtogami on November 26, 2013, 09:36:55 AM Updated: December 2nd, 2013

The following binaries contain the patch from Robert Escriva to workaround leveldb issue 197. Testing is needed by ALL MacOS X users, Your detailed reports of success or failure including exactly what you tested is needed.



Bitcoin 0.8.6-mactest1

http://download1.rpmfusion.org/~warren/bitcoin-0.8.6-mactest1/

https://github.com/bitcoin/bitcoin/commits/0.8.6

Includes only rescriv's patch. toffoo had corruption with this build.



Bitcoin 0.8.5-OMG7 (two variants)

http://download1.rpmfusion.org/~warren/bitcoin-0.8.5-OMG7/

https://github.com/litecoin-project/bitcoinomg/commits/0.8.5-OMG7-no-mmap

OMG7-no-mmap2 variant includes phantomcircuit's no-mmap patch and cfields mem barrier patch

https://github.com/litecoin-project/bitcoinomg/commits/0.8.5-OMG7

OMG7 - like OMG5 includes rescriv's patch and cfields' mem barrier patch



Litecoin 0.8.5.3-rc4

http://download1.rpmfusion.org/~warren/litecoin-0.8.5.3-rc4/macosx/

https://github.com/litecoin-project/litecoin/commits/exp-0.8.5.3-rc4



https://github.com/bitcoin/bitcoin/issues/2770

Read the latest status here. There are possibly more corruption bugs. =(

The following binaries contain the patch from Robert Escriva to workaround leveldb issue 197. Testing is needed by ALL MacOS X users, Your detailed reports of success or failure including exactly what you tested is needed.Includes only rescriv's patch. toffoo had corruption with this build.OMG7-no-mmap2 variant includes phantomcircuit's no-mmap patch and cfields mem barrier patchOMG7 - like OMG5 includes rescriv's patch and cfields' mem barrier patchRead the latest status here. There are possibly more corruption bugs. =(

Tried all of the above betas. Bitcoin-QT will start up and I can use it UNLESS it is connected to the internet. Soon as it finds Peers, Boom I get a force close, and the error. Where do I go from here? I have a few thousand worth of BTC and I need to move it.



<- thats the whole thing.



Code: Process: Bitcoin-Qt [2476]

Path: /Applications/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt

Identifier: org.bitcoinfoundation.Bitcoin-Qt

Version: 0.8.5 (0.8.5)

Code Type: X86 (Native)

Parent Process: launchd [158]

Responsible: Bitcoin-Qt [2476]

User ID: 501



Date/Time: 2013-12-02 18:02:32.333 -0500

OS Version: Mac OS X 10.9 (13A603)

Report Version: 11

Anonymous UUID: D662DB4B-470F-F949-F8D5-CF867DE9A380



Sleep/Wake UUID: 8ADB2AB8-A9E9-4031-8BC2-BB6377E35E83



Crashed Thread: 18



Exception Type: EXC_CRASH (SIGABRT)

Exception Codes: 0x0000000000000000, 0x0000000000000000



Application Specific Information:

Assertion failed: (pindexFirst), function GetNextWorkRequired, file src/main.cpp, line 1151.





Thread 0:: Dispatch queue: com.apple.main-thread

0 libsystem_kernel.dylib 0x92763f7a mach_msg_trap + 10

1 libsystem_kernel.dylib 0x9276316c mach_msg + 68

2 com.apple.CoreFoundation 0x934caf69 __CFRunLoopServiceMachPort + 169

3 com.apple.CoreFoundation 0x934ca541 __CFRunLoopRun + 1393

4 com.apple.CoreFoundation 0x934c9d5a CFRunLoopRunSpecific + 394

5 com.apple.CoreFoundation 0x934c9bbb CFRunLoopRunInMode + 123

6 com.apple.HIToolbox 0x9a138e2d RunCurrentEventLoopInMode + 259

7 com.apple.HIToolbox 0x9a138bb2 ReceiveNextEventCommon + 526

8 com.apple.HIToolbox 0x9a13898d _BlockUntilNextEventMatchingListInModeWithFilter + 92

9 com.apple.AppKit 0x950d45a9 _DPSNextEvent + 1602

10 com.apple.AppKit 0x950d3ad0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 119

11 com.apple.AppKit 0x950c635c -[NSApplication run] + 727

12 QtGui 0x00d8d7fa QDesktopWidget::resizeEvent(QResizeEvent*) + 12890

13 QtCore 0x019f7471 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 65

14 QtCore 0x019f784a QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 314

15 QtCore 0x019f9f26 QCoreApplication::exec() + 182

16 org.bitcoinfoundation.Bitcoin-Qt 0x0002562a main + 7402

17 org.bitcoinfoundation.Bitcoin-Qt 0x00022341 start + 53



Thread 1:: Dispatch queue: com.apple.libdispatch-manager

0 libsystem_kernel.dylib 0x92769992 kevent64 + 10

1 libdispatch.dylib 0x9128e8bd _dispatch_mgr_invoke + 238

2 libdispatch.dylib 0x9128e556 _dispatch_mgr_thread + 52



Thread 2:

0 libsystem_kernel.dylib 0x92769046 __workq_kernreturn + 10

1 libsystem_pthread.dylib 0x962cadcf _pthread_wqthread + 372

2 libsystem_pthread.dylib 0x962cecce start_wqthread + 30



Thread 3:

0 libsystem_kernel.dylib 0x92769046 __workq_kernreturn + 10

1 libsystem_pthread.dylib 0x962cadcf _pthread_wqthread + 372

2 libsystem_pthread.dylib 0x962cecce start_wqthread + 30



Thread 4:: com.apple.CFSocket.private

0 libsystem_kernel.dylib 0x92768ace __select + 10

1 com.apple.CoreFoundation 0x9351adc6 __CFSocketManager + 1158

2 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

3 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

4 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 5:

0 libsystem_kernel.dylib 0x92763f7a mach_msg_trap + 10

1 libsystem_kernel.dylib 0x9276316c mach_msg + 68

2 com.apple.CoreFoundation 0x934caf69 __CFRunLoopServiceMachPort + 169

3 com.apple.CoreFoundation 0x934ca541 __CFRunLoopRun + 1393

4 com.apple.CoreFoundation 0x934c9d5a CFRunLoopRunSpecific + 394

5 com.apple.CoreFoundation 0x934c9bbb CFRunLoopRunInMode + 123

6 com.apple.AppKit 0x9527df18 _NSEventThread + 283

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 6:

0 libsystem_kernel.dylib 0x92768ace __select + 10

1 QtCore 0x01a29a90 qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) + 320

2 QtCore 0x01a2ddda QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) + 394

3 QtCore 0x01a2e26f QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 175

4 QtCore 0x019f7471 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 65

5 QtCore 0x019f784a QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 314

6 QtCore 0x018d5a45 QThread::exec() + 261

7 QtCore 0x018d90d3 QThread::terminate() + 787

8 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

9 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

10 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 7:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdbd9 pthread_cond_wait$UNIX2003 + 71

3 org.bitcoinfoundation.Bitcoin-Qt 0x000cb9f8 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 216

4 org.bitcoinfoundation.Bitcoin-Qt 0x00132210 CCheckQueue<CScriptCheck>::Loop(bool) + 432

5 org.bitcoinfoundation.Bitcoin-Qt 0x000e6973 ThreadScriptCheck() + 67

6 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 8:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdbd9 pthread_cond_wait$UNIX2003 + 71

3 org.bitcoinfoundation.Bitcoin-Qt 0x000cb9f8 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 216

4 org.bitcoinfoundation.Bitcoin-Qt 0x00132210 CCheckQueue<CScriptCheck>::Loop(bool) + 432

5 org.bitcoinfoundation.Bitcoin-Qt 0x000e6973 ThreadScriptCheck() + 67

6 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 9:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdbd9 pthread_cond_wait$UNIX2003 + 71

3 org.bitcoinfoundation.Bitcoin-Qt 0x000cb9f8 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 216

4 org.bitcoinfoundation.Bitcoin-Qt 0x00132210 CCheckQueue<CScriptCheck>::Loop(bool) + 432

5 org.bitcoinfoundation.Bitcoin-Qt 0x000e6973 ThreadScriptCheck() + 67

6 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 10:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdbd9 pthread_cond_wait$UNIX2003 + 71

3 org.bitcoinfoundation.Bitcoin-Qt 0x000cb9f8 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 216

4 org.bitcoinfoundation.Bitcoin-Qt 0x00132210 CCheckQueue<CScriptCheck>::Loop(bool) + 432

5 org.bitcoinfoundation.Bitcoin-Qt 0x000e6973 ThreadScriptCheck() + 67

6 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 11:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdbd9 pthread_cond_wait$UNIX2003 + 71

3 org.bitcoinfoundation.Bitcoin-Qt 0x000cb9f8 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 216

4 org.bitcoinfoundation.Bitcoin-Qt 0x00132210 CCheckQueue<CScriptCheck>::Loop(bool) + 432

5 org.bitcoinfoundation.Bitcoin-Qt 0x000e6973 ThreadScriptCheck() + 67

6 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 12:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdbd9 pthread_cond_wait$UNIX2003 + 71

3 org.bitcoinfoundation.Bitcoin-Qt 0x000cb9f8 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 216

4 org.bitcoinfoundation.Bitcoin-Qt 0x00132210 CCheckQueue<CScriptCheck>::Loop(bool) + 432

5 org.bitcoinfoundation.Bitcoin-Qt 0x000e6973 ThreadScriptCheck() + 67

6 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 13:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdbd9 pthread_cond_wait$UNIX2003 + 71

3 org.bitcoinfoundation.Bitcoin-Qt 0x000cb9f8 boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 216

4 org.bitcoinfoundation.Bitcoin-Qt 0x00132210 CCheckQueue<CScriptCheck>::Loop(bool) + 432

5 org.bitcoinfoundation.Bitcoin-Qt 0x000e6973 ThreadScriptCheck() + 67

6 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

7 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

8 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

9 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 14:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdc25 pthread_cond_timedwait$UNIX2003 + 71

3 libboost_thread-mt.dylib 0x00d25ead boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 145

4 libboost_thread-mt.dylib 0x00d21828 boost::this_thread::hiden::sleep_for(timespec const&) + 238

5 org.bitcoinfoundation.Bitcoin-Qt 0x00105b60 void boost::this_thread::sleep_for<long long, boost::ratio<1ll, 1000ll> >(boost::chrono::duration<long long, boost::ratio<1ll, 1000ll> > const&) + 208

6 org.bitcoinfoundation.Bitcoin-Qt 0x0015bcb2 ThreadMapPort() + 706

7 org.bitcoinfoundation.Bitcoin-Qt 0x0016be7e void TraceThread<boost::function<void ()> >(char const*, boost::function<void ()>) + 206

8 org.bitcoinfoundation.Bitcoin-Qt 0x00169ce4 boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(char const*, boost::function<void ()>), boost::_bi::list2<boost::_bi::value<char const*>, boost::_bi::value<void (*)()> > > >::run() + 132

9 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

10 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

11 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

12 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 15:

0 libsystem_kernel.dylib 0x92768ace __select + 10

1 org.bitcoinfoundation.Bitcoin-Qt 0x0016523c ThreadSocketHandler() + 2604

2 org.bitcoinfoundation.Bitcoin-Qt 0x0016bc7e void TraceThread<void (*)()>(char const*, void (*)()) + 110

3 org.bitcoinfoundation.Bitcoin-Qt 0x001674eb boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(char const*, void (*)()), boost::_bi::list2<boost::_bi::value<char const*>, boost::_bi::value<void (*)()> > > >::run() + 59

4 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

5 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

6 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

7 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 16:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdc25 pthread_cond_timedwait$UNIX2003 + 71

3 libboost_thread-mt.dylib 0x00d25ead boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 145

4 libboost_thread-mt.dylib 0x00d21828 boost::this_thread::hiden::sleep_for(timespec const&) + 238

5 org.bitcoinfoundation.Bitcoin-Qt 0x00105b60 void boost::this_thread::sleep_for<long long, boost::ratio<1ll, 1000ll> >(boost::chrono::duration<long long, boost::ratio<1ll, 1000ll> > const&) + 208

6 org.bitcoinfoundation.Bitcoin-Qt 0x0016047a ThreadOpenAddedConnections() + 2794

7 org.bitcoinfoundation.Bitcoin-Qt 0x0016bc7e void TraceThread<void (*)()>(char const*, void (*)()) + 110

8 org.bitcoinfoundation.Bitcoin-Qt 0x001674eb boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(char const*, void (*)()), boost::_bi::list2<boost::_bi::value<char const*>, boost::_bi::value<void (*)()> > > >::run() + 59

9 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

10 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

11 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

12 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 17:

0 libsystem_kernel.dylib 0x92768ace __select + 10

1 org.bitcoinfoundation.Bitcoin-Qt 0x000b1bd7 ConnectSocketDirectly(CService const&, unsigned int&, int) + 679

2 org.bitcoinfoundation.Bitcoin-Qt 0x000b2387 ConnectSocket(CService const&, unsigned int&, int) + 119

3 org.bitcoinfoundation.Bitcoin-Qt 0x0015efa1 ConnectNode(CAddress, char const*) + 1105

4 org.bitcoinfoundation.Bitcoin-Qt 0x0015f553 OpenNetworkConnection(CAddress const&, CSemaphoreGrant*, char const*, bool) + 531

5 org.bitcoinfoundation.Bitcoin-Qt 0x00162462 ThreadOpenConnections() + 3202

6 org.bitcoinfoundation.Bitcoin-Qt 0x0016bc7e void TraceThread<void (*)()>(char const*, void (*)()) + 110

7 org.bitcoinfoundation.Bitcoin-Qt 0x001674eb boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(char const*, void (*)()), boost::_bi::list2<boost::_bi::value<char const*>, boost::_bi::value<void (*)()> > > >::run() + 59

8 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

9 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

10 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

11 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 18 Crashed:

0 libsystem_kernel.dylib 0x92768952 __pthread_kill + 10

1 libsystem_pthread.dylib 0x962ca167 pthread_kill + 101

2 libsystem_c.dylib 0x964f9340 abort + 155

3 libsystem_c.dylib 0x964c443e __assert_rtn + 347

4 org.bitcoinfoundation.Bitcoin-Qt 0x000d2b0a GetNextWorkRequired(CBlockIndex const*, CBlockHeader const*) + 3466

5 org.bitcoinfoundation.Bitcoin-Qt 0x000f258c CBlock::AcceptBlock(CValidationState&, CDiskBlockPos*) + 1612

6 org.bitcoinfoundation.Bitcoin-Qt 0x000f39b6 ProcessBlock(CValidationState&, CNode*, CBlock*, CDiskBlockPos*) + 1718

7 org.bitcoinfoundation.Bitcoin-Qt 0x000faec9 ProcessMessage(CNode*, std::string, CDataStream&) + 23929

8 org.bitcoinfoundation.Bitcoin-Qt 0x000fca9d ProcessMessages(CNode*) + 1293

9 org.bitcoinfoundation.Bitcoin-Qt 0x0015d671 ThreadMessageHandler() + 865

10 org.bitcoinfoundation.Bitcoin-Qt 0x0016bc7e void TraceThread<void (*)()>(char const*, void (*)()) + 110

11 org.bitcoinfoundation.Bitcoin-Qt 0x001674eb boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(char const*, void (*)()), boost::_bi::list2<boost::_bi::value<char const*>, boost::_bi::value<void (*)()> > > >::run() + 59

12 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

13 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

14 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

15 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 19:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdc25 pthread_cond_timedwait$UNIX2003 + 71

3 libboost_thread-mt.dylib 0x00d25ead boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 145

4 libboost_thread-mt.dylib 0x00d21828 boost::this_thread::hiden::sleep_for(timespec const&) + 238

5 org.bitcoinfoundation.Bitcoin-Qt 0x00105b60 void boost::this_thread::sleep_for<long long, boost::ratio<1ll, 1000ll> >(boost::chrono::duration<long long, boost::ratio<1ll, 1000ll> > const&) + 208

6 org.bitcoinfoundation.Bitcoin-Qt 0x0016bae1 void LoopForever<void (*)()>(char const*, void (*)(), long long) + 145

7 org.bitcoinfoundation.Bitcoin-Qt 0x0016748e boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(char const*, void (*)(), long long), boost::_bi::list3<boost::_bi::value<char const*>, boost::_bi::value<void (*)()>, boost::_bi::value<int> > > >::run() + 78

8 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

9 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

10 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

11 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 20:

0 libsystem_kernel.dylib 0x927687ca __psynch_cvwait + 10

1 libsystem_pthread.dylib 0x962cbd1d _pthread_cond_wait + 728

2 libsystem_pthread.dylib 0x962cdc25 pthread_cond_timedwait$UNIX2003 + 71

3 libboost_thread-mt.dylib 0x00d25ead boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 145

4 libboost_thread-mt.dylib 0x00d21828 boost::this_thread::hiden::sleep_for(timespec const&) + 238

5 org.bitcoinfoundation.Bitcoin-Qt 0x00105b60 void boost::this_thread::sleep_for<long long, boost::ratio<1ll, 1000ll> >(boost::chrono::duration<long long, boost::ratio<1ll, 1000ll> > const&) + 208

6 org.bitcoinfoundation.Bitcoin-Qt 0x001848f9 ThreadFlushWalletDB(std::string const&) + 297

7 libboost_thread-mt.dylib 0x00d202e2 boost::thread::interruption_requested() const + 250

8 libsystem_pthread.dylib 0x962c95fb _pthread_body + 144

9 libsystem_pthread.dylib 0x962c9485 _pthread_start + 130

10 libsystem_pthread.dylib 0x962cecf2 thread_start + 34



Thread 18 crashed with X86 Thread State (32-bit):

eax: 0x00000000 ebx: 0xa0baccec ecx: 0xb0a4880c edx: 0x92768952

edi: 0xb0a4a000 esi: 0x00000006 ebp: 0xb0a48828 esp: 0xb0a4880c

ss: 0x00000023 efl: 0x00000206 eip: 0x92768952 cs: 0x0000000b

ds: 0x00000023 es: 0x00000023 fs: 0x00000023 gs: 0x0000000f

cr2: 0x07cd1000



Logical CPU: 0

Error Code: 0x00080148

Trap Number: 132





Binary Images:

0x1000 - 0x623fff +org.bitcoinfoundation.Bitcoin-Qt (0.8.5 - 0.8.5) <D5F19E46-ABD7-239B-BFE7-6F5C80B9F939> /Applications/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt

0x8c7000 - 0x8ccfe7 +libqrencode.3.dylib (5.1) <C65E635B-0FAE-4467-17EF-25D07E50256C> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libqrencode.3.dylib

0x8d0000 - 0x8d7ff7 +libminiupnpc.8.dylib (0) <F7531662-3FF5-7991-DD71-651C5FE99160> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libminiupnpc.8.dylib

0x8db000 - 0x928fef +libssl.1.0.0.dylib (1) <FA2694DE-4C3E-C7DE-0403-839D1EB792C1> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libssl.1.0.0.dylib

0x942000 - 0xa79fef +libcrypto.1.0.0.dylib (1) <494A2CA1-85D4-CDC2-DBCE-25BBF7DBF689> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libcrypto.1.0.0.dylib

0xae4000 - 0xc3dfff +libdb_cxx-4.8.dylib (0) <B1B58243-25D9-43B8-E64B-F308533E548D> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libdb_cxx-4.8.dylib

0xc67000 - 0xc6aff3 +libboost_system-mt.dylib (0) <795B1155-4061-F652-DBDD-6FB349176C3B> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libboost_system-mt.dylib

0xc6e000 - 0xc81ffb +libboost_filesystem-mt.dylib (0) <FFF4EB47-F5A0-698A-4FA7-B36534E617B8> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libboost_filesystem-mt.dylib

0xc8d000 - 0xcd1ff3 +libboost_program_options-mt.dylib (0) <5B0D175C-6C15-A3FB-189B-008E7C369F1D> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libboost_program_options-mt.dylib

0xd1c000 - 0xd2aff7 +libboost_thread-mt.dylib (0) <929BEDDE-5048-A781-6E3B-13495561B53C> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libboost_thread-mt.dylib

0xd40000 - 0xd45ff3 +libboost_chrono-mt.dylib (0) <D32CEBA0-4BA3-4A63-E6AE-35AB61CF72A7> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libboost_chrono-mt.dylib

0xd4d000 - 0x16ddfe3 +QtGui (4.8.4) <45E39CCC-CCF6-0EE0-D7F6-7D271638DA91> /Applications/Bitcoin-Qt.app/Contents/Frameworks/QtGui.framework/Versions/4/QtGui

0x18b4000 - 0x1b63ffb +QtCore (4.8.4) <E25EADA9-A088-72A0-01B8-5B84BF8E3F7C> /Applications/Bitcoin-Qt.app/Contents/Frameworks/QtCore.framework/Versions/4/QtCore

0x1bd5000 - 0x1cfbfe7 +QtNetwork (4.8.4) <34A4DF29-3114-AA6C-E5C6-1EEB4797E8C8> /Applications/Bitcoin-Qt.app/Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork

0x1d37000 - 0x1d48ff7 +libz.1.dylib (1.2.8) <E655BC48-B0AF-42B8-94AD-F7EA95D8BF66> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libz.1.dylib

0x1d4c000 - 0x1d69fe7 +libpng15.15.dylib (33) <7C8FEA11-5B44-61F7-281B-F41900DCC62A> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libpng15.15.dylib

0x7000000 - 0x70b0fff ColorSyncDeprecated.dylib (426) <F54DBFF3-3165-3D15-8AE4-37B603502A5F> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/Resources/ColorSyncDeprecated.dylib

0x7c09000 - 0x7c0dff3 +libqgif.dylib (0) <88247A6C-7963-6E25-F271-07D15F98CF45> /Applications/Bitcoin-Qt.app/Contents/PlugIns/imageformats/libqgif.dylib

0x7c12000 - 0x7c16fff +libqico.dylib (0) <7AE39AE4-C88A-D835-F6DB-43C38C12D8C9> /Applications/Bitcoin-Qt.app/Contents/PlugIns/imageformats/libqico.dylib

0x7c1b000 - 0x7c1ffff +libqjpeg.dylib (0) <79F89247-529B-F274-D63C-3BC66954A5E1> /Applications/Bitcoin-Qt.app/Contents/PlugIns/imageformats/libqjpeg.dylib

0x7c25000 - 0x7c56ff7 +libjpeg.9.dylib (10) <F010902F-D9A0-F58F-0035-36A0D06E9720> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libjpeg.9.dylib

0x7c5c000 - 0x7c5fff7 +libqmng.dylib (0) <AED7B482-BE3B-C70A-3E5B-7575C58DBCE3> /Applications/Bitcoin-Qt.app/Contents/PlugIns/imageformats/libqmng.dylib

0x7c64000 - 0x7cb1fe7 +libmng.1.dylib (2) <CD7A0390-8178-C7A2-BDE6-1B64B3686060> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libmng.1.dylib

0x7cc6000 - 0x7cc8ffb +libqtga.dylib (0) <DF371BC0-F930-689E-9654-D687DE08B059> /Applications/Bitcoin-Qt.app/Contents/PlugIns/imageformats/libqtga.dylib

0xaa00000 - 0xaa28fe7 +liblcms.1.dylib (2.19) <22FC09D8-B2D7-0356-CEE7-A8736EFC883A> /Applications/Bitcoin-Qt.app/Contents/Frameworks/liblcms.1.dylib

0xaa32000 - 0xaa37ff7 +libqtiff.dylib (0) <B5FE6E5D-B0E9-29C2-7C27-3C3EC56457D0> /Applications/Bitcoin-Qt.app/Contents/PlugIns/imageformats/libqtiff.dylib

0xaa3c000 - 0xaa97ff7 +libtiff.5.dylib (8) <501C7645-645E-2088-1796-25500F82C440> /Applications/Bitcoin-Qt.app/Contents/Frameworks/libtiff.5.dylib

0xaaa1000 - 0xaabdfe7 +liblzma.5.dylib (6.5) <3275FD00-2EBD-9440-0772-91484DE37BC8> /Applications/Bitcoin-Qt.app/Contents/Frameworks/liblzma.5.dylib

0xae80000 - 0xaea5ff9 com.apple.framework.familycontrols (4.1 - 410) <A33A97EE-C735-38BA-9B49-5D78DAA3DEDA> /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls

0xaeba000 - 0xaec5ffa com.apple.CommerceCore (1.0 - 42) <E59717F2-6770-3DBC-8510-F7AA61E60F57> /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Frameworks/CommerceCore.framework/Versions/A/CommerceCore

0xd40c000 - 0xd447ff3 +libqtaccessiblewidgets.dylib (0) <D256CDF3-59B6-AAC8-D553-A348D30AFD9C> /Applications/Bitcoin-Qt.app/Contents/PlugIns/accessible/libqtaccessiblewidgets.dylib

0x8fe24000 - 0x8fe56417 dyld (239.3) <4B280BB1-55F8-313F-86A6-8ADD644ED69E> /usr/lib/dyld

0x900a7000 - 0x900a7fff com.apple.Cocoa (6.8 - 20) <407DC9E6-BBCE-3D34-9BBB-00C90584FFDF> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa

0x900a8000 - 0x900abffb libutil.dylib (34) <B496031E-E763-3DEB-84D2-85C0F3DF2012> /usr/lib/libutil.dylib

0x900ac000 - 0x900fcff7 libcorecrypto.dylib (161.1) <135FD99E-2211-3DF4-825C-C9F816107F0C> /usr/lib/system/libcorecrypto.dylib

0x900fd000 - 0x90135fff com.apple.LDAPFramework (2.4.28 - 194.5) <0C42A932-15E8-3CD1-AC35-1DF7D41B25A2> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP

0x90136000 - 0x90221ff4 com.apple.DiskImagesFramework (10.9 - 371.1) <FC13BD5A-0FB7-35D5-A8DF-0510CFA996FE> /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages

0x90222000 - 0x90234fff libsystem_asl.dylib (217.1.4) <51EB17C9-9F5B-39F3-B6CD-8EF238B05B89> /usr/lib/system/libsystem_asl.dylib

0x90235000 - 0x90241ffe libkxld.dylib (2422.1.72) <F9B35FA5-C936-3286-A055-2B0780A674AC> /usr/lib/system/libkxld.dylib

0x90251000 - 0x90289ff7 com.apple.MediaKit (15 - 709) <82E0F8C0-313C-379C-9994-4D21587D0C0C> /System/Library/PrivateFrameworks/MediaKit.framework/Versions/A/MediaKit

0x9028a000 - 0x902b5ff7 libsystem_network.dylib (241.3) <71EBA489-386D-3608-ADE6-CB50EBD1AB1B> /usr/lib/system/libsystem_network.dylib

0x902b6000 - 0x905a8ff8 com.apple.CoreImage (9.0.54) <D7BC3E53-EF5B-3A14-8808-8D45EE505B48> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage

0x905c7000 - 0x905e2ff5 com.apple.openscripting (1.4 - 157) <5C161A52-8D2F-3D56-A988-05727BED7A59> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting

0x905e3000 - 0x905ebffe libGFXShared.dylib (9.0.83) <35644AAA-B1E7-367C-90C0-378024F8A46A> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib

0x905ec000 - 0x906b9ff7 com.apple.backup.framework (1.5 - 1.5) <E33257DD-A751-3230-89B7-B4B79F70A8FB> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup

0x906ba000 - 0x906c5ffb libcommonCrypto.dylib (60049) <F8E60C43-22EE-3E0B-9546-3365056901F1> /usr/lib/system/libcommonCrypto.dylib

0x906c6000 - 0x9073bff1 com.apple.ApplicationServices.ATS (360 - 363.1) <5C9BC698-0CC1-3F6A-9F9D-BCC3A9C3D6DC> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS

0x9073c000 - 0x9078ffff com.apple.htmlrendering (77 - 1.1.4) <408FA30F-4FE9-3162-9FFD-677E8569C1EA> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering

0x907c1000 - 0x907d1ff5 com.apple.LangAnalysis (1.7.0 - 1.7.0) <71DE7754-0A47-3F35-B1BF-B1FE7E1311E0> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis

0x907d2000 - 0x907d3ffc com.apple.TrustEvaluationAgent (2.0 - 25) <064B485D-56E0-3DD7-BBE2-E08A5BFFF8B3> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent

0x907d4000 - 0x90870fff com.apple.QD (3.50 - 298) <F73FD4D4-17A4-37D6-AC06-7CA5A8BA1212> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD

0x90a5d000 - 0x90a6bff3 com.apple.opengl (9.0.83 - 9.0.83) <16CFFD50-217E-3E18-88AF-7F2AD980628B> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL

0x90ac2000 - 0x90d26fff com.apple.CoreData (107 - 481) <F699EC21-57D9-3AE6-A17B-C1D1092780BD> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData

0x90d27000 - 0x90d27fff libodfde.dylib (20) <98FC02AE-C596-3ED5-80D1-C502FF6115ED> /usr/lib/libodfde.dylib

0x90d28000 - 0x90d56ff3 com.apple.DebugSymbols (106 - 106) <FC70F4C9-B2A6-352F-9563-6C085E9DDDB8> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols

0x90d57000 - 0x90d95ff7 com.apple.NavigationServices (3.8 - 215) <A093AAF0-248E-313E-BA82-01F69E269895> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices

0x90d96000 - 0x90d99ffe com.apple.LoginUICore (3.0 - 3.0) <6FE961A4-3C17-3004-B50B-FD78FDC28350> /System/Library/PrivateFrameworks/LoginUIKit.framework/Versions/A/Frameworks/LoginUICore.framework/Versions/A/LoginUICore

0x90e63000 - 0x90e7bff7 libsystem_malloc.dylib (23.1.10) <69F485C9-B3E7-3E36-A06C-D7DFD29D22E1> /usr/lib/system/libsystem_malloc.dylib

0x90e7c000 - 0x90e8bfff libGL.dylib (9.0.83) <E76D1F2A-D98B-3464-AD0B-FC1EBBADF027> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib

0x90e8c000 - 0x90eb8ff7 com.apple.DictionaryServices (1.2 - 208) <33873336-BECD-3F62-A315-C45F24C1818C> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices

0x90eb9000 - 0x90ebbffb libRadiance.dylib (1038) <F0D3F13B-5628-3DF9-8B86-A4D914567B25> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib

0x90ebc000 - 0x911bdff7 com.apple.CoreServices.CarbonCore (1077.13 - 1077.13) <C514A490-8689-3665-AD82-863B5FF8D6AE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore

0x911be000 - 0x911c7fff com.apple.DiskArbitration (2.6 - 2.6) <6379523D-3196-370C-AE4A-8EA586E36909> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration

0x911c8000 - 0x91226ffd com.apple.AE (665.5 - 665.5) <54F2F247-160C-3A22-A6E3-5D49655A67AB> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE

0x9128b000 - 0x912a3ffd libdispatch.dylib (339.1.9) <6249BAE5-044F-3A7A-9CCC-03FF7E6B405B> /usr/lib/system/libdispatch.dylib

0x912a4000 - 0x916d8ff7 com.apple.vision.FaceCore (3.0.0 - 3.0.0) <5B12F3E9-84F6-3183-B85D-FD19EF800ADB> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore

0x91858000 - 0x91875ffb libresolv.9.dylib (54) <3EC12A7F-6BA1-3976-9F1F-6A4B76303028> /usr/lib/libresolv.9.dylib

0x91878000 - 0x91888ff7 libsasl2.2.dylib (170) <CA1C07F6-8E17-315E-AE49-AB696DDE6707> /usr/lib/libsasl2.2.dylib

0x91889000 - 0x918a3ff7 com.apple.GenerationalStorage (2.0 - 160.2) <8755F7F1-2402-387C-A32A-2270E7D680C8> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage

0x91c5c000 - 0x91d93ff3 com.apple.desktopservices (1.8 - 1.8) <4D853961-F911-3FE2-A7DF-3130EA1D8CEB> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv

0x91d94000 - 0x91d9dffa com.apple.CommonAuth (4.0 - 2.0) <6CB82D57-3C55-39E5-9036-8047DF3E6F57> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth

0x91d9e000 - 0x91dedfff com.apple.opencl (2.3.57 - 2.3.57) <93385E1C-00D9-31BE-9652-7F3C09484B3E> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL

0x91dee000 - 0x91e64ff3 com.apple.securityfoundation (6.0 - 55122) <25149798-A37E-316F-84AB-93029EAF33D8> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation

0x91e6e000 - 0x91f1affb libvMisc.dylib (423.32) <43873EFF-FB43-3301-BEE8-F2C3A046D7A6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib

0x91f1b000 - 0x92205fd2 com.apple.vImage (7.0 - 7.0) <256972F0-3DBC-3CE1-9EE8-B48243868729> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage

0x9252d000 - 0x92549fff libCRFSuite.dylib (34) <FFF76EBA-DF35-3A5F-857F-3F4B1C9F4C77> /usr/lib/libCRFSuite.dylib

0x92708000 - 0x92714ff7 com.apple.OpenDirectory (10.9 - 173.1.1) <2AA24814-2DC6-3E28-B71B-186B686F0F19> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory

0x92747000 - 0x92750fff com.apple.speech.recognition.framework (4.2.4 - 4.2.4) <CF8E5706-F744-3139-8A51-D52BF055D19F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition

0x92751000 - 0x9276eff4 libsystem_kernel.dylib (2422.1.72) <C5641F6C-E271-380A-A656-AE4C04345602> /usr/lib/system/libsystem_kernel.dylib

0x9276f000 - 0x927d0ff7 com.apple.Symbolication (1.4 - 129) <E5948C08-6ADF-3D86-9134-6AE49CF1DA0F> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication

0x927d1000 - 0x9282affa libTIFF.dylib (1038) <691DAAFD-D72B-3BE9-AE5C-84AF86BE66CD> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib

0x9282b000 - 0x929d34af libobjc.A.dylib (551.1) <31CBE178-E972-30D1-ADC6-4B8345CAE326> /usr/lib/libobjc.A.dylib

0x92d1b000 - 0x92d90ffb com.apple.framework.IOKit (2.0.1 - 907.1.13) <86D72735-9DFB-35C8-83F7-CE0DCF17D354> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit

0x92d91000 - 0x92db9ff7 libRIP.A.dylib (599.7) <461297C0-DDA9-3613-8F27-D7F1AC57208F> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib

0x92dc2000 - 0x92dcfff7 com.apple.AppleFSCompression (56 - 1.0) <0C44B3E4-C4A7-3A65-9C1A-334CA3E35BDB> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression

0x92dd0000 - 0x92ebcff7 libxml2.2.dylib (26) <32040145-6FD6-3AD2-B98B-39F73BF9AC47> /usr/lib/libxml2.2.dylib

0x92ebd000 - 0x92f3dff7 com.apple.CoreServices.OSServices (600.4 - 600.4) <1227DF22-E2DA-3764-A1CA-10CC0CEBE377> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices

0x92f3e000 - 0x92f69ff5 com.apple.ChunkingLibrary (2.0 - 155.1) <50BBBBF8-F30B-39EA-A512-11A47F429F2C> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary

0x92f6a000 - 0x92f6afff com.apple.Accelerate (1.9 - Accelerate 1.9) <C85070A7-D942-3CFA-981F-5864480788C8> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate

0x92f6b000 - 0x92f93fff libsystem_info.dylib (449.1.3) <BB68E8CC-422F-3121-8C86-D0F766FB696D> /usr/lib/system/libsystem_info.dylib

0x9305b000 - 0x9305eff7 com.apple.help (1.3.3 - 46) <AB6292FA-D3BC-3D56-B3A5-2BE630A503E7> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help

0x9305f000 - 0x93063ffc libpam.2.dylib (20) <50623D44-795F-3E28-AA85-23E0E7E2AE0E> /usr/lib/libpam.2.dylib

0x93087000 - 0x9311fff7 com.apple.Metadata (10.7.0 - 800.12) <0AE4CD6B-FDFC-31ED-9F2C-FE870155CAF9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata

0x93120000 - 0x93132fff libbsm.0.dylib (33) <1BE92DB5-0D2F-3BB5-BCC6-8A71EF2A3450> /usr/lib/libbsm.0.dylib

0x93133000 - 0x93170ffb libGLImage.dylib (9.0.83) <FA15FEB5-54E4-313B-8E78-A2D2E6C88FE1> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib

0x93171000 - 0x93174fff libdyld.dylib (239.3) <729B32AC-EEE2-3739-8CE3-F90838D51906> /usr/lib/system/libdyld.dylib

0x93175000 - 0x9317cff2 com.apple.NetFS (6.0 - 4.0) <915AA303-C02B-3B0C-8208-D8AAA4350DB4> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS

0x9317d000 - 0x93181fff com.apple.CommonPanels (1.2.6 - 96) <E7CA63C6-CEE9-3F0A-93A7-C12C653FFB80> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels

0x9328b000 - 0x932affff libJPEG.dylib (1038) <212B0986-9227-397C-9493-BCB190EC020E> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib

0x9332c000 - 0x933cbff7 libCoreStorage.dylib (380) <55467C87-E1A3-3057-B428-9BCEFD39E36D> /usr/lib/libCoreStorage.dylib

0x933cc000 - 0x9341aff9 com.apple.HIServices (1.22 - 466) <30636237-408A-3552-90C1-1279348DF7CB> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices

0x93454000 - 0x93656ff7 com.apple.CoreFoundation (6.9 - 855.11) <50F70E07-043A-3A2F-87EF-A36BA6C5C9D9> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

0x93657000 - 0x93658fff libDiagnosticMessagesClient.dylib (100) <B936B1D4-90BB-395D-8EA9-E1237608E7D0> /usr/lib/libDiagnosticMessagesClient.dylib

0x93659000 - 0x93805ff1 com.apple.QuartzCore (1.8 - 332.0) <07F9B77F-35A2-3D21-99FA-CD3FCE5B9C7B> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore

0x93806000 - 0x938c9ff1 com.apple.CoreText (352.0 - 367.15) <746AD442-F7B4-3273-A36D-C7103D26F727> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText

0x938ca000 - 0x9390cfff libGLU.dylib (9.0.83) <0D9BFE5A-435E-3C66-AF96-D3567B8FC87B> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib

0x939a8000 - 0x939cffff com.apple.CoreVideo (1.8 - 117.2) <A53FDD90-F200-3F7C-8A8E-5DE36D3DFBB0> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo

0x939d0000 - 0x93a16fff libcurl.4.dylib (78) <EC84399F-5EA8-321B-B122-99730CC557C8> /usr/lib/libcurl.4.dylib

0x93a17000 - 0x93a48ffd com.apple.GSS (4.0 - 2.0) <6BA01155-4DAD-30EE-B480-D224650EA010> /System/Library/Frameworks/GSS.framework/Versions/A/GSS

0x93aac000 - 0x93b7cfef libvDSP.dylib (423.32) <E2FA7230-A001-3F6B-9ACF-6998C51AD7DC> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib

0x93b7d000 - 0x93b7efff liblangid.dylib (117) <F18F76C6-7E4B-34AD-AE81-C1C031BF2F7D> /usr/lib/liblangid.dylib

0x93b7f000 - 0x93c73fff libFontParser.dylib (111.1) <D8F9B2A4-41A6-3407-8D80-13A841F97BE5> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib

0x93c74000 - 0x93cd0ffa com.apple.print.framework.PrintCore (9.0 - 428) <3E248391-2669-328B-B84F-8763FE8E92BB> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore

0x93cd1000 - 0x93d62fff com.apple.ColorSync (4.9.0 - 4.9.0) <8366AE10-0396-3100-B87A-A176E8ECE7B6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync

0x93d63000 - 0x93d68ff6 libcompiler_rt.dylib (35) <9924DF2E-D80B-3A21-920D-544A4597203F> /usr/lib/system/libcompiler_rt.dylib

0x93d69000 - 0x93dafff7 libFontRegistry.dylib (127) <A0930DB2-A6C6-3C6E-B4A2-119E0D76FD7D> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib

0x94034000 - 0x94073ff7 com.apple.bom (12.0 - 192) <50F9D23C-9C9A-38BF-B4E2-66D93BE2A174> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom

0x94fc6000 - 0x950acff7 com.apple.coreui (2.1 - 231) <1C1AE894-C5C2-3F1C-BF29-B152ECD9BD88> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI

0x950ad000 - 0x95cc8ff3 com.apple.AppKit (6.9 - 1265) <AE258D94-0272-394F-BBB7-9B5C165A4A78> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit

0x95cc9000 - 0x95da4ff7 com.apple.LaunchServices (572.23 - 572.23) <7E52FB5C-9ECF-3CB9-BF18-6652B8D8CDE0> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices

0x95da5000 - 0x95da7ff2 com.apple.EFILogin (2.0 - 2) <BC558029-74C0-3A69-B376-8F4CBF8C338F> /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin

0x95dc8000 - 0x95dd0fff libsystem_dnssd.dylib (522.1.11) <1C015806-B971-34F9-B162-3DF7897351D0> /usr/lib/system/libsystem_dnssd.dylib

0x95dd1000 - 0x95e68ff7 com.apple.ink.framework (10.9 - 207) <EF00BCCB-B270-3F3D-9424-EF5F4BC23E25> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink

0x95e69000 - 0x95e69fff com.apple.Accelerate.vecLib (3.9 - vecLib 3.9) <DDAC0B59-F886-3AB1-98E8-C71FFF161CD4> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib

0x95e6a000 - 0x95e6cfff libquarantine.dylib (71) <EE3B510E-1AEC-3171-8A1A-D6A5A42CF35C> /usr/lib/system/libquarantine.dylib

0x95e6d000 - 0x96265ff3 com.apple.CoreGraphics (1.600.0 - 599.7) <DB004990-F06F-3768-AE4C-191B3C748EFC> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics

0x96266000 - 0x96271ff6 com.apple.NetAuth (5.0 - 5.0) <3B2E9615-EE12-38FC-BDCF-09529FF9464B> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth

0x962c8000 - 0x962cfffb libsystem_pthread.dylib (53.1.4) <8B1B7B84-1B5D-32A8-AC0D-1E689E5C8A4C> /usr/lib/system/libsystem_pthread.dylib

0x96300000 - 0x96303ffa libCGXType.A.dylib (599.7) <2738FF52-4B47-31AD-B7E5-412F6AFACC2A> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib

0x96304000 - 0x96307ff9 com.apple.TCC (1.0 - 1) <A5FCF7AA-3F56-3A19-9DF1-661F1F02F79D> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC

0x96308000 - 0x9630dff7 com.apple.print.framework.Print (9.0 - 260) <A6C465F6-C5D1-353A-9F33-19B9CEDBBC2A> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print

0x9649c000 - 0x9652effe libsystem_c.dylib (997.1.1) <D06FD754-8CE3-3EB7-BE05-2EF939BBE05F> /usr/lib/system/libsystem_c.dylib

0x9666f000 - 0x96679ff7 com.apple.DirectoryService.Framework (10.9 - 173.1.1) <D6735614-EF4B-389F-BF99-7D8416A504BA> /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService

0x9667a000 - 0x966cfff7 com.apple.audio.CoreAudio (4.2.0 - 4.2.0) <0F1C111F-1E64-33BB-A69F-14643B3037D5> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio

0x966d0000 - 0x966d4ffe libCoreVMClient.dylib (58.1) <0EB8FFD7-AFED-3A63-810E-29629831D43D> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib

0x9698a000 - 0x96993fff com.apple.audio.SoundManager (4.1 - 4.1) <68B7CEB7-AF09-3E24-8548-6ABF065B5186> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound

0x96994000 - 0x969c5ffa libsystem_m.dylib (3047.16) <28E614E8-7802-3E84-960A-AD4721EF10F7> /usr/lib/system/libsystem_m.dylib

0x969c6000 - 0x969d1fff com.apple.CrashReporterSupport (10.9 - 538) <7A5FF845-433C-33E3-99B5-F6AA5B825734> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport

0x96b3a000 - 0x96b5dff7 libc++abi.dylib (48) <5367BE5A-D475-3FB4-972D-E1DC999A709A> /usr/lib/libc++abi.dylib

0x96b5e000 - 0x96b88fff libxslt.1.dylib (13) <249D54AB-1D82-38FE-ABEC-0D575450C73B> /usr/lib/libxslt.1.dylib

0x96b89000 - 0x96badfff libxpc.dylib (300.1.17) <252BC88F-A5CA-3E67-AEDB-3D7B9F4537E2> /usr/lib/system/libxpc.dylib

0x96bae000 - 0x96bb0fff libsystem_configuration.dylib (596.12) <1C31C3F6-568D-3854-AE03-A5DA2F39297E> /usr/lib/system/libsystem_configuration.dylib

0x96bb7000 - 0x96d0dff0 libBLAS.dylib (1094.5) <74310C2F-4FDB-3995-A01A-5AFB83010A43> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib

0x96d0e000 - 0x96d44fff com.apple.IconServices (25 - 25.17) <A4B5242B-765E-3D58-B066-BBEDB5947AAD> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices

0x971ed000 - 0x97258ff9 com.apple.Heimdal (4.0 - 2.0) <E3091095-A893-3089-8DA1-8705B3BE5BF9> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal

0x9725a000 - 0x9736cffc libsqlite3.dylib (158) <B3DB0FED-FE4C-314D-8329-CF7708C8AAF4> /usr/lib/libsqlite3.dylib

0x9736d000 - 0x973e0fff com.apple.SearchKit (1.4.0 - 1.4.0) <6F607AB6-7553-37BA-BEC5-98FD7C27FAD7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit

0x973e1000 - 0x973e1fff com.apple.Carbon (154 - 157) <6E680560-FD53-3C00-BDF7-7AFA28747DC8> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon

0x974b7000 - 0x974b7fff libkeymgr.dylib (28) <1B097DEA-011E-3B1C-86D5-6C7FAD5C765A> /usr/lib/system/libkeymgr.dylib

0x974b8000 - 0x974c3fff libcsfde.dylib (380) <C9E61AFB-1A9D-324B-9827-06B182CDD7B0> /usr/lib/libcsfde.dylib

0x977f6000 - 0x977f7fff libsystem_blocks.dylib (63) <2AC67D5E-ECD4-3644-A53C-9684F9B7AA33> /usr/lib/system/libsystem_blocks.dylib

0x977f8000 - 0x97828ff7 com.apple.CoreServicesInternal (184.8 - 184.8) <88528205-9452-3EEC-BB27-DAAA7EC81E04> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal

0x9782b000 - 0x9799dffb com.apple.audio.toolbox.AudioToolbox (1.9 - 1.9) <E5FFD35D-18CF-333C-BECE-39F8E47BE707> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox

0x9799e000 - 0x979d3ffd libssl.0.9.8.dylib (50) <F3BEA2DF-DB84-37F0-B4C7-97C0A4DF19C9> /usr/lib/libssl.0.9.8.dylib

0x979d4000 - 0x97a03fff com.apple.framework.SystemAdministration (1.0 - 1.0) <05E81260-7DC7-3546-B45D-15B3E5DF056D> /System/Library/PrivateFrameworks/SystemAdministration.framework/Versions/A/SystemAdministration

0x97a04000 - 0x97a05fff libSystem.B.dylib (1197.1.1) <C58F0CC9-C1FD-3024-9358-D3359A6BBCAD> /usr/lib/libSystem.B.dylib

0x97a06000 - 0x97a06fff com.apple.ApplicationServices (48 - 48) <7967F6FA-2984-3CC3-AD9A-7B9AEC562A2A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices

0x97a07000 - 0x97a0bfff libheimdal-asn1.dylib (323.12) <9EA2A221-301B-3B9A-BBF2-38134145B5A8> /usr/lib/libheimdal-asn1.dylib

0x97a20000 - 0x97a29fff libsystem_notify.dylib (121) <623269F5-1518-3035-A916-8AF83C972154> /usr/lib/system/libsystem_notify.dylib

0x97a2a000 - 0x97a76ff7 libcups.2.dylib (372) <9A2BE8DC-37E4-3019-B665-1036FE7868EA> /usr/lib/libcups.2.dylib

0x97a77000 - 0x97a81ff7 com.apple.speech.synthesis.framework (4.6.2 - 4.6.2) <16E20DCD-89F4-3C8E-9DBA-EED359807038> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis

0x97a82000 - 0x97aebfff com.apple.SystemConfiguration (1.13 - 1.13) <542075CD-9085-3F30-B84B-DD0277D6A40E> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration

0x97aec000 - 0x97aedffd libunc.dylib (28) <22A126A1-DCFB-3BE5-A66B-C973F0A5D839> /usr/lib/system/libunc.dylib

0x97aee000 - 0x97b57fff com.apple.datadetectorscore (5.0 - 354.0) <0C6C812D-3E7A-31A4-BFDE-CD3316AA35B6> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore

0x97b58000 - 0x97b66ff7 com.apple.Sharing (132.2 - 132.2) <87DBFC7A-9689-3B8E-AD16-5A9DFF9DE625> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing

0x97cd8000 - 0x97dd6fff libJP2.dylib (1038) <EE0B9985-625D-39E6-B425-03FB75BA2594> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib

0x97dd7000 - 0x97deafff com.apple.ImageCapture (9.0 - 9.0) <63D5C96F-1893-3F35-ADFB-EE451AFD87E6> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture

0x97deb000 - 0x97df9fff libxar.1.dylib (202) <B73748D4-F830-3C71-98B3-7A3ABF5136FD> /usr/lib/libxar.1.dylib

0x97dfa000 - 0x97e42fff com.apple.PerformanceAnalysis (1.47 - 47) <16935C0F-7F9F-316E-9D46-11973DE0904A> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis

0x97e43000 - 0x97e44ffa libsystem_sandbox.dylib (278.10) <F3C9C4