this small piece of code produce a segfault on gentoo with AMD64, but not on other distributions. the pb (according to gdb) is with the foreach call. Code: import gtk def func(model, path, iter): print model[iter][0] model = gtk.TreeStore(str) model.append(None, ['qwe']) model.foreach(func) Reproducible: Always Steps to Reproduce: 1.run script 2. 3. Actual Results: Segmentation fault Expected Results: display text: qwe
I will add info about my configuration emerge info Portage 2.0.53_rc5 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6. 12-gentoo-r9 x86_64) ================================================================= System uname: 2.6.12-gentoo-r9 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0_pre9 dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/ share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb / usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/ distributions/gentoo" LANG="pl_PL" LC_ALL="pl_PL" LINGUAS="pl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage-r" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 3dnowex 7zip S3TC X acpi alsa amuled avi bitmap-fonts browserplugin bzip2 bzlib cdparanoia cdr cdrom chroot clamav codecs cpudetection crypt css cups curl dvd dvdr dvdread eds emboss encode esd exif fam ffmpeg firefox flac ftp gd gdbm gif gimpprint gnome gpm gstreamer gtk gtk2 i8x0 imagemagick imlib ipv6 java jpeg jpeg2k kadu-modules kadu-voice libclamav lm_sensors lns lzo lzw lzw-tiff mad matroska mjpeg mozsvg mp3 mpeg mpeg4 mplayer ncurses nls no-old- linux nocardbus nptl nsplugin nvidia ogg oggvorbis opengl operanom2 pam pdf pdflib perl png python qt quicktime readline real remote rtc sblive sdl slang sms spell ssl stats svg tcltk tcpd tga tiff truetype truetype-fonts type1-fonts unicode usb userlocales v4l2 vorbis wmf xanim xine xml2 xosd xpm xv xvid zlib linguas_pl userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
amd64 team: can you guys reproduce?
I can't reproduce this here: Versions of relevant packages: --- [ebuild R ] x11-libs/gtk+-2.8.6 -debug -doc +jpeg +tiff 0 kB [ebuild U ] dev-python/pygtk-2.8.0-r1 [2.8.0] -doc +gnome +opengl 0 kB Output of code snippet: --- darktama@disoft-dc ~ $ python test.py qwe output of test emerge info: darktama@disoft-dc ~ $ emerge info Portage 2.0.53_rc5 (default-linux/amd64/2005.1, gcc-4.0.2, glibc-2.3.5.20050722-r0, 2.6.13-hardened x86_64) ================================================================= System uname: 2.6.13-hardened x86_64 AMD Athlon(tm) 64 Processor 3500+ Gentoo Base System version 1.12.0_pre9 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg ccache distlocks multilib-strict sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.iinet.net.au/pub/Gentoo/ http://mirror.pacific.net.au/linux/Gentoo/" LANG="de_DE" LINGUAS="en de" MAKEOPTS="-j2" PKGDIR="/home/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/scratch /usr/local/overlays/modular_xorg" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="amd64 X a52 aac aalib acl acpi alsa apache2 audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzlib cairo calendar cdparanoia cdr crypt cups curl dbus dlloader dri dvd dvdr dvdread eds emboss encode esd exif expat fam fbcon ffmpeg firefox flac foomaticdb ftp gif glitz glut gnome gpm gstreamer gtk gtk2 guile hal hardened imagemagick imlib inotify ipv6 ithreads jack java javascript jikes jpeg kde kerberos krb4 lcms ldap libwww lm_sensors lzw lzw-tiff mad mmap mng mono motif mp3 mpeg mpi msn ncurses nls nocd nptl nptlonly nvidia offensive ogg oggvorbis openal opengl pam pdflib perl png postgres python qt quicktime readline recode samba sasl sdl session speex spell ssl subversion sysvipc tcltk tcpd theora threads tiff truetype truetype-fonts type1 type1-fonts unicode usb userlocales vcd videos vorbis xine xinerama xml xml2 xosd xpm xprint xsl xv xvid xvmc zlib linguas_en linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS
I can reproduce the bug with the stable pygtk (2.6.1) on amd64. I believe it causes gajim to crash when receiving a message, which is quite annoying for a IM program ! ;-) I will upgrade pygtk to 2.8.0-r2 to see if it fixes the problem, but not right now at it appears to pull in a lot of new stuff.
I can also reproduce the bug. I tried pygtk-2.8.0-r2, -r1 and 2.6.2 and use gtk+-2.6.8 and python-2.4.2 I recompiled both pygtk and gtk+ with CFLAGS="-march=athlon64 -O2 -pipe", which did not help either. Re gajim: That's another bug, see http://trac.gajim.org/ticket/982
BTW, I forgot to give my gtk+ version, so i repeat : i can reproduce the bug with : [ebuild R ] x11-libs/gtk+-2.6.8 +doc +jpeg -static +tiff 0 kB [ebuild R ] dev-python/pygtk-2.6.1 +doc +gnome +opengl 0 kB Mostly +amd64 system, with CFLAGS="-march=k8 -O2 -pipe" OT: (In reply to comment #5) > Re gajim: That's another bug, see http://trac.gajim.org/ticket/982 I've seen this, and in fact it really is the same bug : switching to a non-animated iconset solves the problem with gajim because then there is no "foreach" call.
I'm currently with such configurations of pygtk and gtk emerge -pv gtk+ pygtk These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] x11-libs/gtk+-2.8.6 -debug -doc +jpeg +tiff 0 kB [ebuild R ] dev-python/pygtk-2.8.0-r2 -doc +opengl 0 kB Problem still exists (problem with using gajim and qoud libet - vary annoying)
Following to achive configuration like #3 i upgraded my gcc to 4.0.2, and then reemerged gtk, python and pygtk.now it looks: emerge info Portage 2.0.53_rc6 (default-linux/amd64/2005.1, gcc-4.0.2, glibc-2.3.5-r2, 2.6.12-gentoo-r9 x86_64) ================================================================= System uname: 2.6.12-gentoo-r9 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0_pre9 dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="pl_PL" LC_ALL="pl_PL" LINGUAS="pl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage-r /usr/local/zugaina-portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 3dnowex 7zip S3TC X acpi alsa amuled avi bitmap-fonts browserplugin bzip2 bzlib cdparanoia cdr cdrom chroot clamav codecs cpudetection crypt css cups curl dbus dvd dvdr dvdread eds emboss encode esd exif fam ffmpeg firefox flac ftp gd gdbm gif gimpprint gnome gpm gstreamer gtk gtk2 i8x0 imagemagick imlib ipv6 java jpeg jpeg2k kadu-modules kadu-voice libclamav lm_sensors lns lzo lzw lzw-tiff mad matroska mjpeg mozsvg mp3 mpeg mpeg4 mplayer ncurses nls no-old-linux nocardbus nptl nsplugin nvidia ogg oggvorbis opengl operanom2 pam pdf pdflib perl png python qt quicktime rar readline real remote rtc sblive sdl slang sms spell sqlite ssl stats subtitles svg tcltk tcpd tga tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales v4l2 vorbis wmf xanim xine xml2 xosd xpm xv xvid zlib linguas_pl userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS emerge -pv gtk+ python pygtk These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] x11-libs/gtk+-2.8.6 -debug -doc +jpeg +tiff 0 kB [ebuild R ] dev-lang/python-2.4.2 +X -berkdb -bootstrap -build -doc +gdbm +ipv6 +ncurses -nocxx +readline +ssl +tcltk -ucs2 0 kB [ebuild R ] dev-python/pygtk-2.8.0-r2 -doc +opengl 0 kB Now there IS NO PROBLEM with foreach call. Everything works fine. So the buggy is gtk+/pygtk build with gcc-3.x
x11-libs/gtk+-2.8.8 dev-python/pygtk-2.6.1 dev-lang/python-2.4.2 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912509960944 (LWP 1041)] 0x00002aaaac7d00ef in gtk_tree_model_foreach_helper (model=0x6dc120, iter=0x7fffff8d21e0, path=0x6df980, func=0x60ec8348e5894855, user_data=0x7fffff8d2240) at gtktreemodel.c:1511 1511 if ((* func) (model, path, iter, user_data)) (gdb) bt #0 0x00002aaaac7d00ef in gtk_tree_model_foreach_helper (model=0x6dc120, iter=0x7fffff8d21e0, path=0x6df980, func=0x60ec8348e5894855, user_data=0x7fffff8d2240) at gtktreemodel.c:1511 #1 0x00002aaaac7d0267 in IA__gtk_tree_model_foreach (model=0x6dc120, func=0x60ec8348e5894855, user_data=0x7fffff8d2240) at gtktreemodel.c:1557 #2 0x00002aaaac39f0c6 in _wrap_gtk_tree_model_foreach (self=0x2aaaaab234b0, args=0x2aaaaab27350) at gtktreeview.override:2024 #3 0x00002aaaaac28781 in PyCFunction_Call (func=0x2aaaaab7e1b8, arg=0x2aaaaab27350, kw=0x0) at methodobject.c:73 #4 0x00002aaaaac6f372 in call_function (pp_stack=0x7fffff8d2458, oparg=1) at ceval.c:3558 #5 0x00002aaaaac6be1f in PyEval_EvalFrame (f=0x556f90) at ceval.c:2163 #6 0x00002aaaaac6d890 in PyEval_EvalCodeEx (co=0x2aaaaab22dc0, globals=0x502770, locals=0x502770, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ceval.c:2736 #7 0x00002aaaaac66fb9 in PyEval_EvalCode (co=0x2aaaaab22dc0, globals=0x502770, locals=0x502770) at ceval.c:484 #8 0x00002aaaaac94a50 in run_node (n=0x2aaaaab13270, filename=0x2aaaaacc5404 "<stdin>", globals=0x502770, locals=0x502770, flags=0x7fffff8d2830) at pythonrun.c:1265 #9 0x00002aaaaac93686 in PyRun_InteractiveOneFlags (fp=0x2aaaab7d7b20, filename=0x2aaaaacc5404 "<stdin>", flags=0x7fffff8d2830) at pythonrun.c:762 #10 0x00002aaaaac933d2 in PyRun_InteractiveLoopFlags (fp=0x2aaaab7d7b20, filename=0x2aaaaacc5404 "<stdin>", flags=0x7fffff8d2830) at pythonrun.c:695 #11 0x00002aaaaac9327f in PyRun_AnyFileExFlags (fp=0x2aaaab7d7b20, filename=0x2aaaaacc5404 "<stdin>", closeit=0, flags=0x7fffff8d2830) at pythonrun.c:658 #12 0x00002aaaaac9b773 in Py_Main (argc=1, argv=0x7fffff8d29a8) at main.c:484 #13 0x0000000000400873 in main (argc=1, argv=0x7fffff8d29a8) at python.c:23 Portage 2.0.53 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.12-gentoo-r6 x86_64) ================================================================= System uname: 2.6.12-gentoo-r6 x86_64 AMD Opteron(tm) Processor 242 Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=opteron -ggdb3 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/fax /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=opteron -ggdb3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg cvs debug distlocks keeptemp keepwork multilib-strict noauto nostrip sandbox sfperms test" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LC_ALL="en_GB.UTF-8" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org" USE="amd64 X acpi alsa audiofile avi berkdb bitmap-fonts bonobo bzip2 chipcard crypt cups curl debug dvd eds emboss encode esd ethereal expat fam flac font-server foomaticdb fortran gcj gd gdbm gif glut gmp gnome gpm gsm gstreamer gtk gtk2 gtkhtml guile hbci idn imagemagick imlib ipv6 java jp2 jpeg junit kde lcms ldap libwww lzw lzw-tiff mad mhash mng motif mozilla mp3 mpeg mysql ncurses network nls nptl nptlonly objc objc-gc ofx ogg oggvorbis opengl pam pcre pdflib perl png postgres python qt quicktime quotes readline sdl spell ssl svg tcltk tcpd tiff truetype truetype-fonts type1-fonts udev usb userlocales utf8 vorbis wxgtk1 xml xml2 xpm xrandr xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
seems to no longer be an issue