[FFmpeg-trac] #7252(ffplay:reopened): SIGSEGV when the ffplay is terminated with Ctrl+C before video appears

FFmpeg trac at avcodec.org
Mon Jun 11 10:04:20 EEST 2018


#7252: SIGSEGV when the ffplay is terminated with Ctrl+C before video appears
-------------------------------------+-------------------------------------
             Reporter:  KTSamy       |                    Owner:
                 Type:  defect       |                   Status:  reopened
             Priority:  important    |                Component:  ffplay
              Version:  git-master   |               Resolution:
             Keywords:  SIGSEGV      |               Blocked By:
  crash                              |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by KTSamy):

 * status:  closed => reopened
 * resolution:  needs_more_info =>
 * component:  undetermined => ffplay


Comment:

 I have just realized that keys strokes are not captured by the terminal
 window as it was out of focus. The keys are captured by the ffplay & it
 results in SIGSEGV.

 GDB 8.1 Seems to be broken on MacOS High Sierra. So, used 8.0.1 to collect
 the details you have requested. ffplay is build from the latest master
 branch (8c20ea8ee0).

 {{{
 ktsamy:ffmpeg-8c20ea8ee0 thiru$ gdb ffplay_g
 GNU gdb (GDB) 8.0.1
 Copyright (C) 2017 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later
 <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "x86_64-apple-darwin17.6.0".
 Type "show configuration" for configuration details.
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>.
 Find the GDB manual and other documentation resources online at:
 <http://www.gnu.org/software/gdb/documentation/>.
 For help, type "help".
 Type "apropos word" to search for commands related to "word"...
 Reading symbols from ffplay_g...done.
 (gdb) r https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8
 Starting program: /Users/Shared/Workspace/ffmpeg/Workspace/ffmpeg-
 8c20ea8ee0/ffplay_g
 https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8
 [New Thread 0xc03 of process 31172]
 warning: unhandled dyld version (15)
 ffplay version 3.4.git Copyright (c) 2003-2018 the FFmpeg developers
   built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
   configuration: --enable-static --disable-shared --disable-doc --enable-
 gpl --enable-version3 --enable-nonfree --enable-pthreads --pkg-config-
 flags=--static --enable-libxml2 --enable-gmp --enable-gnutls --enable-sdl2
   libavutil      56. 18.102 / 56. 18.102
   libavcodec     58. 20.101 / 58. 20.101
   libavformat    58. 17.100 / 58. 17.100
   libavdevice    58.  4.100 / 58.  4.100
   libavfilter     7. 25.100 /  7. 25.100
   libswscale      5.  2.100 /  5.  2.100
   libswresample   3.  2.100 /  3.  2.100
   libpostproc    55.  2.100 / 55.  2.100
 [hls,applehttp @ 0x10300c200] Opening
 'https://bitdash-a.akamaihd.net/content/sintel/hls/audio/stereo/en/128kbit.m3u8'
 for reading
 [New Thread 0xa07 of process 31172]0KB vq=    0KB sq=    0B f=0/0
 [New Thread 0x1503 of process 31172]
 [New Thread 0x1603 of process 31172]
 [New Thread 0x1703 of process 31172]
 [New Thread 0x1803 of process 31172]
 [New Thread 0x1903 of process 31172]
 [New Thread 0x1a03 of process 31172]
 [New Thread 0x2803 of process 31172]
 [New Thread 0x2903 of process 31172]

 Thread 2 received signal SIGSEGV, Segmentation fault.
 stream_cycle_channel (is=0x10be00000, codec_type=0) at
 fftools/ffplay.c:3109
 3109        int nb_streams = is->ic->nb_streams;
 (gdb) bt
 #0  stream_cycle_channel (is=0x10be00000, codec_type=0) at
 fftools/ffplay.c:3109
 #1  0x0000000100009a37 in event_loop (cur_stream=<optimized out>) at
 fftools/ffplay.c:3292
 #2  main (argc=<optimized out>, argv=<optimized out>) at
 fftools/ffplay.c:3735
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0x10000f945 to 0x10000f985:
    0x000000010000f945 <stream_toggle_pause+501>:        add    $0x8,%rsp
    0x000000010000f949 <stream_toggle_pause+505>:        pop    %rbx
    0x000000010000f94a <stream_toggle_pause+506>:        pop    %rbp
    0x000000010000f94b <stream_toggle_pause+507>:        retq
    0x000000010000f94c:  nopl   0x0(%rax)
    0x000000010000f950 <stream_cycle_channel+0>: push   %rbp
    0x000000010000f951 <stream_cycle_channel+1>: push   %r15
    0x000000010000f953 <stream_cycle_channel+3>: push   %r14
    0x000000010000f955 <stream_cycle_channel+5>: push   %r13
    0x000000010000f957 <stream_cycle_channel+7>: push   %r12
    0x000000010000f959 <stream_cycle_channel+9>: push   %rbx
    0x000000010000f95a <stream_cycle_channel+10>:        push   %rax
    0x000000010000f95b <stream_cycle_channel+11>:        mov    %esi,%r12d
    0x000000010000f95e <stream_cycle_channel+14>:        mov    %rdi,%r15
    0x000000010000f961 <stream_cycle_channel+17>:        mov
 0x48(%r15),%rdi
 => 0x000000010000f965 <stream_cycle_channel+21>:        mov
 0x2c(%rdi),%r13d
    0x000000010000f969 <stream_cycle_channel+25>:        test   %r12d,%r12d
    0x000000010000f96c <stream_cycle_channel+28>:        je     0x10000f984
 <stream_cycle_channel+52>
    0x000000010000f96e <stream_cycle_channel+30>:        cmp    $0x1,%r12d
    0x000000010000f972 <stream_cycle_channel+34>:        jne    0x10000f9aa
 <stream_cycle_channel+90>
    0x000000010000f974 <stream_cycle_channel+36>:        lea
 0x10196c(%r15),%rax
    0x000000010000f97b <stream_cycle_channel+43>:        lea
 0x16f0(%r15),%rcx
    0x000000010000f982 <stream_cycle_channel+50>:        jmp    0x10000f9b8
 <stream_cycle_channel+104>
 ---Type <return> to continue, or q <return> to quit---
    0x000000010000f984 <stream_cycle_channel+52>:        mov
 0x1018b8(%r15),%r14d
 End of assembler dump.
 (gdb) info all-registers
 rax            0x100009a2d      4295006765
 rbx            0x0      0
 rcx            0x48     72
 rdx            0x100009dfc      4295007740
 rsi            0x0      0
 rdi            0x0      0
 rbp            0x7ffeefbff6e8   0x7ffeefbff6e8
 rsp            0x7ffeefbff640   0x7ffeefbff640
 r8             0x10271fbb0      4335991728
 r9             0x40     64
 r10            0x10271fba8      4335991720
 r11            0xffffffffffffffff       -1
 r12            0x0      0
 r13            0x10be00000      4494196736
 r14            0x7ffeefbff6e4   140732920755940
 r15            0x10be00000      4494196736
 rip            0x10000f965      0x10000f965 <stream_cycle_channel+21>
 eflags         0x10246  [ PF ZF IF RF ]
 cs             0x2b     43
 ss             <unavailable>
 ds             <unavailable>
 es             <unavailable>
 fs             0x0      0
 gs             0x0      0
 ---Type <return> to continue, or q <return> to quit---
 st0            -nan(0x00002cd37)        (raw 0xffff000000000002cd37)
 st1            -nan(0x1ffffed351bef)    (raw 0xffff0001ffffed351bef)
 st2            -nan(0x00001ffff)        (raw 0xffff000000000001ffff)
 st3            0        (raw 0x00000000000000000000)
 st4            0        (raw 0x00000000000000000000)
 st5            5000000000       (raw 0x401f9502f90000000000)
 st6            2575127221723    (raw 0x402895e462c576c00000)
 st7            2575.1272217230001604360012379402178     (raw
 0x400aa0f20919a53a05fb)
 fctrl          0x37f    895
 fstat          0x220    544
 ftag           0xffff   65535
 fiseg          0x7fff   32767
 fioff          0x369b6db5       916155829
 foseg          0x0      0
 fooff          0x0      0
 fop            0x0      0
 xmm0           {v4_float = {0x15c28, 0x1, 0x0, 0x0}, v2_double = {0x0,
 0x0}, v16_int8 = {0x7b, 0x14, 0xae, 0x47, 0xe1, 0x7a, 0x84, 0x3f,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x147b, 0x47ae,
 0x7ae1, 0x3f84, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x47ae147b,
     0x3f847ae1, 0x0, 0x0}, v2_int64 = {0x3f847ae147ae147b, 0x0}, uint128 =
 0x00000000000000003f847ae147ae147b}
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 =
 {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 =
 {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
 xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
 ---Type <return> to continue, or q <return> to quit---
     0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 =
 {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
 xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 =
 {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
 xmm5           {v4_float = {0x0, 0x1dfff, 0x0, 0x0}, v2_double =
 {0x8000000000000000, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0xe0, 0xff, 0xff,
     0xef, 0x47, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0,
 0xe000, 0xffff, 0x47ef, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {
     0xe0000000, 0x47efffff, 0x0, 0x0}, v2_int64 = {0x47efffffe0000000,
 0x0}, uint128 = 0x000000000000000047efffffe0000000}
 xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 =
 {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
 xmm7           {v4_float = {0x0, 0xffffffe7, 0x0, 0x0}, v2_double =
 {0xffffffffc0000001, 0x0}, v16_int8 = {0x0, 0x0, 0x80, 0xff, 0xff,
     0xff, 0xcf, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 =
 {0x0, 0xff80, 0xffff, 0xc1cf, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {
     0xff800000, 0xc1cfffff, 0x0, 0x0}, v2_int64 = {0xc1cfffffff800000,
 0x0}, uint128 = 0x0000000000000000c1cfffffff800000}
 xmm8           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x20, 0x0, 0x0, 0x0, 0x20,
 0x0, 0x0, 0x0}, v4_int32 = {0x20, 0x0, 0x20, 0x0}, v2_int64 = {
     0x20, 0x20}, uint128 = 0x00000000000000200000000000000020}
 xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x24, 0x0, 0x0, 0x0, 0x24,
 0x0, 0x0, 0x0}, v4_int32 = {0x24, 0x0, 0x24, 0x0}, v2_int64 = {
     0x24, 0x24}, uint128 = 0x00000000000000240000000000000024}
 xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x28, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x28, 0x0, 0x0, 0x0, 0x28,
 0x0, 0x0, 0x0}, v4_int32 = {0x28, 0x0, 0x28, 0x0}, v2_int64 = {
     0x28, 0x28}, uint128 = 0x00000000000000280000000000000028}
 xmm11          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x2c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x2c, 0x0, 0x0, 0x0, 0x2c,
 0x0, 0x0, 0x0}, v4_int32 = {0x2c, 0x0, 0x2c, 0x0}, v2_int64 = {
     0x2c, 0x2c}, uint128 = 0x000000000000002c000000000000002c}
 xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0,
 ---Type <return> to continue, or q <return> to quit---
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x30, 0x0, 0x0, 0x0, 0x30,
 0x0, 0x0, 0x0}, v4_int32 = {0x30, 0x0, 0x30, 0x0}, v2_int64 = {
     0x30, 0x30}, uint128 = 0x00000000000000300000000000000030}
 xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x34, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x34, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x34, 0x0, 0x0, 0x0, 0x34,
 0x0, 0x0, 0x0}, v4_int32 = {0x34, 0x0, 0x34, 0x0}, v2_int64 = {
     0x34, 0x34}, uint128 = 0x00000000000000340000000000000034}
 xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x38, 0x0, 0x0, 0x0, 0x38,
 0x0, 0x0, 0x0}, v4_int32 = {0x38, 0x0, 0x38, 0x0}, v2_int64 = {
     0x38, 0x38}, uint128 = 0x00000000000000380000000000000038}
 xmm15          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x3c, 0x0, 0x0, 0x0, 0x3c,
 0x0, 0x0, 0x0}, v4_int32 = {0x3c, 0x0, 0x3c, 0x0}, v2_int64 = {
     0x3c, 0x3c}, uint128 = 0x000000000000003c000000000000003c}
 mxcsr          0x1fa1   [ IE PE IM DM ZM OM UM PM ]
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7252#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list