Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from <jgarzik@bitpay.com>) id 1Wt4wu-0002wb-C8 for bitcoin-development@lists.sourceforge.net; Sat, 07 Jun 2014 00:57:32 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of bitpay.com designates 74.125.82.181 as permitted sender) client-ip=74.125.82.181; envelope-from=jgarzik@bitpay.com; helo=mail-we0-f181.google.com; Received: from mail-we0-f181.google.com ([74.125.82.181]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1Wt4ws-0002UI-ID for bitcoin-development@lists.sourceforge.net; Sat, 07 Jun 2014 00:57:31 +0000 Received: by mail-we0-f181.google.com with SMTP id w61so3455120wes.26 for <bitcoin-development@lists.sourceforge.net>; Fri, 06 Jun 2014 17:57:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=iVBByUNq2G/n/jI2fqIkla2ymfPuLUx/SONEbQHOrzI=; b=eo6Y+lN7OtT6Yg+97er+CVWi7IiGyYdAFFi3I4caC+sDGLLV0alGrKd3NxpXUhk8n5 WhOaTMVbLMz8BPuBFy7BOAv0nW7+bIRBubF4d+xt02+OvX9TyVv3z195oKywxWdr87m1 F8a14s+CAE/8+/olhpqsRYaAz1ZFPcFJ9OVyZvv+eNkMSGrxY3DjQL1iHx0iYIS0PjXb tgtz/latlsGct8gqHo3xnSIHxDU7OoLB2YDRflcEda9fQJi2TT0Z+jTpf6uuEUNWHESR 9FzLIOzXs5/X14hWSbqTXLVOjCV2QFJD7xgSbXxSZIGsidPWCUPIeX6xNH70gb8sbXZP SS+A== X-Gm-Message-State: ALoCoQk6YJDudGZbVzzpOYDWCKaR8nhzS8BTJ2R6GFLsGyB4vOVBRkiQvcigeADlC/2xDYeTFTcU X-Received: by 10.194.82.9 with SMTP id e9mr11207902wjy.45.1402102644197; Fri, 06 Jun 2014 17:57:24 -0700 (PDT) MIME-Version: 1.0 Received: by 10.195.12.3 with HTTP; Fri, 6 Jun 2014 17:57:04 -0700 (PDT) In-Reply-To: <CAPg+sBjz8_5SwiL2xyby+TqMTpB8psDhG7O1e0KbWFfqppeYng@mail.gmail.com> References: <1401822421.27942.YahooMailNeo@web124505.mail.ne1.yahoo.com> <CANEZrP18nf0oK6fbnE59opXxfMdwiOOu4v99iGyXyGo_7NLuYA@mail.gmail.com> <CAAS2fgTM30oFLGpkCwqM5Wf-Crmz5s05X-uWXAiGy9u43nbKvQ@mail.gmail.com> <538EF81D.9060301@stud.uni-saarland.de> <CA+s+GJDZ-F0obYRTkbt=MHMo60jH0jYo-3On_56rHtyguEU4pg@mail.gmail.com> <CAPg+sBjz8_5SwiL2xyby+TqMTpB8psDhG7O1e0KbWFfqppeYng@mail.gmail.com> From: Jeff Garzik <jgarzik@bitpay.com> Date: Fri, 6 Jun 2014 20:57:04 -0400 Message-ID: <CAJHLa0MhbRc+gqM4i55CBJw9SN1RswJUDTJMV7KjJv1KL_rypg@mail.gmail.com> To: Pieter Wuille <pieter.wuille@gmail.com> Content-Type: text/plain; charset=UTF-8 X-Spam-Score: -1.6 (-) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1Wt4ws-0002UI-ID Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net> Subject: Re: [Bitcoin-development] # error "Bitcoin cannot be compiled without assertions." <<<<NOT X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: <bitcoin-development.lists.sourceforge.net> List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>, <mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe> List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development> List-Post: <mailto:bitcoin-development@lists.sourceforge.net> List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help> List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>, <mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe> X-List-Received-Date: Sat, 07 Jun 2014 00:57:32 -0000 Speaking very generally, the Linux kernel wisdom on this tends to be, * Compile in as many cheap, compiler-predictable asserts as possible into the production runtime. * Debug builds are of limited value. Users do not recompile software, just to provide better bug reports/diagnostics. * Make it as easy as possible for users to send reports that are useful to programmers. * Expensive diagnostics are fine. Compile in, but disable by default at runtime (and make sure these features, when turned off, do not slow down the system). * Make sure the assert/dump provides a high level of diagnostics. Stack trace of each thread + multi-threaded core dump are a good start. -- Jeff Garzik Bitcoin core developer and open source evangelist BitPay, Inc. https://bitpay.com/