From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54717) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaQeM-0001tL-EC for qemu-devel@nongnu.org; Fri, 11 Sep 2015 11:54:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZaQeG-0005Am-Ly for qemu-devel@nongnu.org; Fri, 11 Sep 2015 11:54:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51992) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaQeG-0005Ai-EZ for qemu-devel@nongnu.org; Fri, 11 Sep 2015 11:54:00 -0400 References: <87y4gdzcb1.fsf@blackfin.pond.sub.org> From: Eric Blake Message-ID: <55F2F916.8010605@redhat.com> Date: Fri, 11 Sep 2015 09:53:58 -0600 MIME-Version: 1.0 In-Reply-To: <87y4gdzcb1.fsf@blackfin.pond.sub.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="NQLhVp5d48KijA3lmhLbnWdaoeRG10P2x" Subject: Re: [Qemu-devel] [RFC PATCH v1 00/25] error: Automatic error concatenation and prefixing List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster , Peter Crosthwaite Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --NQLhVp5d48KijA3lmhLbnWdaoeRG10P2x Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/11/2015 12:42 AM, Markus Armbruster wrote: > Quick initial high-level feedback, since I'm afraid real review will > take a while (series is long, and I'm still swamped). >=20 >> >> So the net result for these ARM machines, is error behaviour that is >> something like a compiler. If any one thing fails, then machine-init >> (compilation) fails. But an early fail does not stop machine-init >> (compilation), instead it proceeds to the end collecting subsequent >> errors as it goes. >=20 > Simple compilers stop on first error. Not as bad as it may sound when > your machine gets from running "make" to compiler dying on the first > error real fast. >=20 > More ambitious compilers continue to diagnose more errors. This isn't > trivial. The compiler has to satisfy post conditions even after an > error, typically by synthesizing suitable error values. It has to take= > pains to avoid error cascades. Experienced users recognize when that > effort fails, and typically ignore the remaining errors wholesale then.= >=20 > In QEMU, error cascades might be less of a problem than with compilers.= > To tell for sure, we'd have to try. >=20 > However, satisfying post conditions is at least as much of a problem. > More so since they're generally unstated. Can you explain your strateg= y > for solving this one? And that's why I'm arguing that error chaining has to be an explicit opt-in, and not the default. Code that has been audited to be safe against cascading errors can use error chaining to reduce boilerplate, but the default behavior should continue to be treating the first error as fatal rather than getting the system into a worse state due to failed postconditions. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --NQLhVp5d48KijA3lmhLbnWdaoeRG10P2x Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJV8vkXAAoJEKeha0olJ0Nq++0H/2GWWEE/vvi48a7S/v1rFDCe B5/zQP/8tKqQMsYOR5EmNGI1mAe0A56gpov68sUcAXh8nBk1yb87p7TjTggfztj0 bFX6Esw8yIW3SjkF4m6Jn+Spk0obBhHPWpMxNz/pBDR87lEUqUE52R1aP0Uk5mjv iPxrmHp7ijRArnP5iDwMFbDGhh088JAW+jMy3WxB/xwlZbuVHzweX7pO+LJE1fcn spSCd3vK/3oyCkvQ2IQrJOKwcntKZnXsU3BbcQDrCG79AtgXaXEcHsIIAkj2Bsl/ Dna0EOdTNyADcOlx14QT66858lTJnd9c18JQ++61lwp/gEzc4gAY92IiJ5o6GdY= =0Qqv -----END PGP SIGNATURE----- --NQLhVp5d48KijA3lmhLbnWdaoeRG10P2x--