[vlc-devel] [vlc-commits] picture_Hold: add an assertion
Rémi Denis-Courmont
remi at remlab.net
Fri Oct 31 11:10:24 CET 2014
Le 2014-10-31 12:59, Thomas Guillem a écrit :
> On Thu, Oct 30, 2014, at 20:02, Rémi Denis-Courmont wrote:
>> vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu
>> Oct 30
>> 21:02:43 2014 +0200| [c2b0f25eab8debf0f9d437dbeb298368692dddc6] |
>> committer: Rémi Denis-Courmont
>>
>> picture_Hold: add an assertion
>>
>> >
>> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c2b0f25eab8debf0f9d437dbeb298368692dddc6
>> ---
>>
>> src/misc/picture.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/misc/picture.c b/src/misc/picture.c
>> index 358de65..6aa5b05 100644
>> --- a/src/misc/picture.c
>> +++ b/src/misc/picture.c
>> @@ -284,7 +284,8 @@ picture_t *picture_New( vlc_fourcc_t i_chroma,
>> int
>> i_width, int i_height, int i_
>>
>> picture_t *picture_Hold( picture_t *p_picture )
>> {
>> - atomic_fetch_add( &p_picture->gc.refcount, 1 );
>> + uintptr_t refs = atomic_fetch_add( &p_picture->gc.refcount, 1
>> );
>> + assert( refs > 0 );
>> return p_picture;
>> }
>>
>
> this patch breaks avcodec in android, SIGABRT due to an assert:
>
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 9289]
> 0x40131f78 in tgkill () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> (gdb) bt
> #0 0x40131f78 in tgkill () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> #1 0x40123010 in pthread_kill () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> #2 0x40123224 in raise () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> #3 0x40121f5a in ?? () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> #4 0x40131830 in abort () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> #5 0x40122a40 in ?? () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> #6 0x40121fb8 in __assert2 () from
>
> /home/tom/work/git/vlc-android/vlc-android/obj/local/armeabi-v7a/libc.so
> #7 0x75652196 in picture_Hold (p_picture=0x75d8b620 <__func__.8221>,
> p_picture at entry=0x77fa8d98) at ../../src/misc/picture.c:288
> #8 0x75653064 in picture_pool_Get (pool=0x75cf44dc) at
> ../../src/misc/picture_pool.c:284
That code path does not exist in that commit hash...
I blame your local changes.
--
Rémi Denis-Courmont
More information about the vlc-devel
mailing list