[libav-tools] segfault on windwos

Ronald S. Bultje rsbultje at gmail.com
Sun Aug 21 19:36:05 CEST 2011


Hi,

On Sun, Aug 21, 2011 at 9:32 AM, Farkas Levente <lfarkas at lfarkas.org> wrote:
> On 08/20/2011 10:49 PM, Ronald S. Bultje wrote:
>> On Sat, Aug 20, 2011 at 1:48 PM, Farkas Levente <lfarkas at lfarkas.org> wrote:
>>> hi,
>>> when i build gstreamer-ffmpeg (which contains libav) it's always
>>> segfault with this bt:
>>> any tip or solution?
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> [Switching to Thread 844.0xae8]
>>> 0x02912a02 in clear_blocks_sse (blocks=0x23b7858)
>>>    at /builddir/build/BUILD/gst-ffmpeg-0.10.12/gst-libs/ext/libav/libavcodec/x8
>>> 6/dsputil_mmx.c:539
>>> 539     /builddir/build/BUILD/gst-ffmpeg-0.10.12/gst-libs/ext/libav/libavcodec/x
>>> 86/dsputil_mmx.c: No such file or directory.
>>>        in /builddir/build/BUILD/gst-ffmpeg-0.10.12/gst-libs/ext/libav/libavcode
>>> c/x86/dsputil_mmx.c
>>> (gdb) bt
>>> #0  0x02912a02 in clear_blocks_sse (blocks=0x23b7858)
>>>    at /builddir/build/BUILD/gst-ffmpeg-0.10.12/gst-libs/ext/libav/libavcodec/x8
>>> 6/dsputil_mmx.c:539
>>
>> Can you provide the output of "disass", "info all-registers"?
>
> Dump of assembler code for function clear_blocks_sse:
>   0x029229f0 <+0>:     mov    0x4(%esp),%edx
>   0x029229f4 <+4>:     add    $0x300,%edx
>   0x029229fa <+10>:    xorps  %xmm0,%xmm0
>   0x029229fd <+13>:    mov    $0xfffffd00,%eax
> => 0x02922a02 <+18>:    movaps %xmm0,(%edx,%eax,1)
[..]
> eax            0xfffffd00       -768
> edx            0x23c6358        37512024

edx is not 16-byte aligned. I'm guessing the memory input is not
allocated with proper alignment, seems like a GStreamer bug. Maybe
they compiled Libav without --enable-memalign-hack, which is required
for Win32 binaries? This is automatically set by Libav's configure
script, but I don't think that GStreamer uses that.

Ronald


More information about the libav-tools mailing list