From owner-freebsd-multimedia@FreeBSD.ORG Fri Jul 13 14:25:41 2007 Return-Path: X-Original-To: freebsd-multimedia@freebsd.org Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D447216A400 for ; Fri, 13 Jul 2007 14:25:41 +0000 (UTC) (envelope-from buhnux@gmail.com) Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.225]) by mx1.freebsd.org (Postfix) with ESMTP id 8357B13C467 for ; Fri, 13 Jul 2007 14:25:41 +0000 (UTC) (envelope-from buhnux@gmail.com) Received: by wx-out-0506.google.com with SMTP id i29so409985wxd for ; Fri, 13 Jul 2007 07:25:41 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:in-reply-to:references:mime-version:content-type:message-id:cc:from:subject:date:to:content-transfer-encoding:x-pgp-agent:x-mailer:sender; b=raiEVaoouliBRBYoDf5w2+9jWgIaaZuZuiLI2R7IWngBRKZSH8WG9hqwgN82AOKHHp3ak7nSywTAuulSplXTM3cV/m0Qu/OpPzjW0XJNNss8Qu9tpqhPHBBGV7JdSv3jNVY3R9MlSzODbZb2DVuFw+gD+5/5mvldN/uczSeQz4w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:in-reply-to:references:mime-version:content-type:message-id:cc:from:subject:date:to:content-transfer-encoding:x-pgp-agent:x-mailer:sender; b=Gr+lJZGLVrgwe7VnctHhmPbuytMaPFTHLJW3COdu1XU2h4y8HOtAIn/bzk1mdBlpX5oGXzdhPiPurhsS7i+aulLHahK/Lm0kcoYMeSdZmBKqc5eFYU8LxdRr3wZcKzQAMLfKXL+YGH7F4ERM/Jr4nM+fZvBK2lHWactZabdBvpY= Received: by 10.90.66.9 with SMTP id o9mr1594800aga.1184336740879; Fri, 13 Jul 2007 07:25:40 -0700 (PDT) Received: from ?10.61.32.111? ( [24.240.172.126]) by mx.google.com with ESMTP id 44sm30508970wri.2007.07.13.07.25.38 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 13 Jul 2007 07:25:39 -0700 (PDT) In-Reply-To: <200707130300.l6D30IbC060392@freefall.freebsd.org> References: <200707130300.l6D30IbC060392@freefall.freebsd.org> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha1; boundary="Apple-Mail-2--128896636" Message-Id: <3B5B9842-474E-4BBD-8F98-A9B6803EA0DA@ahze.net> From: Michael Johnson Date: Fri, 13 Jul 2007 10:25:33 -0400 To: Gary Palmer Content-Transfer-Encoding: 7bit X-Pgp-Agent: GPGMail 1.1.2 (Tiger) X-Mailer: Apple Mail (2.752.3) Sender: Michael Johnson Cc: freebsd-multimedia@FreeBSD.org Subject: Re: ports/113922: multimedia/ffmpeg segfaults on start X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jul 2007 14:25:42 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --Apple-Mail-2--128896636 Content-Type: multipart/mixed; boundary=Apple-Mail-1--128896662 --Apple-Mail-1--128896662 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed On Jul 13, 2007, at 3:00 AM, Gary Palmer wrote: > The following reply was made to PR ports/113922; it has been noted =20 > by GNATS. > > From: Gary Palmer > To: bug-followup@FreeBSD.org > Cc: > Subject: Re: ports/113922: multimedia/ffmpeg segfaults on start > Date: Fri, 13 Jul 2007 03:40:02 +0100 > > I also experienced the crash. I tracked it down to ffmpeg source =20 > code. > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x8480000 (LWP 100306)] > 0x48852af7 in __vfprintf () from /lib/libc.so.6 > (gdb) bt > #0 0x48852af7 in __vfprintf () from /lib/libc.so.6 > #1 0x488536f1 in vfprintf () from /lib/libc.so.6 > #2 0x0805fd7d in log_callback_help (ptr=3D0x0, level=3D1, = fmt=3D0x837b39c > "T=B27\b", > vl=3D0x82c4b7e = "\203=C4\030[=C3\220S\203=EC\b\215D$\034P=FFt$\034=FFt$\034=E8") > at ffmpeg.c:3735 > #3 0x082c4b7e in av_vlog (avcl=3D0x848e010, level=3D137788800, > fmt=3D0x837b39c "T=B27\b", vl=3D0x82c4baa "\203=C4\030[=C3\220=E8")= at =20 > log.c:65 > #4 0x082c4baa in av_log (avcl=3D0x848e010, level=3D0, fmt=3D0x837b39c = =20 > "T=B27\b") > at log.c:58 > #5 0x081a9c13 in av_opt_show (obj=3D0x8477130, av_log_obj=3D0x0) at =20= > opt.c:335 > #6 0x0805fe93 in show_help () at ffmpeg.c:3771 > #7 0x08060d03 in main (argc=3D1, argv=3D0xbfbfe808) at ffmpeg.c:3798 > > Notice the fmt parameters are garbage from 4 upwards > > #6 0x0805fe93 in show_help () at ffmpeg.c:3771 > 3771 av_opt_show(sws_opts, NULL); > > Looking through the code, sws_opts is populated at ffmpeg.c in main=20= > () at > line 3794 with a call to sws_getContext > > The real fun is that the ffmpeg code has TWO definitions for > sws_getContext when you have --enable-swscaler passed to configure > (which is the default for the port). One is defined in > libavcodec/imgresample.c and the other in libswscale/swscale.c > > At least on my system, the linker defaulted to the version in =20 > libavcodec > which leads to the SIGSEGV. Putting "#if 0" around the =20 > definitions for > sws_getContext, sws_freeContext and sws_scale in > libavcodec/imgresample.c appears to stop the SIGSEGV for me. > > Alternatively, deleting the files/patch-libavcodec_Makefile patch =20 > file > appears to also stop the coredump. > I don't recall why we needed this patch, but I don't think it's =20 needed anymore Please test this patch. --Apple-Mail-1--128896662 Content-Transfer-Encoding: 7bit Content-Type: application/octet-stream; x-unix-mode=0644; name=ffmpeg.diff Content-Disposition: attachment; filename=ffmpeg.diff diff -ruN --exclude=.svn ffmpeg.orig/Makefile ffmpeg/Makefile --- ffmpeg.orig/Makefile 2007-06-12 05:00:26.000000000 -0400 +++ ffmpeg/Makefile 2007-07-13 09:17:27.000000000 -0400 @@ -6,8 +6,7 @@ # PORTNAME= ffmpeg -DISTVERSION= 2007-05-30 -PORTREVISION= 1 +DISTVERSION= 2007-07-12 CATEGORIES= multimedia audio ipv6 net MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= ahze @@ -19,13 +18,16 @@ USE_BZIP2= yes USE_GMAKE= yes WANT_SDL= yes + +.include + CONFIGURE_ARGS= --cc="${CC}" --prefix="${PREFIX}" \ --make="${GMAKE}" \ --disable-debug \ --enable-memalign-hack \ --enable-shared \ --enable-pp \ - --extra-cflags="-fPIC -DPIC ${CFLAGS} -I${LOCALBASE}/include" \ + --extra-cflags="${CFLAGS} -I${LOCALBASE}/include" \ --extra-ldflags="-L${LOCALBASE}/lib" \ --extra-libs="${PTHREAD_LIBS}" \ --enable-gpl \ @@ -37,7 +39,7 @@ PLIST_SUB= SHLIB_VER=${SHLIB_VER} USE_LDCONFIG= yes -FFMPEG_MAN1= ffmpeg.1 +MAN1+= ffmpeg.1 ffserver.1 ## DOC_FILES= COPYING Changelog README @@ -47,12 +49,6 @@ hooks.html optimization.txt PORTDOCS= * -.include - -.if ${ARCH}=="amd64" -EXTRA_PATCHES= ${PATCHDIR}/amd64-patch -.endif - ## sse hardware vector support .if (defined(MACHINE_CPU) && ${MACHINE_CPU:Msse} == "sse") WITH_BUILTIN_VECTOR= yes @@ -92,14 +88,13 @@ CONFIGURE_ARGS+= --enable-libfaac .endif ## faad -.ifdef(WITH_FAAD) || exists(${LOCALBASE}/lib/libfaad.so) +.ifndef(WITHOUT_FAAD) || exists(${LOCALBASE}/lib/libfaad.so) LIB_DEPENDS+= faad.0:${PORTSDIR}/audio/faad CONFIGURE_ARGS+= --enable-libfaad \ --enable-libfaadbin .endif USE_RC_SUBR= ffserver -FFMPEG_MAN1+= ffserver.1 #### BROKEN LIST ##### WITHOUT_THEORA= yes @@ -132,8 +127,6 @@ .ifdef(WITH_SDL) || ${HAVE_SDL:Msdl} USE_SDL+= sdl -FFMPEG_MAN1+= ffplay.1 - PLIST_FILES+= bin/ffplay .else CONFIGURE_ARGS+= --disable-ffplay @@ -156,7 +149,7 @@ .ifdef(WITH_X264) || exists(${LOCALBASE}/lib/libx264.so) LIB_DEPENDS+= x264.50:${PORTSDIR}/multimedia/x264 -CONFIGURE_ARGS+= --enable-x264 +CONFIGURE_ARGS+= --enable-libx264 .endif ## builtin vector, requires mmx .if !defined(WITHOUT_BUILTIN_VECTOR) && defined(WITH_BUILTIN_VECTOR) @@ -179,11 +172,7 @@ .ifdef(WITH_XVID) || exists(${LOCALBASE}/lib/libxvidcore.so) LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid -CONFIGURE_ARGS+= --enable-xvid -.endif - -.ifndef(NOPORTDOCS) -MAN1= ${FFMPEG_MAN1} +CONFIGURE_ARGS+= --enable-libxvid .endif pre-everything:: @@ -239,7 +228,7 @@ post-patch: # Faad compat - @${REINPLACE_CMD} -e 's|faacD|NeAACD|' ${WRKSRC}/libavcodec/faad.c + @${REINPLACE_CMD} -e 's|faacD|NeAACD|' ${WRKSRC}/libavcodec/libfaad.c # {C,LD}FLAGS safeness # fix x264 math, use correct log base 2 from math(3) .if ${OSVERSION} <= 601000 @@ -312,10 +301,7 @@ -e 's|^(CONFIG_LIBTHEORA).*$$|\1=no|' \ ${WRKSRC}/config.mak .endif -# shared libraries PIC - @${REINPLACE_CMD} -E \ - -e 's|^(PIC[[:space:]]*=.*)$$|\1 -fpic -fPIC -DPIC|' \ - ${WRKSRC}/config.mak + post-install: ${INSTALL_DATA} ${WRKSRC}/doc/ffserver.conf ${PREFIX}/etc/ffserver.conf-dist if [ ! -f ${PREFIX}/etc/ffserver.conf ]; then \ diff -ruN --exclude=.svn ffmpeg.orig/distinfo ffmpeg/distinfo --- ffmpeg.orig/distinfo 2007-06-11 22:06:48.000000000 -0400 +++ ffmpeg/distinfo 2007-07-13 09:17:27.000000000 -0400 @@ -1,3 +1,3 @@ -MD5 (ffmpeg-2007-05-30.tar.bz2) = 85d6f1a5657ca9c7730dac76c1cca883 -SHA256 (ffmpeg-2007-05-30.tar.bz2) = fa2237b2852ea8f01b329863f9b07f72865a1f58af5d001904d67f974ab0e18b -SIZE (ffmpeg-2007-05-30.tar.bz2) = 2256282 +MD5 (ffmpeg-2007-07-12.tar.bz2) = 6f055a17766e7d6a044281ea4a43c481 +SHA256 (ffmpeg-2007-07-12.tar.bz2) = 7abbb87ec7a8ae9ea0ec2e0ad6138d60406e9ef3f1ab6293af98d662276c6210 +SIZE (ffmpeg-2007-07-12.tar.bz2) = 2277468 diff -ruN --exclude=.svn ffmpeg.orig/files/amd64-patch ffmpeg/files/amd64-patch --- ffmpeg.orig/files/amd64-patch 2007-05-25 13:07:36.000000000 -0400 +++ ffmpeg/files/amd64-patch 1969-12-31 19:00:00.000000000 -0500 @@ -1,55 +0,0 @@ -$OpenBSD: patch-libavcodec_mpegvideo_c,v 1.1 2007/01/23 09:34:45 robert Exp $ ---- libavcodec/mpegvideo.c.orig Sat Dec 23 05:05:36 2006 -+++ libavcodec/mpegvideo.c Tue Jan 2 18:22:01 2007 -@@ -4837,7 +4837,7 @@ static int pre_estimate_motion_thread(AV - static int estimate_motion_thread(AVCodecContext *c, void *arg){ - MpegEncContext *s= arg; - -- ff_check_alignment(); -+ /*ff_check_alignment();*/ - - s->me.dia_size= s->avctx->dia_size; - s->first_slice_line=1; -@@ -4865,7 +4865,7 @@ static int mb_var_thread(AVCodecContext - MpegEncContext *s= arg; - int mb_x, mb_y; - -- ff_check_alignment(); -+ /*ff_check_alignment();*/ - - for(mb_y=s->start_mb_y; mb_y < s->end_mb_y; mb_y++) { - for(mb_x=0; mb_x < s->mb_width; mb_x++) { -@@ -4914,7 +4914,7 @@ static int encode_thread(AVCodecContext - PutBitContext pb[2], pb2[2], tex_pb[2]; - //printf("%d->%d\n", s->resync_mb_y, s->end_mb_y); - -- ff_check_alignment(); -+ /*ff_check_alignment();*/ - - for(i=0; i<2; i++){ - init_put_bits(&pb [i], bit_buf [i], MAX_MB_BYTES); ---- libavcodec/dsputil.c.orig Wed Apr 18 09:42:55 2007 -+++ libavcodec/dsputil.c Wed Apr 18 10:16:01 2007 -@@ -3814,6 +3814,7 @@ - for(i=0; i<64; i++) inv_zigzag_direct16[ff_zigzag_direct[i]]= i+1; - } - -+/* - int ff_check_alignment(void){ - static int did_fail=0; - DECLARE_ALIGNED_16(int, aligned); -@@ -3832,12 +3833,12 @@ - } - return 0; - } -- -+*/ - void dsputil_init(DSPContext* c, AVCodecContext *avctx) - { - int i; - -- ff_check_alignment(); -+ /*ff_check_alignment();*/ - - #ifdef CONFIG_ENCODERS - if(avctx->dct_algo==FF_DCT_FASTINT) { diff -ruN --exclude=.svn ffmpeg.orig/files/patch-configure ffmpeg/files/patch-configure --- ffmpeg.orig/files/patch-configure 2007-06-11 22:06:49.000000000 -0400 +++ ffmpeg/files/patch-configure 2007-07-13 09:17:27.000000000 -0400 @@ -1,5 +1,5 @@ ---- configure.orig Sun May 27 12:31:02 2007 -+++ configure Wed May 30 21:50:21 2007 +--- configure.orig 2007-07-08 13:47:15.000000000 -0400 ++++ configure 2007-07-09 12:37:09.000000000 -0400 @@ -210,11 +210,11 @@ # "tr '[a-z]' '[A-Z]'" is a workaround for Solaris tr not grokking "tr a-z A-Z" @@ -14,7 +14,7 @@ } set_all(){ -@@ -1020,15 +1020,9 @@ +@@ -992,15 +992,9 @@ enable fast_unaligned ;; x86_64|amd64) @@ -32,30 +32,20 @@ ;; # armv4l is a subset of armv[567]*l arm|armv[4567]*l) -@@ -1781,14 +1775,14 @@ - # not all compilers support -Os - test "$optimize" = "small" && check_cflags -Os - --if enabled optimize; then +@@ -1734,12 +1728,6 @@ + check_cflags -Os # not all compilers support -Os + optimize="small" + elif enabled optimize; then - if test -n "`$cc -v 2>&1 | grep xlc`"; then - add_cflags "-O5" - add_ldflags "-O5" - else - add_cflags "-O3" - fi --fi -+#if enabled optimize; then -+# if test -n "`$cc -v 2>&1 | grep xlc`"; then -+# add_cflags "-O5" -+# add_ldflags "-O5" -+# else -+# add_cflags "-O3" -+# fi -+#fi + fi # PIC flags for shared library objects where they are needed - if enabled shared; then -@@ -1996,15 +1990,15 @@ +@@ -1927,15 +1915,15 @@ if enabled shared; then echo "BUILD_SHARED=yes" >> config.mak echo "PIC=-fPIC -DPIC" >> config.mak @@ -76,7 +66,7 @@ echo "SWSVERSION=$sws_version" >> config.mak echo "SLIBNAME=${SLIBNAME}" >> config.mak echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak -@@ -2039,7 +2033,7 @@ +@@ -1969,7 +1957,7 @@ echo "SRC_PATH=\"$source_path\"" >> config.mak echo "SRC_PATH_BARE=$source_path" >> config.mak @@ -85,7 +75,7 @@ # Apparently it's not possible to portably echo a backslash. if enabled asmalign_pot; then -@@ -2119,8 +2113,8 @@ +@@ -2047,8 +2035,8 @@ Version: $version Requires: $requires Conflicts: @@ -96,7 +86,7 @@ EOF } -@@ -2143,7 +2137,8 @@ +@@ -2071,7 +2059,8 @@ Requires: $requires Conflicts: Libs: \${libdir}/${LIBPREF}${shortname}${LIBSUF} $libs diff -ruN --exclude=.svn ffmpeg.orig/files/patch-libavcodec_Makefile ffmpeg/files/patch-libavcodec_Makefile --- ffmpeg.orig/files/patch-libavcodec_Makefile 2007-05-25 13:07:36.000000000 -0400 +++ ffmpeg/files/patch-libavcodec_Makefile 1969-12-31 19:00:00.000000000 -0500 @@ -1,12 +0,0 @@ ---- libavcodec/Makefile.orig Thu May 3 08:50:33 2007 -+++ libavcodec/Makefile Thu May 3 08:50:42 2007 -@@ -293,9 +293,7 @@ - - OBJS-$(HAVE_XVMC_ACCEL) += xvmcvideo.o - --ifneq ($(CONFIG_SWSCALER),yes) - OBJS += imgresample.o --endif - - # processor-specific code - ifeq ($(TARGET_MMX),yes) diff -ruN --exclude=.svn ffmpeg.orig/pkg-plist ffmpeg/pkg-plist --- ffmpeg.orig/pkg-plist 2007-06-11 22:06:48.000000000 -0400 +++ ffmpeg/pkg-plist 2007-07-13 09:17:27.000000000 -0400 @@ -6,6 +6,7 @@ include/ffmpeg/avcodec.h include/ffmpeg/avformat.h include/ffmpeg/avio.h +include/ffmpeg/avstring.h include/ffmpeg/avutil.h include/ffmpeg/base64.h include/ffmpeg/common.h @@ -37,7 +38,7 @@ lib/libavutil.a lib/libavutil.so lib/libavutil.so.%%SHLIB_VER%% -lib/libavutil.so.49.4.0 +lib/libavutil.so.49.4.1 lib/libpostproc.a lib/libpostproc.so lib/libpostproc.so.%%SHLIB_VER%% --Apple-Mail-1--128896662 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Michael > I do not have enough experience with this port to know if either > option > has bad side effects > > > > _______________________________________________ > freebsd-multimedia@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > To unsubscribe, send any mail to "freebsd-multimedia- > unsubscribe@freebsd.org" --Apple-Mail-1--128896662-- --Apple-Mail-2--128896636 content-type: application/pgp-signature; x-mac-type=70674453; name=PGP.sig content-description: This is a digitally signed message part content-disposition: inline; filename=PGP.sig content-transfer-encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iD8DBQFGl4tdn4uqfTwEb9YRAoLrAJ9eawJA2zMPUxaKkBcI+d6O7LMN2QCgqRFo 5ZWhRTAfPta0vVbXGniQrgc= =GIRT -----END PGP SIGNATURE----- --Apple-Mail-2--128896636--