[FFmpeg-trac] #6240(undetermined:new): HandBrake 1.0.3 segfaults or encodes 0 frames with FFmpeg 3.1.7 (works with 3.2.4)

FFmpeg trac at avcodec.org
Wed Mar 15 23:31:03 EET 2017


#6240: HandBrake 1.0.3 segfaults or encodes 0 frames with FFmpeg 3.1.7 (works with
3.2.4)
--------------------------------------+----------------------------------
             Reporter:  rathann       |                     Type:  defect
               Status:  new           |                 Priority:  normal
            Component:  undetermined  |                  Version:  3.1.5
             Keywords:                |               Blocked By:
             Blocking:                |  Reproduced by developer:  0
Analyzed by developer:  0             |
--------------------------------------+----------------------------------
 Summary of the bug:
 HandBrake 1.0.3 segfaults in decomb filter (when encoding anything using
 default settings) or encodes 0 frames (if I disable the filter in video
 filters tab) when built with FFmpeg 3.1.7 (works with 3.2.4)
 How to reproduce:

 Case 1:
 1. (On Fedora 25,) build HandBrake 1.0.3 against FFmpeg 3.1.7.
 2. In ghb, open any video file and click "start encoding".
 3. ghb segfaults in decomb filter:

 {{{
 [...]
 Thread 27 "ghb" received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0x7fffe1016700 (LWP 31173)]
 detect_gamma_combed_segment (segment_stop=204, segment_start=0,
 pv=0x7fffd80008c0) at ../libhb/comb_detect.c:443
 443             int height  = pv->ref[0]->plane[pp].height;
 (gdb) bt full
 #0  detect_gamma_combed_segment (segment_stop=204, segment_start=0,
 pv=0x7fffd80008c0) at ../libhb/comb_detect.c:443
         y = <optimized out>
         x = <optimized out>
         stride = <optimized out>
         width = <optimized out>
         height = -671059792
         mthresh = <optimized out>
         athresh = <optimized out>
         athresh6 = <optimized out>
         pp = <optimized out>
 #1  decomb_filter_thread (thread_args_v=0x7fffd801a870) at
 ../libhb/comb_detect.c:1061
         pp = 0
         pv = <optimized out>
         segment = 0
         segment_start = 0
         segment_stop = 204
         thread_args = 0x7fffd801a870
 #2  0x000000000046887b in hb_thread_func (_t=0x7fffd8001070) at
 ../libhb/ports.c:860
         t = 0x7fffd8001070
 #3  0x00007ffff25006ca in start_thread (arg=0x7fffe1016700) at
 pthread_create.c:333
         __res = <optimized out>
         pd = 0x7fffe1016700
         now = <optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736968353536,
 3440324452558995082, 0, 140736250525967,
                 140736968354240, 140736968353536, -3440258779170570614,
 -3440300979176309110}, mask_was_saved = 0}},
           priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup
 = 0x0, canceltype = 0}}}
         not_first_call = <optimized out>
         pagesize_m1 = <optimized out>
         sp = <optimized out>
         freesize = <optimized out>
         __PRETTY_FUNCTION__ = "start_thread"
 #4  0x00007fffed607f7f in clone () at
 ../sysdeps/unix/sysv/linux/x86_64/clone.S:105
 No locals.

 }}}
 Case 2:
 1. (On Fedora 25,) build HandBrake 1.0.3 against FFmpeg 3.1.7.
 2. In ghb, open any video file.
 3. Disable deinterlacing filters in video filtering tab.
 4. Click "start encoding".
 5. ghb doesn't crash, but encodes 0 video frames.

 All the above works fine if built against FFmpeg 3.2.4.

 HandBrake upstream has already said using FFmpeg is an unsupported
 configuration as they support libav only:
 https://github.com/HandBrake/HandBrake/issues/631 . However, I'd
 appreciate any help in identifying where the bug is.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6240>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list