From: Markus Armbruster <armbru@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: Prerna Saxena <saxenap.ltc@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2/2] Debug : Add error messages before a call to debug().
Date: Thu, 28 Apr 2016 10:34:55 +0200 [thread overview]
Message-ID: <87oa8ut9lc.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <5720E204.1090101@redhat.com> (Eric Blake's message of "Wed, 27 Apr 2016 10:00:04 -0600")
Eric Blake <eblake@redhat.com> writes:
> On 04/14/2016 09:02 PM, Prerna Saxena wrote:
>> Qemu code has abort() calls in various places which raises a SIGABRT;
>> This patch adds error messages before (most)calls to abort(), so that
>> it is easier to determine why QEMU died.
>
> The subject line says you are adding messages before debug(), but the
> rest of the patch is adding message before abort(). You'll need to fix
> that. Also, subject lines usually don't end in '.'
>
>> +++ b/block.c
>> @@ -3725,6 +3725,7 @@ void bdrv_remove_aio_context_notifier(BlockDriverState *bs,
>> }
>> }
>>
>> + error_report("Matching context notifier not found for removal. Aborting");
>> abort();
>
> The "Aborting" part of the message is redundant; it's pretty obvious
> that qemu aborted.
>
> I also wonder if you should be using g_assert_not_reached() instead of
> abort() in some (all?) of the places touched in this patch - at which
> point you don't have to worry about inventing a message that will never
> be printed. The reason I suggest it is that g_assert_not_reached() is
> self-documenting, and prints a nicer message than abort() if it does
> accidentally get reached.
Printing elaborate messages before killing the program on programming
errors seems pointless. These errors should never happen. If they do,
something's seriously wrong with the program, and you need professional
help to debug it. Pretty much the only generally useful clue the dying
program can provide for that is where the error is. abort() provides
that clue (and more) if you let it dump core. assert() additionally
provides that clue independently of the core. If you find users need
more than that, chances are this error shouldn't abort() in the first
place.
prev parent reply other threads:[~2016-04-28 8:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-15 3:02 [Qemu-devel] [PATCH 0/2] Cleanup and instrumenting qemu exits due to abort() Prerna Saxena
2016-04-15 3:02 ` [Qemu-devel] [PATCH 1/2] Block: Cleanup vvfat.c to remove dead code Prerna Saxena
2016-04-27 15:20 ` Stefan Hajnoczi
2016-04-27 16:07 ` Alex Bennée
2016-04-15 3:02 ` [Qemu-devel] [PATCH 2/2] Debug : Add error messages before a call to debug() Prerna Saxena
2016-04-27 15:38 ` Stefan Hajnoczi
2016-04-27 16:00 ` Eric Blake
2016-04-28 4:57 ` Prerna
2016-04-28 8:34 ` Markus Armbruster [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87oa8ut9lc.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=saxenap.ltc@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.