Hello What is the issue with the Bitcoin code for 0.9.x with regard to assertions that isn't in 0.8.6 or previous releases? on April 18th, I offered https://github.com/bc4-old-c-coder/bitcoin/commit/f0d221e56a12947b67b9c8f43cc5832b665052c8 this commit and code with all side effects removed from the assertions. Then on the 28th, https://github.com/bc4-old-c-coder/bitcoin/tree/0.8.6 this code with unit tests working. And if that isn't enough, I did a video series on building Bitcoind.exe and the static libraries (on MSVC++) all in NDEBUG (release) mode. See https://www.youtube.com/playlist?list=PLFnWb0ttBBMLyUuniLp3PJ5Mn4tVUlliZ  Notice that the NDEBUG release mode is featured, and I even run it! Lastly what does that say about building Bitcoin-qt in release mode?  Should one or not?? There is also a video on building an alternate coin-qt.exe in release mode (gcc version) and running it!  See https://www.youtube.com/watch?v=C8GvHpjbAnM   assert() should have no side effects, that is the problem. See http://books.google.com/books?id=L5ZbzVnpkXAC&pg=PA72&lpg=PA72&dq=Gotcha+%2328+Side+Effects&source=bl&ots=Rn15TlPmje&sig=tymHqta0aSANwaM2GaXC-1Di_tk&hl=en&sa=X&ei=uVKNU47fCcvTsAT6goHIBA&ved=0CCAQ6AEwAA#v=onepage&q=Gotcha%20%2328%20Side%20Effects&f=false a great book, BTW.  Everyone who thinks they know what they are doing when they write C++ should read this book!  They will realize that they don't know Jack Why weren't these and all the other examples of amateur, i.e., non-professional, software fixed way back in version 0.3.0 in 2010, before any more releases were done?  And why were these and other sub-standard coding practices continued and expanded in later releases, right up until the present? Ron