[vlc-devel] segfault in mpgatofixed32.c

Laurent Aimar fenrir at via.ecp.fr
Sun Jul 12 17:53:35 CEST 2009


Hi,
On Sun, Jul 12, 2009, Denis wrote:
> I get a reproducible crash in a loop within DoWork:
>
> int i_size = p_out_buf->i_nb_bytes / sizeof(float);
> float * a = (float *)p_out_buf->p_buffer;
> for ( i = 0 ; i < i_size ; i++ )
>    *a++ = 0.0; // crash

 What VLC version are you testing ? (the line number does not seems to
match 1.0).

> (gdb) print *p_in_buf
> $35 = {p_buffer = 0x20c7968, i_alloc_type = 2,
>  i_size = 4212, i_nb_bytes = 322, i_nb_samples = 1152,
>  start_date = 22173084417, end_date = 22173110539, b_discontinuity =  
> false,
>  p_next = 0x20cebf0, p_sys = 0x183bed0, pf_release = 0x1839910}
>
> (gdb) print *p_out_buf
> $34 = {p_buffer = 0x7f8f0d3efc68, i_alloc_type = 1,
>  i_size = 4220, i_nb_bytes = 9216, i_nb_samples = 1152,
>  start_date = 22173084417, end_date = 22173110539, b_discontinuity =  
> false,
>  p_next = 0x3630382e30, p_sys = 0x7f8f5eaef187, pf_release = 0}

 Could you also print the content of the parameter aout_filter_t * p_filter ?
It will help to understand the problem (as with master, I failed to reproduce
the problem).

> Looks like p_out_buf->i_nb_bytes is a bit big compared to p_out_buf->i_size.
 If possible, a check using valgrind would be a plus.

Regards,

-- 
fenrir



More information about the vlc-devel mailing list