Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 241910 - [4.3] dev-python/pygtk-2.12.? segfaults on ppc64 (-fschedule-insns)
Summary: [4.3] dev-python/pygtk-2.12.? segfaults on ppc64 (-fschedule-insns)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: PPC64 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
: 272214 (view as bug list)
Depends on: 302468
Blocks:
  Show dependency tree
 
Reported: 2008-10-14 09:55 UTC by Andrew John Hughes
Modified: 2010-07-18 16:58 UTC (History)
5 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 Andrew John Hughes 2008-10-14 09:55:15 UTC
#0  do_mkvalue (p_format=0xfffffb03db0, p_va=0xfffffb03db8, flags=1) at Python/modsupport.c:446
#1  0x00000400001980e8 in do_mktuple (p_format=0xfffffb03db0, p_va=0xfffffb03db8, endchar=41, n=<value optimized out>, flags=1)
    at Python/modsupport.c:267
#2  0x0000040000198540 in do_mkvalue (p_format=0xfffffb03db0, p_va=0xfffffb03db8, flags=1) at Python/modsupport.c:297
#3  0x0000040000198d10 in va_build_value (format=<value optimized out>, va=0xfffffb03e78 "", flags=1) at Python/modsupport.c:536
#4  0x0000040000199054 in _Py_BuildValue_SizeT (format=<value optimized out>) at Python/modsupport.c:495
#5  0x0000040000d633ec in pygtk_register_classes (d=0x10116270) at gtk.c:118945
#6  0x0000040000bfc768 in init_gtk () at gtkmodule.c:225


Reproducible: Always

Steps to Reproduce:
1. run python
2. import gtk
3.




Portage 2.1.4.5 (default-linux/ppc/ppc64/2007.0/64bit-userland/970/pmac, gcc-4.3.1, glibc-2.7-r2, 2.6.24-gentoo-r3.omega ppc64)
=================================================================
System uname: 2.6.24-gentoo-r3.omega ppc64 PPC970MP, altivec supported
Timestamp of tree: Fri, 10 Oct 2008 12:19:01 +0000
distcc 2.18.3 powerpc64-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  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.24
ACCEPT_KEYWORDS="ppc64"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -mtune=G5 -mcpu=G5 -mabi=altivec -pipe -ggdb"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/env /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/shutdown"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -mtune=G5 -mcpu=G5 -mabi=altivec -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk ftp://mirrors.blueyonder.co.uk/mirrors/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ "
LANG="en_GB.UTF-8"
LINGUAS="en_GB"
MAKEOPTS="-j5"
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="/home/andrew/projects/gentoo/java-overlay /home/andrew/projects/gentoo/andys_overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl addbookmarks alias alsa altivec asf autoreplace avahi bash-completion berkdb bluetooth bzip2 cairo caps cdda cddb cdparanoia cdr cjk cli connectionstatus contactnotes cracklib crypt cups curl cvs daap dbus dga dia djvu dri dts dv dvd dvdnav dvdr dvdread dvi effects emacs emf encode examples fame ffmpeg fftw firefox flac fortran fping gcj gdbm gif git gmp gnutls gpac gpgme gpm gtk hal hfs highlight history iconv idn ieee1394 imagemagick imap imlib ipod ipv6 irc isdnlog jack java java5 javascript jingle jpeg jpeg2k kde ladspa lame lapack latex lcms libnotify live lzo mad matroska mbox midi mjpeg mmap mng mp2 mp3 mpeg mplayer mudflap musepack musicbrainz ncurses netmeeting network nls nntp nowlistening nptl nptlonly nsplugin ogg openal openexr opengl openmp optimisememory oss pam pcre pdf perl plotutils png pnm pop postscript ppc64 ppds pppd python qt qt3 qt4 quicktime readline reflection rtc sasl sdl session shout slp smime smp sms smtp snmp sox speex spell spl sqlite ssl statistics stream subtitles subversion svg syslog t1lib tcpd tetex texteffect tga theora threads tiff translator truetype unicode usb v4l2 vcd visualization vorbis vram webpresence wmf x264 xanim xattr xchattext xcomposite xine xinerama xml xorg xscreensaver xv xvid xvmc yahoo zeroconf zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif 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" LINGUAS="en_GB" USERLAND="GNU" VIDEO_CARDS="nv fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-10-15 17:17:32 UTC
1) Please specify the version and revision of dev-python/pygtk in the summary.
2) You appear to have two versions of dev-lang/python installed - in which one did you run `import gtk'?
3) Also, did you run python-updater after installing dev-lang/python-2.5*?
Comment 2 Siarhei Siamashka 2009-03-08 18:52:14 UTC
I have encountered the same problem with pygtk. It is fixable in my case by reducing optimization level to "-O1" or adding "-fno-schedule-insns" to CFLAGS. Looks like there is a high chance that it is caused by an invalid code generation problem in gcc 4.3. This might be interesting to investigate before gcc 4.3 stabilization. Unfortunately I don't know ppc64 assembly yet and building pygtk is a major pain on ps3 (gcc uses swap extensively and build takes a huge amount of time).

Portage 2.2_rc23 (default-linux/ppc/ppc64/2007.0/64bit-userland/desktop/970, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.29-rc4-02873-g2eb4b97 ppc64)
=================================================================
System uname: Linux-2.6.29-rc4-02873-g2eb4b97-ppc64-Cell_Broadband_Engine,_altivec_supported-with-glibc2.3
Timestamp of tree: Sat, 07 Mar 2009 12:30:01 +0000
app-shells/bash:     3.2_p39
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r8
sys-apps/baselayout: 1.12.12
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
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.27-r2
ACCEPT_KEYWORDS="ppc64"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mcpu=cell -mtune=cell -mabi=altivec"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -mcpu=cell -mtune=cell -mabi=altivec"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks fixpackages nostrip parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="ru_RU.UTF-8"
LDFLAGS=""
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
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/portage/local/layman/lxde /usr/portage/local/layman/cell"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl alsa altivec berkdb bluetooth cairo cdr cli cracklib crypt dbus dri dvd dvdr eds emboss encode fam fbcon firefox fortran gdbm gif gpm gstreamer gtk hal iconv isdnlog jpeg kde ldap lzma mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly ogg openmp pam pcre perl png ppc64 pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl ssl svg tcpd truetype unicode vorbis wifi xml xorg xulrunner xv zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev mach64 mga nv r128 radeon s3 vega vga"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Sebastian Luther (few) 2009-06-02 13:32:43 UTC
*** Bug 272214 has been marked as a duplicate of this bug. ***
Comment 4 Sebastian Luther (few) 2009-06-02 13:36:54 UTC
More info present now. Assigning to maintainer and CC'ing toolchain and ppc64 since it might be a misscompilation.
Comment 5 Siarhei Siamashka 2009-07-18 12:49:08 UTC
A small update to this bug if anybody is interested. The problem is somewhere in the huge autogenerated file 'gtk.c' (4MB, 120K lines). I had a hope to use a new '#pragma GCC optimize' gcc 4.4 feature to bisect this file and pinpoint the place where the invalid code is generated. But the bug is not reproducible with gcc 4.4.0-r1 anymore.

That said, when compiling this huge file, my PS3 swap quite heavily and it takes insane amount of time to build pygtk. So it is not very productive for me to do any kind of experiments with this bug.

Let's hope that gcc 4.4 stabilizes soon on ppc64 :-)
Comment 6 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-07-27 09:58:56 UTC
what about pygtk 2.14 ?
Comment 7 Siarhei Siamashka 2009-08-15 06:38:43 UTC
(In reply to comment #6)
> what about pygtk 2.14 ?

For me this problem is reproducible with any version of pygtk in portage and any gcc 4.3.x (just tested 4.3.4 too).

But I would surely like to get a confirmation from somebody else. Because this looks like a rather serious problem and showstopper on ppc64, unless it only happens in my configuration (maybe running gcc in low memory conditions somehow triggers it, and having enough memory would solve it).

On the other hand, gcc 4.4 seems to generate much faster code for cell PPU (up to ~20% speedup or even more on some applications when compared to gcc 4.3 without "-fno-schedule-insns" workaround). So I'm not going to go back to 4.3 anyway.
Comment 8 Pacho Ramos gentoo-dev 2010-07-17 14:01:38 UTC
Maybe we could close this now that gcc-4.4 is in stable... :-/
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2010-07-17 14:04:28 UTC
(In reply to comment #8)
> Maybe we could close this now that gcc-4.4 is in stable... :-/
> 

you are mistaken, ppc* doesnt have gcc-4.4 stable
Comment 10 Pacho Ramos gentoo-dev 2010-07-17 14:07:27 UTC
True :-|, sorry for the noise
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2010-07-18 16:58:26 UTC
(In reply to comment #10)
> True :-|, sorry for the noise
> 

now it is :)

closing as solved by gcc-4.4