[vlc-devel] [PATCH] lib: assert instead of abort

Rémi Denis-Courmont remi at remlab.net
Fri Sep 27 16:26:58 CEST 2019


Hi,

I am on holidays without laptop, so I cannot check, but I believe the answer to your question is history. I mean, vlc_assert_unreachable() should be used there but it probably did not exist when the code was written.

Le 20 septembre 2019 15:49:50 GMT+03:00, Romain Vimont <rom1v at videolabs.io> a écrit :
>On Fri, Sep 20, 2019 at 03:13:08PM +0300, Rémi Denis-Courmont wrote:
>> I completely disagree. When event registration/deregistration fails,
>you're almost guaranteed a deadlock or some use after free. Much better
>to abort asap.
>
>If an assertion fails, then the program has (probably) undefined
>behavior.
>
>But why using assert() everywhere but abort() here? There are a lot of
>places where a failing assert() would almost guarantee a deadlock or
>some use after free.
>
>> Le 20 septembre 2019 12:21:37 GMT+03:00, Thomas Guillem
><thomas at gllm.fr> a écrit :
>> >Because you should not abort in production. Developers will still be
>> >notified
>> >that they are miss-using the API with the assert.
>> >
>> >PS: this abort was happening on iOS via VLCKit, the API miss-use had
>> >been fixed
>> >here: https://code.videolan.org/videolan/VLCKit/merge_requests/19
>> >---
>> > lib/event.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> >diff --git a/lib/event.c b/lib/event.c
>> >index 28d3d0c232..4a57029b89 100644
>> >--- a/lib/event.c
>> >+++ b/lib/event.c
>> >@@ -179,5 +179,5 @@ void libvlc_event_detach(libvlc_event_manager_t
>> >*em, libvlc_event_type_t type,
>> >              return;
>> >          }
>> >     }
>> >-    abort();
>> >+    assert(!"event not found or already detached");
>> > }
>> >-- 
>> >2.20.1
>> >
>> >_______________________________________________
>> >vlc-devel mailing list
>> >To unsubscribe or modify your subscription options:
>> >https://mailman.videolan.org/listinfo/vlc-devel
>> 
>> -- 
>> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez
>excuser ma brièveté.
>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190927/e7832b4d/attachment.html>


More information about the vlc-devel mailing list