Bug 23760

Summary: Падает при индексации некоторых файлов
Product: Sisyphus Reporter: Andrey Rahmatullin <wrar>
Component: mpdAssignee: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: aen, anatoly.bashmakov, lakostis, swi
Version: unstable   
Hardware: all   
OS: Linux   

Description Andrey Rahmatullin 2010-07-12 23:17:24 MSD
(gdb) bt                                                                                                                                                     
#0  0x4ef5a247 in raise () from /lib/libc.so.6                                                                                                               
#1  0x4ef5b96a in abort () from /lib/libc.so.6                                                                                                               
#2  0x4ef533f7 in __assert_fail () from /lib/libc.so.6                                                                                                       
#3  0x0807737e in decoder_read (decoder=0x30, is=0x81eb655, buffer=0x82727a0, length=32768) at src/decoder_api.c:140                                         
#4  0x080624f8 in mpd_ffmpeg_read (h=0x826d750, buf=0x82727a0 " ", size=32768) at src/decoder/ffmpeg_plugin.c:91                                             
#5  0x4472f313 in get_buffer () from /usr/lib/libavformat.so.52                                                                                              
#6  0x000036c8 in ?? ()                                                                                                                                      
(gdb) fr 4
#4  0x080624f8 in mpd_ffmpeg_read (h=0x826d750, buf=0x82727a0 " ", size=32768) at src/decoder/ffmpeg_plugin.c:91
91              return decoder_read(stream->decoder, stream->input,
(gdb) fr 3
#3  0x0807737e in decoder_read (decoder=0x30, is=0x81eb655, buffer=0x82727a0, length=32768) at src/decoder_api.c:140
140             assert(decoder == NULL ||
Comment 1 Andrey Rahmatullin 2010-07-12 23:19:07 MSD
Точнее, там то ABRT, то SEGV, но при decoder=0x30 я бы как раз SEGV ожидал, странно что в данном случае ассерт не прошёл.
Comment 2 Andrey Rahmatullin 2010-07-13 08:55:29 MSD
==11962== Invalid read of size 4
==11962==    at 0x806249F: mpd_ffmpeg_open (ffmpeg_plugin.c:83)
==11962==    by 0x4472DAA4: url_open (in /usr/lib/libavformat.so.52.71.0)
==11962==  Address 0x60e2880 is not stack'd, malloc'd or (recently) free'd
==11962== 
==11962== Invalid read of size 1
==11962==    at 0x80624A2: mpd_ffmpeg_open (ffmpeg_plugin.c:83)
==11962==    by 0x4472DAA4: url_open (in /usr/lib/libavformat.so.52.71.0)
==11962==  Address 0x9 is not stack'd, malloc'd or (recently) free'd

==11962== Process terminating with default action of signal 11 (SIGSEGV)
==11962==  Access not within mapped region at address 0x9
==11962==    at 0x80624A2: mpd_ffmpeg_open (ffmpeg_plugin.c:83)
==11962==    by 0x4472DAA4: url_open (in /usr/lib/libavformat.so.52.71.0)
Comment 3 Andrey Rahmatullin 2010-07-13 09:06:32 MSD
А падает оно всего лишь на файле из нулей (с расширением .mp3). На авишке какой-то ещё падало, но я её удалил. Не исключаю, что в ней тоже нули были.


#0  0x080624a2 in mpd_ffmpeg_open (h=0x80e4280, filename=0x80e429c "mpd://X.mp3", flags=0) at src/decoder/ffmpeg_plugin.c:83
83              h->is_streamed = stream->input->seekable ? 0 : 1;

(gdb) p *stream
$4 = {url = "mpd://X.mp3\000e/wr)\000\000\000\000C\016\bpdtest/02 The Human Stain.mpX\000\000\000\021\000\000\000яяяя", decoder = 0x0, input = 0x0}
Comment 4 swi 2010-10-24 12:22:32 MSD
Подтверждаю. Тоже падало на update или создании базы.
0.15.13 пошло в сизиф. У меня падать перестало.
С пульс оно смешное.
Comment 5 swi 2010-10-24 12:25:00 MSD
Подтверждаю. Тоже падало на update или создании базы.
0.15.13 пошло в сизиф. У меня падать перестало.
С пульс оно смешное.
Comment 6 tolya 2010-10-27 00:58:18 MSD
Похоже, что с 0.15.13 не падает (с 0.15.8 падало)
Comment 7 swi 2010-10-27 12:11:00 MSD
0.15.13