[Spice-devel] [PATCH v3 04/11] Rephrase assertion section

Christophe de Dinechin cdupontd at redhat.com
Tue Feb 13 13:40:38 UTC 2018



> On 13 Feb 2018, at 14:39, Frediano Ziglio <fziglio at redhat.com> wrote:
> 
>>> 
>>> On 12 Feb 2018, at 17:58, Frediano Ziglio <fziglio at redhat.com> wrote:
>>> 
>>> In SPICE, as in Glib, ERROR is more "strong" than CRITICAL
>>> (I don't know where this came, even in Solaris CRITICAL is more
>>> strong like Linux, maybe an initial mistake).
>>> By default CRITICAL is fatal (it calls abort) so ERROR is too.
>> 
>> I’ve not tested with the agent, but I know that for spicy, I regularly get
>> “CRITICAL” about assertions without an abort:
>> 
>> (spicy:53020): GLib-GObject-CRITICAL **: g_object_get: assertion 'G_IS_OBJECT
>> (object)' failed
>> (spicy:53020): GLib-GObject-CRITICAL **: g_object_unref: assertion
>> 'G_IS_OBJECT (object)' failed
>> 
>> If the desired behavior is an abort, we are not configuring it properly.
>> 
>> 
>> Christophe
>> 
> 
> But this is a CRITICAL in spicy, not a ERROR in the server.
> By default g_critical is not fatal, spice_critical yes.
> Both g_error and spice_error are fatal.

My point was that an assertion failure was not aborting.

Do you feel that it’s logical and consistent? For me, it’s remarkably confusing ;-)


Christophe

> 
> Frediano
> 
>>> 
>>>>> I agree, asserts should not be used as needed runtime checks.
>>>> 
>>>> I’ll add that to the next writeup.



More information about the Spice-devel mailing list