Re: Bug#638250: Needs to be adapted for libav/0.7
On Sun, Sep 04, 2011 at 08:47:59AM +0200, Reinhard Tartler wrote:
> I strongly disagree that this arch specific defect on ppc is in any way
> a blocking bug for recompiling moc-ffmpeg-plugin against the new libav
> libraries. It only affects (some?) altivec enabled machines and can be
> easily avoided by disabling the altivec variant.
> Ideally, we find a porter that can identify the bug and provide a patch
> for fixing the segmentation fault. I've copied the powerpc porters and
> ask them hereby for their assistance.
> Or, if porters approached me, I also could disable the altivec builds in
> libav completely, penalizing potential altivec users that do not
> experience this issue.
Are there any that don't experience it?
I just tried running ffmpeg on a power6+ machine under gdb and got:
Program received signal SIGSEGV, Segmentation fault.
0x0f6ff37c in ff_fft_calc_altivec () at /root/libav-0.7.1/libavcodec/ppc/fft_altivec_s.S:447
447 DECL_FFTS 0
#0 0x0f6ff37c in ff_fft_calc_altivec () at /root/libav-0.7.1/libavcodec/ppc/fft_altivec_s.S:447
#1 0x0f6feaa8 in ff_imdct_half_altivec (s=<optimized out>, output=<optimized out>, input=<optimized out>) at /root/libav-0.7.1/libavcodec/ppc/fft_altivec.c:93
#2 0x0f437ce8 in imdct_and_windowing (ac=0x10040ca0, sce=0xf7f260c0) at /root/libav-0.7.1/libavcodec/aacdec.c:1856
#3 0x0f43caa8 in spectral_to_sample (ac=<optimized out>) at /root/libav-0.7.1/libavcodec/aacdec.c:2015
#4 aac_decode_frame_int (avctx=<optimized out>, data=0xf7f95020, data_size=0xffffda78, gb=<optimized out>) at /root/libav-0.7.1/libavcodec/aacdec.c:2170
#5 0x0f43ccec in aac_decode_frame (avctx=<optimized out>, data=<optimized out>, data_size=<optimized out>, avpkt=<optimized out>)
#6 0x0f77f25c in avcodec_decode_audio3 (avctx=0x100406a0, samples=<optimized out>, frame_size_ptr=<optimized out>, avpkt=<optimized out>)
#7 0x0ff3f924 in try_decode_frame (avpkt=0x100466e0, st=0x1003ede0) at /root/libav-0.7.1/libavformat/utils.c:2104
#8 av_find_stream_info (ic=0x1003e840) at /root/libav-0.7.1/libavformat/utils.c:2388
#9 0x1000b200 in opt_input_file (opt=<optimized out>, filename=<optimized out>) at /root/libav-0.7.1/ffmpeg.c:3271
#10 0x1000f0fc in parse_options (argc=4, argv=0xffffe184, options=0x10026720, parse_arg_function=0x1000cfd0 <opt_output_file>) at /root/libav-0.7.1/cmdutils.c:287
#11 0x100067c8 in main (argc=4, argv=<optimized out>) at /root/libav-0.7.1/ffmpeg.c:4444
(gdb) Program received signal SIGSEGV, Segmentation fault.
Anyone have an idea what to look at exactly? I really wish debug builds
wouldn't have so much 'optimized out' stuff that makes reading stack
traces so hard.