Opened 4 years ago

Closed 4 years ago

Last modified 3 years ago

#10088 closed defect (fixed)

cfhd enc crash

Reported by: ami_stuff Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

https://trac.ffmpeg.org/raw-attachment/ticket/10044/1.jpg

(gdb) r -cpuflags 0 -i 1.jpg -vcodec cfhd -s 320x556 -y out.avi
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: ffmpeg_g -cpuflags 0 -i 1.jpg -vcodec cfhd -s 320x556 -y out.avi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ffmpeg version N-109341-g6b368bcb85 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --enable-libopenjpeg
  libavutil      57. 43.100 / 57. 43.100
  libavcodec     59. 54.100 / 59. 54.100
  libavformat    59. 34.102 / 59. 34.102
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 51.100 /  8. 51.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
[mjpeg @ 0x55555714df80] EOI missing, emulating
Input #0, jpeg_pipe, from '1.jpg':
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1x1, 25 fps, 25 tbr, 25 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> cfhd (native))
Press [q] to stop, [?] for help
[New Thread 0x7ffff6b2c700 (LWP 17369)]
[Thread 0x7ffff6b2c700 (LWP 17369) exited]
[New Thread 0x7ffff632b700 (LWP 17370)]
[New Thread 0x7ffff5b2a700 (LWP 17371)]
[New Thread 0x7ffff5329700 (LWP 17372)]
[New Thread 0x7ffff4b28700 (LWP 17373)]
[New Thread 0x7fffeffff700 (LWP 17374)]
[New Thread 0x7fffef7fe700 (LWP 17375)]
[New Thread 0x7fffeeffd700 (LWP 17376)]
[New Thread 0x7fffee7fc700 (LWP 17377)]
[swscaler @ 0x55555716e840] deprecated pixel format used, make sure you did set range correctly
[New Thread 0x7fffedffb700 (LWP 17378)]
[New Thread 0x7fffed7fa700 (LWP 17379)]
[New Thread 0x7fffecff9700 (LWP 17380)]
[New Thread 0x7fffec7f8700 (LWP 17381)]
[New Thread 0x7fffebff7700 (LWP 17382)]
[New Thread 0x7fffeb7f6700 (LWP 17383)]
[New Thread 0x7fffeaff5700 (LWP 17384)]
[New Thread 0x7fffea7f4700 (LWP 17385)]
[Thread 0x7fffebff7700 (LWP 17382) exited]
[Thread 0x7fffea7f4700 (LWP 17385) exited]
[Thread 0x7fffeaff5700 (LWP 17384) exited]
[Thread 0x7fffeb7f6700 (LWP 17383) exited]
[swscaler @ 0x55555717cb40] deprecated pixel format used, make sure you did set range correctly
[Thread 0x7fffec7f8700 (LWP 17381) exited]
[Thread 0x7fffecff9700 (LWP 17380) exited]
[New Thread 0x7fffea7f4700 (LWP 17386)]
[Thread 0x7fffed7fa700 (LWP 17379) exited]
[Thread 0x7fffedffb700 (LWP 17378) exited]
[New Thread 0x7fffeaff5700 (LWP 17387)]
[New Thread 0x7fffeb7f6700 (LWP 17388)]
[New Thread 0x7fffebff7700 (LWP 17389)]
[New Thread 0x7fffedffb700 (LWP 17390)]
[New Thread 0x7fffed7fa700 (LWP 17391)]
[New Thread 0x7fffecff9700 (LWP 17392)]
[New Thread 0x7fffec7f8700 (LWP 17393)]
[Thread 0x7fffecff9700 (LWP 17392) exited]
[Thread 0x7fffec7f8700 (LWP 17393) exited]
[Thread 0x7fffed7fa700 (LWP 17391) exited]
[Thread 0x7fffedffb700 (LWP 17390) exited]
[Thread 0x7fffebff7700 (LWP 17389) exited]
[New Thread 0x7fffec7f8700 (LWP 17394)]
[Thread 0x7fffeb7f6700 (LWP 17388) exited]
[Thread 0x7fffeaff5700 (LWP 17387) exited]
[Thread 0x7fffea7f4700 (LWP 17386) exited]
[New Thread 0x7fffecff9700 (LWP 17395)]
[New Thread 0x7fffed7fa700 (LWP 17396)]
[New Thread 0x7fffedffb700 (LWP 17397)]
[New Thread 0x7fffebff7700 (LWP 17398)]
[New Thread 0x7fffeb7f6700 (LWP 17399)]
[New Thread 0x7fffeaff5700 (LWP 17400)]
[New Thread 0x7fffea7f4700 (LWP 17401)]
[Thread 0x7fffeb7f6700 (LWP 17399) exited]
[Thread 0x7fffea7f4700 (LWP 17401) exited]
[Thread 0x7fffeaff5700 (LWP 17400) exited]
    Last message repeated 1 times
[swscaler @ 0x5555571f3a80] [Thread 0x7fffebff7700 (LWP 17398) exited]
deprecated pixel format used, make sure you did set range correctly
[Thread 0x7fffedffb700 (LWP 17397) exited]
[Thread 0x7fffed7fa700 (LWP 17396) exited]
[New Thread 0x7fffea7f4700 (LWP 17402)]
[Thread 0x7fffecff9700 (LWP 17395) exited]
[Thread 0x7fffec7f8700 (LWP 17394) exited]
[New Thread 0x7fffeaff5700 (LWP 17403)]
[New Thread 0x7fffeb7f6700 (LWP 17404)]
[New Thread 0x7fffebff7700 (LWP 17405)]
[New Thread 0x7fffedffb700 (LWP 17406)]
[New Thread 0x7fffed7fa700 (LWP 17407)]
[New Thread 0x7fffecff9700 (LWP 17408)]
[New Thread 0x7fffec7f8700 (LWP 17409)]
[New Thread 0x7fffe9cef700 (LWP 17410)]
[New Thread 0x7fffe9022700 (LWP 17411)]
[New Thread 0x7fffe8355700 (LWP 17412)]
[New Thread 0x7fffe7688700 (LWP 17413)]
[New Thread 0x7fffe69bb700 (LWP 17414)]
[New Thread 0x7fffe5cee700 (LWP 17415)]
[New Thread 0x7fffe5021700 (LWP 17416)]
[New Thread 0x7fffe4354700 (LWP 17417)]
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf59.34.102
  Stream #0:0: Video: cfhd (CFHD / 0x44484643), yuv422p10le(tv, bt470bg/unknown/unknown, progressive), 320x556, q=2-31, 200 kb/s, 25 fps, 25 tbn
    Metadata:
      encoder         : Lavc59.54.100 cfhd
[New Thread 0x7fffe3687700 (LWP 17418)]
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kb--Type <RET> for more, q to quit, c to continue without paging--

Thread 43 "ffmpeg_g" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe9cef700 (LWP 17410)]
0x0000555555ba3bf0 in filter (len=320, high_stride=1, high=0x7ffff4193b40, 
    low_stride=1, low=0x7ffff4121f40, in_stride=1, input=0x7ffff4327e40)
    at libavcodec/cfhdencdsp.c:38
38	        high[(i>>1) * high_stride] = av_clip_int16(((-input[(i-2)*in_stride] - input[(i-1)*in_stride] +
(gdb) bt
#0  0x0000555555ba3bf0 in filter (len=320, high_stride=1, high=0x7ffff4193b40, 
    low_stride=1, low=0x7ffff4121f40, in_stride=1, input=0x7ffff4327e40)
    at libavcodec/cfhdencdsp.c:38
#1  horiz_filter (input=0x7ffff4327e40, low=0x7ffff4121f40, 
    high=0x7ffff4193b40, in_stride=<optimized out>, 
    low_stride=<optimized out>, high_stride=<optimized out>, width=320, 
    height=560) at libavcodec/cfhdencdsp.c:55
#2  0x0000555555ba11d5 in cfhd_encode_frame (avctx=0x55555726fec0, 
    pkt=0x55555726d3c0, frame=0x55555726d580, got_packet=0x55555726dae8)
    at libavcodec/cfhdenc.c:459
#3  0x0000555555c0c472 in ff_encode_encode_cb (avctx=0x55555726fec0, 
    avpkt=0x55555726d3c0, frame=frame@entry=0x55555726d580, 
    got_packet=got_packet@entry=0x55555726dae8) at libavcodec/encode.c:199
#4  0x0000555555c630e2 in worker (v=<optimized out>)
    at libavcodec/frame_thread_encoder.c:114
#5  0x00007ffff77d6609 in start_thread (arg=<optimized out>)
    at pthread_create.c:477
#6  0x00007ffff76fb133 in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
==17432== Invalid read of size 2
==17432==    at 0x757B62: filter (cfhdencdsp.c:34)
==17432==    by 0x757B62: horiz_filter (cfhdencdsp.c:55)
==17432==    by 0x7551D4: cfhd_encode_frame (cfhdenc.c:459)
==17432==    by 0x7C0471: ff_encode_encode_cb (encode.c:199)
==17432==    by 0x8170E1: worker (frame_thread_encoder.c:114)
==17432==    by 0x502A608: start_thread (pthread_create.c:477)
==17432==    by 0x5166132: clone (clone.S:95)
==17432==  Address 0xeb23b48 is 0 bytes after a block of size 355,848 alloc'd
==17432==    at 0x483E0F0: memalign (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==17432==    by 0x483E212: posix_memalign (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==17432==    by 0x1072BA4: av_malloc (mem.c:105)
==17432==    by 0x105F4A9: av_buffer_alloc (buffer.c:82)
==17432==    by 0x105F523: av_buffer_allocz (buffer.c:95)
==17432==    by 0x105FC8C: pool_alloc_buffer (buffer.c:363)
==17432==    by 0x105FC8C: av_buffer_pool_get (buffer.c:401)
==17432==    by 0x306510: ff_frame_pool_get (framepool.c:217)
==17432==    by 0x488EAA: ff_default_get_video_buffer2 (video.c:87)
==17432==    by 0x488FA0: ff_get_video_buffer (video.c:108)
==17432==    by 0x41C0FC: scale_frame (vf_scale.c:765)
==17432==    by 0x41CB8B: filter_frame (vf_scale.c:860)
==17432==    by 0x2F5B69: ff_filter_frame_framed (avfilter.c:1000)
==17432==    by 0x2F5B69: ff_filter_frame_to_filter (avfilter.c:1144)
==17432==    by 0x2F5B69: ff_filter_activate_default (avfilter.c:1193)
==17432==    by 0x2F5B69: ff_filter_activate (avfilter.c:1352)
==17432== 
==17432== Invalid read of size 2
==17432==    at 0x757B68: filter (cfhdencdsp.c:34)
==17432==    by 0x757B68: horiz_filter (cfhdencdsp.c:55)
==17432==    by 0x7551D4: cfhd_encode_frame (cfhdenc.c:459)
==17432==    by 0x7C0471: ff_encode_encode_cb (encode.c:199)
==17432==    by 0x8170E1: worker (frame_thread_encoder.c:114)
==17432==    by 0x502A608: start_thread (pthread_create.c:477)
==17432==    by 0x5166132: clone (clone.S:95)
==17432==  Address 0xeb23b4a is 2 bytes after a block of size 355,848 alloc'd
==17432==    at 0x483E0F0: memalign (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==17432==    by 0x483E212: posix_memalign (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==17432==    by 0x1072BA4: av_malloc (mem.c:105)
==17432==    by 0x105F4A9: av_buffer_alloc (buffer.c:82)
==17432==    by 0x105F523: av_buffer_allocz (buffer.c:95)
==17432==    by 0x105FC8C: pool_alloc_buffer (buffer.c:363)
==17432==    by 0x105FC8C: av_buffer_pool_get (buffer.c:401)
==17432==    by 0x306510: ff_frame_pool_get (framepool.c:217)
==17432==    by 0x488EAA: ff_default_get_video_buffer2 (video.c:87)
==17432==    by 0x488FA0: ff_get_video_buffer (video.c:108)
==17432==    by 0x41C0FC: scale_frame (vf_scale.c:765)
==17432==    by 0x41CB8B: filter_frame (vf_scale.c:860)
==17432==    by 0x2F5B69: ff_filter_frame_framed (avfilter.c:1000)
==17432==    by 0x2F5B69: ff_filter_frame_to_filter (avfilter.c:1144)
==17432==    by 0x2F5B69: ff_filter_activate_default (avfilter.c:1193)
==17432==    by 0x2F5B69: ff_filter_activate (avfilter.c:1352)
(gdb) r -i 1.jpg -vcodec cfhd -s 320x556 -y out.avi
Starting program: ffmpeg_g -i 1.jpg -vcodec cfhd -s 320x556 -y out.avi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ffmpeg version N-109341-g6b368bcb85 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
  configuration: --enable-libopenjpeg
  libavutil      57. 43.100 / 57. 43.100
  libavcodec     59. 54.100 / 59. 54.100
  libavformat    59. 34.102 / 59. 34.102
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 51.100 /  8. 51.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
[mjpeg @ 0x55555714dd40] EOI missing, emulating
Input #0, jpeg_pipe, from '1.jpg':
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1x1, 25 fps, 25 tbr, 25 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> cfhd (native))
Press [q] to stop, [?] for help
[New Thread 0x7ffff6b2c700 (LWP 17711)]
[Thread 0x7ffff6b2c700 (LWP 17711) exited]
[New Thread 0x7ffff632b700 (LWP 17712)]
[New Thread 0x7ffff5b2a700 (LWP 17713)]
[New Thread 0x7ffff5329700 (LWP 17714)]
[New Thread 0x7ffff4b28700 (LWP 17715)]
[New Thread 0x7fffeffff700 (LWP 17716)]
[New Thread 0x7fffef7fe700 (LWP 17717)]
[New Thread 0x7fffeeffd700 (LWP 17718)]
[New Thread 0x7fffee7fc700 (LWP 17719)]
[swscaler @ 0x55555716e680] deprecated pixel format used, make sure you did set range correctly
[New Thread 0x7fffedffb700 (LWP 17720)]
[New Thread 0x7fffed7fa700 (LWP 17721)]
[New Thread 0x7fffecff9700 (LWP 17722)]
[New Thread 0x7fffec7f8700 (LWP 17723)]
[New Thread 0x7fffebff7700 (LWP 17724)]
[New Thread 0x7fffeb7f6700 (LWP 17725)]
[New Thread 0x7fffeaff5700 (LWP 17726)]
[New Thread 0x7fffea7f4700 (LWP 17727)]
[Thread 0x7fffebff7700 (LWP 17724) exited]
[Thread 0x7fffea7f4700 (LWP 17727) exited]
[swscaler @ 0x55555717c980] deprecated pixel format used, make sure you did set range correctly
[Thread 0x7fffeaff5700 (LWP 17726) exited]
[Thread 0x7fffeb7f6700 (LWP 17725) exited]
[New Thread 0x7fffea7f4700 (LWP 17728)]
[Thread 0x7fffec7f8700 (LWP 17723) exited]
[Thread 0x7fffecff9700 (LWP 17722) exited]
[Thread 0x7fffed7fa700 (LWP 17721) exited]
[Thread 0x7fffedffb700 (LWP 17720) exited]
[New Thread 0x7fffeaff5700 (LWP 17729)]
[New Thread 0x7fffeb7f6700 (LWP 17730)]
[New Thread 0x7fffebff7700 (LWP 17731)]
[New Thread 0x7fffedffb700 (LWP 17732)]
[New Thread 0x7fffed7fa700 (LWP 17733)]
[New Thread 0x7fffecff9700 (LWP 17734)]
[New Thread 0x7fffec7f8700 (LWP 17735)]
[Thread 0x7fffedffb700 (LWP 17732) exited]
[Thread 0x7fffecff9700 (LWP 17734) exited]
[Thread 0x7fffed7fa700 (LWP 17733) exited]
[Thread 0x7fffec7f8700 (LWP 17735) exited]
[Thread 0x7fffebff7700 (LWP 17731) exited]
[Thread 0x7fffeb7f6700 (LWP 17730) exited]
[Thread 0x7fffeaff5700 (LWP 17729) exited]
[Thread 0x7fffea7f4700 (LWP 17728) exited]
[New Thread 0x7fffec7f8700 (LWP 17736)]
[New Thread 0x7fffecff9700 (LWP 17737)]
[New Thread 0x7fffed7fa700 (LWP 17738)]
[New Thread 0x7fffedffb700 (LWP 17739)]
[New Thread 0x7fffebff7700 (LWP 17740)]
[New Thread 0x7fffeb7f6700 (LWP 17741)]
[New Thread 0x7fffeaff5700 (LWP 17742)]
[New Thread 0x7fffea7f4700 (LWP 17743)]
[Thread 0x7fffeaff5700 (LWP 17742) exited]
[Thread 0x7fffeb7f6700 (LWP 17741) exited]
[Thread 0x7fffedffb700 (LWP 17739) exited]
[Thread 0x7fffea7f4700 (LWP 17743) exited]
[Thread 0x7fffebff7700 (LWP 17740) exited]
[Thread 0x7fffed7fa700 (LWP 17738) exited]
[Thread 0x7fffecff9700 (LWP 17737) exited]
[Thread 0x7fffec7f8700 (LWP 17736) exited]
[New Thread 0x7fffea7f4700 (LWP 17744)]
[New Thread 0x7fffeaff5700 (LWP 17745)]
[New Thread 0x7fffeb7f6700 (LWP 17746)]
[New Thread 0x7fffebff7700 (LWP 17747)]
[New Thread 0x7fffedffb700 (LWP 17748)]
[New Thread 0x7fffed7fa700 (LWP 17749)]
[New Thread 0x7fffecff9700 (LWP 17750)]
[New Thread 0x7fffec7f8700 (LWP 17751)]
[New Thread 0x7fffe9cef700 (LWP 17752)]
[New Thread 0x7fffe9022700 (LWP 17753)]
[New Thread 0x7fffe8355700 (LWP 17754)]
[New Thread 0x7fffe7688700 (LWP 17755)]
[New Thread 0x7fffe69bb700 (LWP 17756)]
[New Thread 0x7fffe5cee700 (LWP 17757)]
[New Thread 0x7fffe5021700 (LWP 17758)]
[New Thread 0x7fffe4354700 (LWP 17759)]
    Last message repeated 2 times
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf59.34.102
  Stream #0:0: Video: cfhd (CFHD / 0x44484643), yuv422p10le(tv, bt470bg/unknown/unknown, progressive), 320x556, q=2-31, 200 kb/s, 25 fps, 25 tbn
    Metadata:
      encoder         : Lavc59.54.100 cfhd
[New Thread 0x7fffe3687700 (LWP 17760)]
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kb--Type <RET> for more, q to quit, c to continue without paging--

Thread 43 "ffmpeg_g" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe9cef700 (LWP 17752)]
0x00005555563863f2 in ff_cfhdenc_horiz_filter_sse2 ()
(gdb) bt
#0  0x00005555563863f2 in ff_cfhdenc_horiz_filter_sse2 ()
#1  0x0000555557273240 in ?? ()
#2  0x0000555555ba11d5 in cfhd_encode_frame (avctx=0x555557272e40, 
    pkt=0x555557168a80, frame=0x555557271080, got_packet=0x555557270568)
    at libavcodec/cfhdenc.c:459
#3  0x0000555555c0c472 in ff_encode_encode_cb (avctx=0x555557272e40, 
    avpkt=0x555557168a80, frame=frame@entry=0x555557271080, 
    got_packet=got_packet@entry=0x555557270568) at libavcodec/encode.c:199
#4  0x0000555555c630e2 in worker (v=<optimized out>)
    at libavcodec/frame_thread_encoder.c:114
#5  0x00007ffff77d6609 in start_thread (arg=<optimized out>)
    at pthread_create.c:477
#6  0x00007ffff76fb133 in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Change History (2)

comment:1 by Elon Musk, 4 years ago

Resolution: fixed
Status: newclosed

Crashed should be fixed, but for some heights it will produce invalid non decodeable (same as before this fix) files, to be fixed later.

in reply to:  1 comment:2 by ami_stuff, 3 years ago

Replying to Elon Musk:

for some heights it will produce invalid non decodeable (same as before this fix) files

this is ticket #10154 now

Note: See TracTickets for help on using tickets.