Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#3685 closed defect (duplicate)

v4l2 source in UYVY (uyvy422) causes segfault

Reported by: FishB8 Owned by:
Priority: important Component: undetermined
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Other pix formats might also cause segfaults. YV12 did NOT cause segfault.

To reproduce, you need the v4l2loopback module loaded. (I have it loaded as device /dev/video0)

Provide source content for it using gstreamer (I'm using version 1.2.3)

gst-launch-1.0 videotestsrc is-live=true pattern=0 do-timestamp=true ! video/x-raw, height=720, width=1280, framerate=30000/1001, format=UYVY ! v4l2sink device=/dev/video0

playback content using ffplay:

ffplay -f v4l2 /dev/video0

GDB output:

(gdb) start -f v4l2 /dev/video0
Temporary breakpoint 1 at 0x410ba2: file /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c, line 3585.
Starting program: /usr/bin/ffplay -f v4l2 /dev/video0
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Temporary breakpoint 1, main (argc=4, argv=0x7fffffffd2b8) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3585
3585    /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c: No such file or directory.
(gdb) continue
Continuing.
ffplay version 2.2.2 Copyright (c) 2003-2014 the FFmpeg developers
  built on May 29 2014 00:32:31 with gcc 4.8.2 (Gentoo 4.8.2 p1.3r1, pie-0.5.8r1)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-march=native -O1 -ggdb -pipe' --extra-cflags='-march=native -O1 -ggdb -pipe' --extra-cxxflags='-march=native -O1 -ggdb -pipe' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-nonfree --enable-version3 --enable-nonfree --disable-indev=oss --disable-outdev=oss --enable-version3 --enable-nonfree --enable-bzlib --disable-runtime-cpudetect --enable-debug --disable-doc --enable-gnutls --enable-hardcoded-tables --enable-iconv --enable-network --enable-openssl --enable-ffplay --enable-vaapi --enable-vdpau --enable-zlib --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libmp3lame --enable-libaacplus --enable-libfaac --enable-libtheora --enable-libtwolame --disable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libcdio --enable-libiec61883 --enable-libdc1394 --disable-libcaca --disable-openal --enable-opengl --disable-libv4l2 --enable-libpulse --enable-x11grab --disable-libflite --enable-frei0r --enable-fontconfig --enable-ladspa --disable-libass --enable-libfreetype --disable-libsoxr --enable-pthreads --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libfdk-aac --enable-libopenjpeg --enable-libbluray --disable-libcelt --disable-libgme --enable-libgsm --enable-libmodplug --enable-libopus --disable-libquvi --disable-librtmp --disable-libssh --enable-libschroedinger --enable-libspeex --enable-libvorbis --enable-libvpx --disable-libzvbi --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-avx --disable-avx2 --disable-fma3 --disable-fma4 --disable-sse42 --cpu=host
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libavresample   1.  2.  0 /  1.  2.  0
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
[New Thread 0x7fffe4641700 (LWP 10346)]
[New Thread 0x7fffe365b700 (LWP 10347)]
[New Thread 0x7fffdee59700 (LWP 10348)]
[Thread 0x7fffdee59700 (LWP 10348) exited]
[New Thread 0x7fffdee59700 (LWP 10349)]
Input #0, video4linux2,v4l2, from '/dev/video0':B sq=    0B f=0/0   
  Duration: N/A, start: 1401342039.190600, bitrate: 442368 kb/s
    Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1280x720, 442368 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
[New Thread 0x7fffe204a700 (LWP 10350)]
[New Thread 0x7fffe1849700 (LWP 10351)]
[New Thread 0x7fffe1048700 (LWP 10352)]
[New Thread 0x7fffe0847700 (LWP 10353)]
[New Thread 0x7fffe0046700 (LWP 10354)]
[New Thread 0x7fffdf845700 (LWP 10355)]
[New Thread 0x7fffde658700 (LWP 10356)]
[New Thread 0x7fffdde57700 (LWP 10357)]
1401342039.34 M-V:  0.033 fd=   5 aq=    0KB vq= 3600KB sq=    0B f=6/6   
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe204a700 (LWP 10350)]
0x00007ffff5d230e0 in extract_even_mmxext (src=0x7fffe2e5b001 "", 
    src@entry=0x7fffe2e5a601 "\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025", <incomplete sequence \306>..., dst=0x7fffd00eca20 "", 
    dst@entry=0x7fffd00ec520 '\020' <repeats 200 times>..., count=-1, count@entry=1280) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c:2147
2147    /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c: No such file or directory.
(gdb) thread apply all bt

Thread 13 (Thread 0x7fffdde57700 (LWP 10357)):
#0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
#2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 12 (Thread 0x7fffde658700 (LWP 10356)):
#0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
#2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 11 (Thread 0x7fffdf845700 (LWP 10355)):
#0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
#2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7fffe0046700 (LWP 10354)):
#0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
#2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7fffe0847700 (LWP 10353)):
#0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
#2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fffe1048700 (LWP 10352)):
#0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
#2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fffe1849700 (LWP 10351)):
#0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
#2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fffe204a700 (LWP 10350)):
#0  0x00007ffff5d230e0 in extract_even_mmxext (src=0x7fffe2e5b001 "", 
    src@entry=0x7fffe2e5a601 "\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025", <incomplete sequence \306>..., dst=0x7fffd00eca20 "", 
    dst@entry=0x7fffd00ec520 '\020' <repeats 200 times>..., count=-1, count@entry=1280) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c:2147
#1  0x00007ffff5d23451 in uyvytoyuv420_mmxext (ydst=0x7fffd00ec520 '\020' <repeats 200 times>..., udst=0x7fffd0129bd0 '\306' <repeats 105 times>, "ƣ", '\200' <repeats 93 times>..., 
    vdst=0x7fffd0163430 '\025' <repeats 106 times>, "K", '\200' <repeats 93 times>..., 
    src=0x7fffe2e5a600 "\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020"..., width=1280, height=720, lumStride=1280, chromStride=640, srcStride=2560)
    at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c:2439
#2  0x00007ffff5d15450 in uyvyToYuv420Wrapper (c=0x7fffd0002840, src=<optimized out>, srcStride=<optimized out>, srcSliceY=0, srcSliceH=720, dstParam=0x7fffe20497c0, dstStride=0x7fffe20497b0)
    at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/swscale_unscaled.c:287
#3  0x00007ffff5d0c468 in sws_scale (c=c@entry=0x7fffd0002840, srcSlice=srcSlice@entry=0x7fffe2049890, srcStride=srcStride@entry=0x7fffe2049860, srcSliceY=srcSliceY@entry=0, srcSliceH=srcSliceH@entry=720, 
    dst=dst@entry=0x7fffe2049870, dstStride=dstStride@entry=0x7fffe2049850) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/swscale.c:1076
#4  0x00007ffff794576b in scale_slice (link=link@entry=0x7fffd0002390, out_buf=out_buf@entry=0x7fffd000b7a0, cur_pic=<optimized out>, sws=0x7fffd0002840, y=y@entry=0, h=720, mul=mul@entry=1, field=field@entry=0)
---Type <return> to continue, or q <return> to quit---
    at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/vf_scale.c:423
#5  0x00007ffff7945bb2 in filter_frame (link=link@entry=0x7fffd0002390, in=0x7fffd000b520) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/vf_scale.c:520
#6  0x00007ffff78ff04c in ff_filter_frame_framed (link=link@entry=0x7fffd0002390, frame=frame@entry=0x7fffd000b520) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:1081
#7  0x00007ffff78ffeae in ff_filter_frame (link=link@entry=0x7fffd0002390, frame=0x7fffd000b520) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:1161
#8  0x00007ffff7903c78 in request_frame (link=0x7fffd0002390) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/buffersrc.c:500
#9  0x00007ffff78ff12b in ff_request_frame (link=0x7fffd0002390) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:346
#10 0x00007ffff78ff141 in ff_request_frame (link=0x7fffd0002750) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:348
#11 0x00007ffff78ff141 in ff_request_frame (link=link@entry=0x7fffd00022a0) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:348
#12 0x00007ffff79030e5 in av_buffersink_get_frame_flags (ctx=ctx@entry=0x7fffd0001dd0, frame=0x7fffd00008c0, flags=flags@entry=0) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/buffersink.c:138
#13 0x000000000040b877 in video_thread (arg=0x8319d0) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:1972
#14 0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
#15 0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
#16 0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#17 0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fffdee59700 (LWP 10349)):
#0  0x00007ffff5028047 in ioctl () from /lib64/libc.so.6
#1  0x00007ffff7bcd3e1 in mmap_read_frame (pkt=0x7fffdee58af0, ctx=0x7fffd8000910) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavdevice/v4l2.c:501
#2  v4l2_read_packet (s1=0x7fffd8000910, pkt=0x7fffdee58af0) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavdevice/v4l2.c:967
#3  0x00007ffff764214c in ff_read_packet (s=s@entry=0x7fffd8000910, pkt=pkt@entry=0x7fffdee58af0) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavformat/utils.c:767
#4  0x00007ffff764266f in read_frame_internal (s=0x7fffd8000910, pkt=0x7fffdee58d30) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavformat/utils.c:1436
#5  0x00007ffff7642e11 in av_read_frame (s=0x7fffd8000910, pkt=pkt@entry=0x7fffdee58d30) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavformat/utils.c:1557
#6  0x000000000040ea83 in read_thread (arg=0x8319d0) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:2957
#7  0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
#8  0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
#9  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fffe365b700 (LWP 10347)):
#0  0x00007ffff55fefbd in nanosleep () from /lib64/libpthread.so.0
#1  0x00007ffff585cc51 in SDL_Delay () from /usr/lib64/libSDL-1.2.so.0
#2  0x00007ffff581aaa2 in ?? () from /usr/lib64/libSDL-1.2.so.0
#3  0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
#4  0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
#5  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#6  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fffe4641700 (LWP 10346)):
#0  0x00007ffff55fefbd in nanosleep () from /lib64/libpthread.so.0
#1  0x00007ffff585cc51 in SDL_Delay () from /usr/lib64/libSDL-1.2.so.0
#2  0x00007ffff585cc82 in ?? () from /usr/lib64/libSDL-1.2.so.0
#3  0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
#4  0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
#5  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
#6  0x00007ffff503026d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffff7f29840 (LWP 10342)):
#0  0x00007ffff55fefbd in nanosleep () from /lib64/libpthread.so.0
#1  0x00007ffff5ac88ad in av_usleep (usec=usec@entry=10000) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavutil/time.c:60
#2  0x000000000041101f in refresh_loop_wait_event (event=0x7fffffffd160, is=0x8319d0) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3165
#3  event_loop (cur_stream=<optimized out>) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3208
#4  main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3661
(gdb) disass $pc-64,$pc+64
Dump of assembler code from 0x7ffff5d230a0 to 0x7ffff5d23120:
   0x00007ffff5d230a0 <yvu9_to_yuy2_mmxext+452>:        ja     0x7ffff5d230b1 <extract_even_mmxext+2>
   0x00007ffff5d230a2 <yvu9_to_yuy2_mmxext+454>:        scas   %es:(%rdi),%al
   0x00007ffff5d230a3 <yvu9_to_yuy2_mmxext+455>:        clc    
   0x00007ffff5d230a4 <yvu9_to_yuy2_mmxext+456>:        pop    %rbx
   0x00007ffff5d230a5 <yvu9_to_yuy2_mmxext+457>:        pop    %rbp
   0x00007ffff5d230a6 <yvu9_to_yuy2_mmxext+458>:        pop    %r12
   0x00007ffff5d230a8 <yvu9_to_yuy2_mmxext+460>:        pop    %r13
   0x00007ffff5d230aa <yvu9_to_yuy2_mmxext+462>:        pop    %r14
   0x00007ffff5d230ac <yvu9_to_yuy2_mmxext+464>:        pop    %r15
   0x00007ffff5d230ae <yvu9_to_yuy2_mmxext+466>:        retq   
   0x00007ffff5d230af <extract_even_mmxext+0>:  add    %rdx,%rsi
   0x00007ffff5d230b2 <extract_even_mmxext+3>:  lea    (%rdi,%rdx,2),%rcx
   0x00007ffff5d230b6 <extract_even_mmxext+7>:  mov    %rdx,%rax
   0x00007ffff5d230b9 <extract_even_mmxext+10>: neg    %rax
   0x00007ffff5d230bc <extract_even_mmxext+13>: cmp    $0xfffffffffffffff1,%rax
   0x00007ffff5d230c0 <extract_even_mmxext+17>: jge    0x7ffff5d2310b <extract_even_mmxext+92>
   0x00007ffff5d230c2 <extract_even_mmxext+19>: mov    $0xf,%eax
   0x00007ffff5d230c7 <extract_even_mmxext+24>: sub    %rdx,%rax
   0x00007ffff5d230ca <extract_even_mmxext+27>: pcmpeqw %mm7,%mm7
   0x00007ffff5d230cd <extract_even_mmxext+30>: psrlw  $0x8,%mm7
   0x00007ffff5d230d1 <extract_even_mmxext+34>: movq   -0x1e(%rcx,%rax,2),%mm0
   0x00007ffff5d230d6 <extract_even_mmxext+39>: movq   -0x16(%rcx,%rax,2),%mm1
   0x00007ffff5d230db <extract_even_mmxext+44>: movq   -0xe(%rcx,%rax,2),%mm2
=> 0x00007ffff5d230e0 <extract_even_mmxext+49>: movq   -0x6(%rcx,%rax,2),%mm3
   0x00007ffff5d230e5 <extract_even_mmxext+54>: pand   %mm7,%mm0
   0x00007ffff5d230e8 <extract_even_mmxext+57>: pand   %mm7,%mm1
   0x00007ffff5d230eb <extract_even_mmxext+60>: pand   %mm7,%mm2
   0x00007ffff5d230ee <extract_even_mmxext+63>: pand   %mm7,%mm3
   0x00007ffff5d230f1 <extract_even_mmxext+66>: packuswb %mm1,%mm0
   0x00007ffff5d230f4 <extract_even_mmxext+69>: packuswb %mm3,%mm2
   0x00007ffff5d230f7 <extract_even_mmxext+72>: movntq %mm0,-0xf(%rsi,%rax,1)
   0x00007ffff5d230fc <extract_even_mmxext+77>: movntq %mm2,-0x7(%rsi,%rax,1)
   0x00007ffff5d23101 <extract_even_mmxext+82>: add    $0x10,%rax
   0x00007ffff5d23105 <extract_even_mmxext+86>: js     0x7ffff5d230d1 <extract_even_mmxext+34>
   0x00007ffff5d23107 <extract_even_mmxext+88>: sub    $0xf,%rax
   0x00007ffff5d2310b <extract_even_mmxext+92>: test   %rax,%rax
   0x00007ffff5d2310e <extract_even_mmxext+95>: jns    0x7ffff5d2311c <extract_even_mmxext+109>
   0x00007ffff5d23110 <extract_even_mmxext+97>: movzbl (%rcx,%rax,2),%edx
   0x00007ffff5d23114 <extract_even_mmxext+101>:        mov    %dl,(%rsi,%rax,1)
   0x00007ffff5d23117 <extract_even_mmxext+104>:        inc    %rax
   0x00007ffff5d2311a <extract_even_mmxext+107>:        jne    0x7ffff5d23110 <extract_even_mmxext+97>
   0x00007ffff5d2311c <extract_even_mmxext+109>:        repz retq 
   0x00007ffff5d2311e <yuyvtoyuv420_mmxext+0>:  push   %r15
End of assembler dump.
(gdb) info all-registers
rax            0xffffffffffffffff       -1
rbx            0x2cf    719
rcx            0x7fffe2e5b001   140737000091649
rdx            0x500    1280
rsi            0x7fffd00eca20   140736684018208
rdi            0x7fffe2e5a601   140737000089089
rbp            0x7fffe2e5a600   0x7fffe2e5a600
rsp            0x7fffe2049698   0x7fffe2049698
r8             0x7fffd0129bd0   140736684268496
r9             0x7fffd0163430   140736684504112
r10            0x7fffd00f1a50   140736684038736
r11            0x7fffd012b2b0   140736684274352
r12            0x7fffd00ec520   140736684016928
r13            0xa00    2560
r14            0x2d0    720
r15            0x7fffd0129bd0   140736684268496
rip            0x7ffff5d230e0   0x7ffff5d230e0 <extract_even_mmxext+49>
eflags         0x10286  [ PF SF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
st0            -nan(0x804380ae80da8025) (raw 0xffff804380ae80da8025)
st1            -nan(0x802980da80c780e2) (raw 0xffff802980da80c780e2)
st2            -nan(0x805780cc8021803c) (raw 0xffff805780cc8021803c)
st3            -nan(0xe8001c00560074)   (raw 0xffff00e8001c00560074)
st4            0        (raw 0x00000000000000000000)
st5            0        (raw 0x00000000000000000000)
st6            0        (raw 0x00000000000000000000)
st7            -nan(0xff00ff00ff00ff)   (raw 0xffff00ff00ff00ff00ff)
fctrl          0x37f    895
fstat          0x0      0
ftag           0x95aa   38314
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0}, v8_int16 = {0x0, 0xff00, 0xff00, 0xff, 0xff00, 0x0, 0xff00, 
    0xff}, v4_int32 = {0xff000000, 0xffff00, 0xff00, 0xffff00}, v2_int64 = {0xffff00ff000000, 0xffff000000ff00}, uint128 = 0x00ffff000000ff0000ffff00ff000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x66 <repeats 16 times>}, v8_int16 = {0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666}, v4_int32 = {
    0x66666666, 0x66666666, 0x66666666, 0x66666666}, v2_int64 = {0x6666666666666666, 0x6666666666666666}, uint128 = 0x66666666666666666666666666666666}
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, 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, 0x0, 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0}, v8_int16 = {0x0, 0xff00, 0xff00, 0xff, 0xff00, 0x0, 0xff00, 
    0xff}, v4_int32 = {0xff000000, 0xffff00, 0xff00, 0xffff00}, v2_int64 = {0xffff00ff000000, 0xffff000000ff00}, uint128 = 0x00ffff000000ff0000ffff00ff000000}
xmm5           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0xa1, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x1111, 0x1111, 0x1111, 0x3fa1, 0x0, 0x0, 
    0x0, 0x0}, v4_int32 = {0x11111111, 0x3fa11111, 0x0, 0x0}, v2_int64 = {0x3fa1111111111111, 0x0}, uint128 = 0x00000000000000003fa1111111111111}
xmm6           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x50, 0x21, 0x9e, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x2150, 0x3f9e, 0x0, 0x0, 0x0, 0x0}, 
  v4_int32 = {0x0, 0x3f9e2150, 0x0, 0x0}, v2_int64 = {0x3f9e215000000000, 0x0}, uint128 = 0x00000000000000003f9e215000000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x20 <repeats 16 times>}, v8_int16 = {0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020}, v4_int32 = {0x20202020, 0x20202020, 
    0x20202020, 0x20202020}, v2_int64 = {0x2020202020202020, 0x2020202020202020}, uint128 = 0x20202020202020202020202020202020}
xmm8           {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}
xmm9           {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}
xmm10          {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}
---Type <return> to continue, or q <return> to quit---
xmm11          {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}
xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0xff, 0x0}, v8_int16 = {0xff00, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0xff}, 
  v4_int32 = {0xff00, 0x0, 0xff0000, 0xff0000}, v2_int64 = {0xff00, 0xff000000ff0000}, uint128 = 0x00ff000000ff0000000000000000ff00}
xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x59, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x8000, 0xbc59, 0x0, 0x0, 0x0, 0x0}, 
  v4_int32 = {0x0, 0xbc598000, 0x0, 0x0}, v2_int64 = {0xbc59800000000000, 0x0}, uint128 = 0x0000000000000000bc59800000000000}
xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x8e, 0x85, 0x83, 0xe8, 0xf0, 0x24, 0x53, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x858e, 0xe883, 0x24f0, 0x3c53, 0x0, 0x0, 
    0x0, 0x0}, v4_int32 = {0xe883858e, 0x3c5324f0, 0x0, 0x0}, v2_int64 = {0x3c5324f0e883858e, 0x0}, uint128 = 0x00000000000000003c5324f0e883858e}
xmm15          {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x2d, 0x0}, v16_int8 = {0xc0, 0x9, 0xf2, 0x16, 0xb5, 0xdf, 0x46, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x9c0, 0x16f2, 0xdfb5, 0x4046, 0x0, 0x0, 0x0, 
    0x0}, v4_int32 = {0x16f209c0, 0x4046dfb5, 0x0, 0x0}, v2_int64 = {0x4046dfb516f209c0, 0x0}, uint128 = 0x00000000000000004046dfb516f209c0}
mxcsr          0x1fa8   [ OE PE IM DM ZM OM UM PM ]
(gdb)

Change History (6)

comment:1 by Carl Eugen Hoyos, 11 years ago

Isn't this a duplicate of ticket #3410?

comment:2 by FishB8, 11 years ago

Looks like it is. Almost exact same backtrace.

comment:3 by Carl Eugen Hoyos, 11 years ago

Component: swscaleundetermined
Priority: normalimportant
Resolution: duplicate
Status: newclosed
Version: 2.2.2git-master

Please test again once #3410 is fixed.

comment:4 by Carl Eugen Hoyos, 10 years ago

This should be fixed since 1e3f77b5 - could you test again? I could not always reproduce the crash so an additional test would be nice.

comment:5 by FishB8, 10 years ago

Sorry for the delay. I must have missed or otherwise overlooked the email on this.

I would re-test, but the v4l2loopback module is in a rather sad state right now. I've built the module from their current master branch, but I cannot currently test it until they fix this bug:
https://github.com/umlaeute/v4l2loopback/issues/60

comment:6 by Carl Eugen Hoyos, 10 years ago

Thank you!

Note: See TracTickets for help on using tickets.