Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 233302 - GCC 4.3.1 builds borked binaries for mythtv-0.21-p17722
Summary: GCC 4.3.1 builds borked binaries for mythtv-0.21-p17722
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal with 1 vote (vote)
Assignee: MythTV Maintainers
URL: http://forums.gentoo.org/viewtopic-t-...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-29 18:12 UTC by Adam Stylinski
Modified: 2010-06-13 19:50 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Stylinski 2008-07-29 18:12:27 UTC
Using nvidia drivers (I tried versions 100-172), with Xorg 7.2 and 7.3 and all versions of ffmpeg, mythtv's internal player used for playback of TV and DVD's stutters uncontrollably until I built mythtv with GCC 4.1.2.  Mplayer with ffmpeg (the codec it uses) didn't have any issues with 4.3.1.  Therefore, this is a problem to take to the mythtv ebuild maintainer.

Reproducible: Always

Steps to Reproduce:
1. use nvidia-drivers (regardless of version or kernel)
2. build mythtv with gcc 4.3.1
3. play a video with Xvideo, XvMC, or any other method, with and without deinterlacing

Actual Results:  
Stuttering and unbearable audio and/or video

Expected Results:  
Played back smoothly without any hiccup except for when the menus fade.

Used evilwm, LIRC, and tried just about every kernel.  At some point my tuner cards had an issue with interrupts (although this is nothing to do with the tuner cards, I had this problem with DVD's as well).  I changed the slots the cards were in and told the bios to allow the OS to figure out the interrupts (this seemed to fix things.  Using PCHDTV cards with a more than adequate mythtv config.  Nvidia 7600 GT AGP Card.
Comment 1 Adam Stylinski 2008-07-29 18:32:01 UTC
Here's my emerge --info:

Portage 2.2_rc4 (default/linux/x86/2008.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r6 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r6-i686-Intel-R-_Pentium-R-_4_CPU_2.80GHz-with-glibc2.0
Timestamp of tree: Tue, 29 Jul 2008 04:35:01 +0000
app-shells/bash:     3.2_p39
dev-lang/python:     2.4.4-r13, 2.5.2-r5
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.62-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -mtune=pentium4 -pipe -fomit-frame-pointer -msse -msse2 -mmmx"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /home/mythtv/ /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4 -mtune=pentium4 -pipe -fomit-frame-pointer -msse -msse2 -mmmx"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://cudlug.cudenver.edu/gentoo/ ftp://gentoo.mirrors.pair.com/ "
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://macbox.mshome.net/gentoo-portage"
USE="X a52 a52codec aac aalib acl alsa apache2 asm avi bash-completion berkdb bzip2 cd-r cddb cdr cli cpudetection cracklib crypt cscope curl custom-cflags dri dts dv dvb dvd dvd-r dvdnav dvdr dvdread encode f77 ffmpeg flac fortran gdbm gif gpm gs gtk hal iconv ieee1394 imagemagick imlib ipv6 isdnlog jbig joystick jpeg jpeg2k kde latin1 libcaca libdvdread libg++ libwww lirc lzo mad matroska midi mikmod mjpeg mmx mmxext mp2 mp3 mp4 mpeg mpeg2 mplayer mudflap musepack musicbrainz mysql ncurses nls nptl nptlonly nvidia nvidia% offensive ogg openal opengl openmp openntpd oss pam pcre pdflib perl php php5 png pnm posix pppd python qt qt3 qt4 quicktime rar readline real reflection ruby samba sasl sdl session speex spl srt sse sse2 ssl suexec tcpd theora threads tiff transcode truetype unicode v4l v4l2 vcd vidix vim-syntax vorbis win32codecs x264 x86 xml xorg xpm xv xvid xvmc zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest suexec authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="or51132" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" LIRC_DEVICES="serial" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 2 Doug Goldstein (RETIRED) gentoo-dev 2008-07-29 23:35:50 UTC
Provide some detailed logs from mythfrontend (depending how you run mythfrontend)...

i.e. if you use the USE=autostart method, you should have log files in /var/log/mythtv/mythfrontend.log

You'll probably need to exit the logging levels found in /home/mythtv/.xinitrc to add some additional logging levels to find exactly the area that's lagging... i.e. the audio or video or both

To see the additional logging levels use mythfrontend -v help.

my frontend only machine with an AMD Athlon64 3000+ works fine with all content I throw at it (including HD stuff from my pcHDTV card).

My backend/frontend is on gcc 4.1 so I can't speak for it in this case.
Comment 3 Doug Goldstein (RETIRED) gentoo-dev 2008-07-29 23:40:19 UTC
Another suggestion could be to clean up your CFLAGS... it's possible it's falling back on a generic path badly.. (which would obviously be a bug in the ebuild or MythTV configure)

CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer"

is equivalent to your CFLAGS.
Comment 4 Adam Stylinski 2008-07-30 12:22:37 UTC
(In reply to comment #2)
> Provide some detailed logs from mythfrontend (depending how you run
> mythfrontend)...
> 
> i.e. if you use the USE=autostart method, you should have log files in
> /var/log/mythtv/mythfrontend.log
> 
> You'll probably need to exit the logging levels found in /home/mythtv/.xinitrc
> to add some additional logging levels to find exactly the area that's
> lagging... i.e. the audio or video or both
> 
> To see the additional logging levels use mythfrontend -v help.
> 
> my frontend only machine with an AMD Athlon64 3000+ works fine with all content
> I throw at it (including HD stuff from my pcHDTV card).
> 
> My backend/frontend is on gcc 4.1 so I can't speak for it in this case.
> 

I turned on logging with playback, I got a lot of video falling behind audio errors, and when I made the audio device NULL, I would get things like this:

2008-07-22 22:07:28.195 VideoOutputXv: Frame D is in use by avlib and so is bein
g held for later discarding.
2008-07-22 22:07:28.195 NVP: Waiting for prebuffer.. 0 AAAdLAdA
2008-07-22 22:07:28.209 NVP: prebuffering pause
2008-07-22 22:07:28.210 NVP: Waiting for prebuffer.. 0 AALALADA
2008-07-22 22:07:28.235 NVP: prebuffering pause
2008-07-22 22:07:28.235 NVP: Waiting for prebuffer.. 0 LALAdAAA
2008-07-22 22:07:28.248 NVP: prebuffering pause
2008-07-22 22:07:28.248 NVP: Waiting for prebuffer.. 0 ALLAdAAA
2008-07-22 22:07:28.260 NVP: prebuffering pause
2008-07-22 22:07:28.260 NVP: Waiting for prebuffer.. 0 AALAALAA
2008-07-22 22:07:28.275 NVP: prebuffering pause
2008-07-22 22:07:28.276 NVP: Waiting for prebuffer.. 0 AAdLALAA
2008-07-22 22:07:28.288 NVP: prebuffering pause
2008-07-22 22:07:28.288 NVP: Waiting for prebuffer.. 0 AAdAALAL
2008-07-22 22:07:28.301 NVP: prebuffering pause
2008-07-22 22:07:28.301 NVP: Waiting for prebuffer.. 0 AADAALLA
2008-07-22 22:07:28.315 NVP: prebuffering pause
2008-07-22 22:07:28.315 NVP: Waiting for prebuffer.. 0 LAAAAdLA
2008-07-22 22:07:28.325 NVP: prebuffering pause
2008-07-22 22:07:28.325 NVP: Waiting for prebuffer.. 0 AAAALdLA
2008-07-22 22:07:28.335 NVP: prebuffering pause 

Hint: see post in URL above.  I'll try to reduce my CFLAGS for gcc 4.3.1, but I don't think it's going to fix it.
Comment 5 Geoff Pursell 2008-07-31 00:56:39 UTC
(In reply to comment #3)
> Another suggestion could be to clean up your CFLAGS... it's possible it's
> falling back on a generic path badly.. (which would obviously be a bug in the
> ebuild or MythTV configure)
> 
> CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer"
> 
> is equivalent to your CFLAGS.

I believe the mythtv ebuild filters your cflags and allows mythtv to use whatever it thinks is appropriate, since it says:

# let MythTV come up with our CFLAGS. Upstream will support this
CFLAGS=""

...among other, similar things.  I believe, also, that mythtv prefers to use -O3, which I personally suspect could be triggering the bug.
Comment 6 Geoff Pursell 2008-07-31 01:05:55 UTC
I have this problem as well.  Here's my emerge --info:

Portage 2.2_rc5 (default/linux/x86/2008.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r3 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r3-i686-AMD_Sempron-tm-_Processor_2600+-with-glibc2.0
Timestamp of tree: Wed, 30 Jul 2008 18:36:18 +0000
app-shells/bash:     3.2_p39
dev-lang/python:     2.4.4-r4, 2.5.2-r5
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.62-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/roslin /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa apache2 apm audiofile avahi avi bidi bitmap-fonts bzip2 caps cgi cli cracklib crypt ctype daap dba dbus directfb disableslit dri dvb dvd dvdread dynarec emboss encode esd exif expat fam fastbuild fastcgi fbcon fbcondecor ffmpeg fftw firefox flac foomaticdb force-cgi-redirect fortran freetype ftp gd gdbm gif glut gmp gnutls gpm gstreamer gtk gtk2 gtkhtml guile hal howl-compat httpd iconv idn imlib ipv6 isdnlog ivtv javascript joystick jpeg lame latin1 lcms libg++ libnotify libsamplerate libwww lirc live mad matroska mdnsresponder-compat memlimit midi mikmod mmx mmxext mng mono motif mp3 mp4 mpeg mudflap mysql mythtv na_dd na_icons nautilus ncurses networking nls nptl nptlonly nsplugin nvidia ogg oggvorbis opengl openmp oss pam pcre pdf pdflib perl png posix pppd pulseaudio python qt qt3 quicktime readline reflection samba sdl server session simplexml slang soap sockets spell spl sse sse2 ssl ssse3 stream svg svga sysfs tcltk tcpd theora tiff tokenizer transcode truetype truetype-fonts type1-fonts udev unicode usb utf8 v4l v4l2 vlm vorbis win32codecs x264 x86 xfs xml xml2 xorg xosd xsl xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="hauppauge" USERLAND="GNU" VIDEO_CARDS="nvidia vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 7 Jesse Adelman 2010-03-07 00:09:30 UTC
Bugday question: Is this still a problem? Both gcc and mythtv have moved beyond the versions at play here.
Comment 8 Doug Goldstein (RETIRED) gentoo-dev 2010-06-13 07:17:48 UTC
Please retest and reopen with newer MythTV and gcc version if its still an issue.
Comment 9 Adam Stylinski 2010-06-13 19:50:03 UTC
(In reply to comment #8)
> Please retest and reopen with newer MythTV and gcc version if its still an
> issue.
> 

I think the bug has actually been fixed for a few versions now.