[libav-bugs] [Bug 100] New: Crash when decoding a corrupted file with multi-threading

bugzilla-daemon at aruru.libav.org bugzilla-daemon at aruru.libav.org
Sat Nov 26 15:28:56 CET 2011


http://bugzilla.libav.org/show_bug.cgi?id=100

           Summary: Crash when decoding a corrupted file with
                    multi-threading
           Product: Libav
           Version: git HEAD
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: libavcodec
        AssignedTo: bugzilla at libav.org
        ReportedBy: cheng.sun at ymail.com


Steps to reproduce:

Download test file at
http://www.google-melange.com/gci/work/download/google/gci2011/7116338?id=5003
Using VLC trunk, and with the VLC avcodec plugin configured to tell libavcodec
to decode with more than one thread, try to play back the file.
libavcodec will then consistently segfault.
(avplay does not crash because it does not use multi-threaded decoding)


Backtrace:

#0 0x00007ffff7009f6b in pthread_join () from /lib/libpthread.so.0
#1 0x00007fffdd61ea63 in frame_thread_free (avctx=0x7fffe0008b80,
thread_count=1)
at /home/csun/dev/videolan/libav/libavcodec/pthread.c:653
#2 0x00007fffdd61ff58 in frame_thread_init (avctx=0x7fffe0008b80) at
/home/csun/dev/videolan/libav/libavcodec/pthread.c:763
#3 ff_thread_init (avctx=0x7fffe0008b80) at
/home/csun/dev/videolan/libav/libavcodec/pthread.c:932
#4 0x00007fffdd6945e5 in avcodec_open2 (avctx=0x7fffe0008b80,
codec=0x7fffddb6c960, options=0x0)
at /home/csun/dev/videolan/libav/libavcodec/utils.c:587
#5 0x00007fffdd35e054 in ffmpeg_OpenCodec (p_dec=0x7fffe0001d88) at
avcodec.c:445
#6 0x00007fffdd35f244 in InitVideoDec (p_dec=0x7fffe0001d88, p_context=,
p_codec=,
i_codec_id=28, psz_namecodec=) at video.c:413
#7 0x00007fffdd35dee5 in OpenDecoder (p_this=0x7fffe0001d88) at avcodec.c:316
#8 0x00007ffff79668f5 in vlc_module_load (p_this=0x7fffe0001d88,
psz_capability=0x7ffff79a47ae "decoder",
psz_name=, b_strict=false, probe=0x7ffff79663d0 ) at modules/modules.c:347
#9 0x00007ffff792a1fe in CreateDecoder (p_parent=0x871b58, p_input=0x871b58,
fmt=0x7fffe8c0e778, b_packetizer=false,
p_resource=0x865f90, p_sout=0x0) at input/decoder.c:811
#10 0x00007ffff792a396 in decoder_New (p_parent=0x871b58, p_input=,
fmt=0x7fffe8c0e778,
p_clock=0x7fffe8c0e980, p_resource=, p_sout=) at input/decoder.c:271
#11 0x00007ffff792ef2b in EsCreateDecoder (out=, p_es=0x7fffe8c0e760) at
input/es_out.c:1589
#12 0x00007ffff792fdb6 in EsSelect (out=0x77f580, es=0x7fffe8c0e760) at
input/es_out.c:1674
#13 0x00007ffff793005b in EsOutSelect (out=0x77f580, es=0x7fffe8c0e760,
b_force=) at input/es_out.c:1877
#14 0x00007ffff7932f49 in EsOutControlLocked (args=, i_query=, out=0x77f580)
at input/es_out.c:2198
#15 EsOutControl (out=0x77f580, i_query=, args=) at input/es_out.c:2716
#16 0x00007ffff79341dc in es_out_vaControl (args=0x7fffec4f0ad8, i_query=,
out=)
at ../include/vlc_es_out.h:126
#17 es_out_Control (out=, i_query=) at ../include/vlc_es_out.h:135
#18 0x00007ffff7936105 in ControlLocked (args=, i_query=, p_out=)
at input/es_out_timeshift.c:622
#19 Control (p_out=, i_query=, args=) at input/es_out_timeshift.c:720
#20 0x00007ffff793785c in es_out_vaControl (args=0x7fffec4f0c48, i_query=,
out=)
at ../include/vlc_es_out.h:126
#21 es_out_Control (out=, i_query=) at ../include/vlc_es_out.h:135
#22 0x00007ffff793b0a8 in es_out_SetMode (i_mode=2, p_out=) at
input/es_out.h:89
#23 InitPrograms (p_input=0x871b58) at input/input.c:1205
#24 Init (p_input=0x871b58) at input/input.c:1283
#25 0x00007ffff793d8f5 in Run (obj=0x871b58) at input/input.c:550
#26 0x00007ffff7008df0 in start_thread () from /lib/libpthread.so.0
#27 0x00007ffff6b4a39d in clone () from /lib/libc.so.6
#28 0x0000000000000000 in ?? ()

-- 
Configure bugmail: http://bugzilla.libav.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the libav-bugs mailing list