Rhythmbox segfaults with python 2.6.5-r2. I tried to downgrad python to 2.6.5-r1 and rhythmbox worked fine so I guess the problem comes from python. Reproducible: Always Steps to Reproduce: 1.emerge python 2.6.5-r2 2.launch rhythmbox 3. Actual Results: Rhythmbox doesn't start. Expected Results: Rhythmbox should work fine. emerge --info : Portage 2.1.8.3 (default/linux/amd64/10.0/desktop/gnome, gcc-4.4.3, glibc-2.11.1-r0, 2.6.33-gentoo-r1 x86_64) ================================================================= System uname: Linux-2.6.33-gentoo-r1-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.0.1 Timestamp of tree: Mon, 03 May 2010 17:30:02 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.1_p5 dev-java/java-config: 2.1.11 dev-lang/python: 2.6.5-r2, 3.1.2-r3 dev-python/pycrypto: 2.1.0 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.8.1-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1 sys-devel/gcc: 4.4.3-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA dlj-1.1" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /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/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=native -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="fr_FR.UTF-8" LC_ALL="fr_FR.UTF-8" LDFLAGS="-Wl,-O1" LINGUAS="fr fr_FR" MAKEOPTS="-j5" 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="/var/lib/layman/gnome /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 amr applet aspell avahi branding bzip2 cairo cdda cddb cdr cli consolekit crypt cups custom-optimization cxx dbus device-mapper dri dts dv dvd dvdr emboss enca encode exif extras ffmpeg firefox flac fortran fts3 gallium gd gdbm gdu gif gimp glitz gmail gnome gnome-keyring gphoto2 gstreamer gtk gtkhtml h323 howl-compat hunspell iconv id3tag imap jpeg jpeg2k laptop lcms ldap libburn libnotify libv4l2 live mad matroska mdnsresponder-compat mikmod mmap mmx mmxext mng modplug modules mp3 mp4 mpeg mudflap multilib musepack nautilus ncurses nls nptl nptlonly nsplugin ogg ogm opengl openmp optimization pam pango pch pcntl pcre pdf perl png policykit posix pppd python qt3support qt4 rar readline reflection sasl scanner sdl secure-delete session sift sip skins smp speex spell spl sqlite srt sse sse2 sse3 ssl ssse3 startup-notification strong-optimization svg symlink sysfs taglib tcpd theora tiff truetype udev unicode upnp usb v4l2 vorbis wav webkit wifi wma wmf wxwidgets x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="intel8x0" 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="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr fr_FR" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I'm having similar problems today after emerge -DuaN world this morning. This upgraded python from 2.6.5-r1 to 2.6.5-r2. rhythmbox isn't starting because it segfaults... Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7aca1e4 in rb_python_module_load_with_gil (module=0x981860) at rb-python-module.c:366 366 state = pyg_gil_state_ensure (); (gdb) bt #0 0x00007ffff7aca1e4 in rb_python_module_load_with_gil (module=0x981860) at rb-python-module.c:366 #1 0x00007ffff36d1b4c in IA__g_type_module_use (module=0x981860) at gtypemodule.c:257 #2 0x00007ffff7ac8954 in load_plugin_module (info=0x9e5320) at rb-plugins-engine.c:492 #3 0x00007ffff7ac8a88 in rb_plugins_engine_activate_plugin_real (info=0x9e5320, shell=0x79f220) at rb-plugins-engine.c:521 #4 0x00007ffff7ac8b41 in rb_plugins_engine_activate_plugin (info=0x9e5320) at rb-plugins-engine.c:541 #5 0x00007ffff7ac835f in rb_plugins_engine_load_cb (file=0x9cee60, dir=0, userdata=0x0) at rb-plugins-engine.c:316 #6 0x00007ffff7b4f295 in _uri_handle_recurse (dir=0x9cf220, cancel=0x0, handled=0x9b4720 = {...}, func= 0x7ffff7ac80db <rb_plugins_engine_load_cb>, user_data=0x0) at rb-file-helpers.c:811 #7 0x00007ffff7b4f2c3 in _uri_handle_recurse (dir=0x9cec20, cancel=0x0, handled=0x9b4720 = {...}, func= 0x7ffff7ac80db <rb_plugins_engine_load_cb>, user_data=0x0) at rb-file-helpers.c:814 #8 0x00007ffff7b4f375 in rb_uri_handle_recursively (uri=0xa07660 "file:///usr/lib64/rhythmbox/plugins", cancel=0x0, func= 0x7ffff7ac80db <rb_plugins_engine_load_cb>, user_data=0x0) at rb-file-helpers.c:850 #9 0x00007ffff7ac83af in rb_plugins_engine_load_dir (path=0xa6c9a0 "/usr/lib64/rhythmbox/plugins") at rb-plugins-engine.c:329 #10 0x00007ffff7ac83eb in rb_plugins_engine_load_all () at rb-plugins-engine.c:342 #11 0x00007ffff7ac8531 in rb_plugins_engine_init (shell=0x79f220) at rb-plugins-engine.c:375 #12 0x00007ffff7aa0c2c in rb_shell_constructed (object=0x79f220) at rb-shell.c:1556 #13 0x00007ffff36b6b0a in IA__g_object_newv (object_type=<value optimized out>, n_parameters=<value optimized out>, parameters=0x79f230) at gobject.c:1275 #14 0x00007ffff36b72c7 in IA__g_object_new_valist (object_type=8252256, first_property_name=0x0, var_args=0x7fffffffdab0) at gobject.c:1364 #15 0x00007ffff36b752c in IA__g_object_new (object_type=8252256, first_property_name=0x7ffff7b7efb2 "no-registration") at gobject.c:1086 #16 0x00007ffff7a9ec23 in rb_shell_new (no_registration=0, no_update=0, dry_run=0, b=0x0, playlists=0x0) at rb-shell.c:1115 #17 0x00000000004053ee in main (argc=1, argv=0x7fffffffddc8) at main.c:272
Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11.1-r0, 2.6.33-gentoo-r1-20100427-2256 x86_64) ================================================================= System uname: Linux-2.6.33-gentoo-r1-20100427-2256-x86_64-AMD_Phenom-tm-_II_X2_545_Processor-with-gentoo-2.0.1 Timestamp of tree: Mon, 03 May 2010 15:00:01 +0000 app-shells/bash: 4.1_p5 dev-java/java-config: 2.1.11 dev-lang/python: 2.6.5-r2, 3.1.2-r3 dev-python/pycrypto: 2.1.0 dev-util/cmake: 2.8.1-r1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1 sys-devel/gcc: 4.4.3-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -march=amdfam10 -ggdb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-pipe -march=amdfam10 -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages installsources news parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.wetzlmayr.com/ http://gentoo.mirrors.hoobly.com/ http://gentoo.osuosl.org/ http://gentoo.arcticnetwork.ca/ http://gentoo.netnitco.net" LANG="C" LDFLAGS="-Wl,-O1" LINGUAS="en_US" MAKEOPTS="-j1" 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="/var/lib/layman/kde-sunset /var/lib/layman/x11 /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X acl acpi aio alsa amd64 archive aspell bash-completion berkdb bzip2 cairo cdda cddb cdr cleartype cli consolekit cracklib crypt cscope custom-cflags custom-optimization cxx dbus device-mapper dga disk-partition dri dvdr emerald exif fam fbcondecor ffmpeg fortran fuse gdbm gdu gecko gif glitz gmp gnome gnome-keyring gnutls gphoto2 gpm gstreamer gtk hal iconv java java6 jpeg libffi libnotify lightning lm_sensors lzo mad mbrola mmap mmx modules mpeg mudflap multilib nautilus ncurses nls nptl nptlonly nsplugin opengl openmp optimized-qmake pam pcre perl playlist png policykit pppd python readline reflection replytolist samba secure-delete session sftp smp sound spell spl sse sse2 ssl startup-notification svg sysfs threads thumbnail tiff tk truetype udev unicode wmf xaw xcb xcomposite xinerama xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 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="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Re-emerging rhythmbox doesn't resolve the issue either.
I can reproduce this behavior (i'm not completly ~amd64 but the most core parts) 1. have media-sound/rhythmbox-0.12.8 (emerged Mon Apr 12 00:20:53 2010) 2. upgrade python from dev-lang/python-2.6.4-r1 (Sun Mar 7 19:14:50 2010) to dev-lang/python-2.6.5-r2 3. run "strace -s 1000 -f -vvv -o rhythmbox.strace /usr/bin/rhythmbox" and see http://pastebin.com/3H3tUKH0 I have no debugging symbols turned on, but will quickpck the current rhythmbox, reemergem, and test ... Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11.1-r0, 2.6.33-gentoo-r1-pandora.3 x86_64) ================================================================= System uname: Linux-2.6.33-gentoo-r1-pandora.3-x86_64-AMD_Phenom-tm-_II_X4_920_Processor-with-gentoo-2.0.1 Timestamp of tree: Mon, 03 May 2010 18:30:01 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] ccache version 2.4 [disabled] app-shells/bash: 4.0_p37 dev-java/java-config: 2.1.10 dev-lang/python: 2.6.5-r2 dev-python/pycrypto: 2.1.0_beta1 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.3.4, 4.4.3-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=amdfam10 -mcx16 -msahf -mpopcnt --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10 -mieee-fp -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /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/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=amdfam10 -mcx16 -msahf -mpopcnt --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10 -mieee-fp -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--binpkg-respect-use y" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://nash.fs.lmu.de/gentoo/" LDFLAGS="-Wl,-O1" LINGUAS="de en en_US" MAKEOPTS="-j8" 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/local/portage/layman/science /usr/local/portage/layman/gnome /usr/local/portage/layman/sunrise /usr/local/portage/layman/xmw /usr/local/portage/layman/x11" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X a52 aac aalib acl alsa amd64 ao apache2 bash-completion berkdb bluetooth bzip2 cairo cdda cddb cdparanoia cdr cgi cli consolekit cracklib crypt ctype cups curl cxx dbus dga djvu dri dts dv dvb dvd dvdr dvdread encode exif faac faad fbcon ffmpeg fftw flac fontconfig fortran gdbm gif gimp glut gnome gnome-keyring gnutls gphoto2 gpm gs gstreamer gtk iconv id3tag ieee1394 imagemagick introspection ipod ipv6 java java6 jbig joystick jpeg jpeg2k lame latex lcms libnotify libsamplerate lm_sensors lzma lzo mad mikmod mmap mmx mng modules mp3 mpeg mpi mplayer mudflap multilib mysql nas nautilus ncurses nls nptl nptlonly nsplugin ogg openal openexr opengl openmp pam pch pcre pdf perl png policykit postgres pppd python quicktime raw readline reflection rle samba sdl session smp speex spell spl sqlite sse sse2 ssl subversion svg symlink sysfs syslog taglib tcl tcpd theora threads tiff tk truetype unicode upnp usb vhosts vim-syntax vorbis wavpack webkit x264 xcb xine xinerama xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="intel-hda" 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="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
dev-lang/python-2.6.5-r2 contains some changes backported from 2.6 branch. These changes will be included in dev-lang/python-2.6.6. Behavior of given functions sometimes changes between micro releases of Python. The problem should be reported to media-sound/rhythmbox upstream.
Is it worth adding a python version requirement to the rhythmbox ebuilds until upstream releases a fix? So other users don't get the same problem? (In reply to comment #5) > dev-lang/python-2.6.5-r2 contains some changes backported from 2.6 branch. > These changes will be included in dev-lang/python-2.6.6. Behavior of given > functions sometimes changes between micro releases of Python. The problem > should be reported to media-sound/rhythmbox upstream. >
(In reply to comment #6) dev-lang/python-2.6.5-r2 is scheduled for stabilization soon and <dev-lang/python-2.6.5-r2:2.6 will be removed.
filed upstream https://bugzilla.gnome.org/show_bug.cgi?id=617587
(In reply to comment #8) > filed upstream https://bugzilla.gnome.org/show_bug.cgi?id=617587 > Thanks for reporting :-)
Arfrever identified http://dev.gentoo.org/~Arfrever/python-2.6-r79204.patch as source of the trouble and I could reproduce the problem on dev-lang/python-2.6.5-r1.
I recompiled Python 2.6(.4) with python-2.6-r79204.patch on Ubuntu 9.10. Rhythmbox crash with a segfault. pygobject_init() fails with a Python exception >>could not import gobject (error was: AssertionError("required version '2.8' not found on system",))<<. pygobject_init() result is NULL and _PyGObject_API is still NULL. So the next function using _PyGObject_API (eg. rb_python_module_load_with_gil()) will crash. rb_plugins_engine_init() -> rb_python_module_init_python() -> pygobject_init(). If pygobject_init() fails, rb_python_module_init_python() prints a warning and exit. The caller is unable to detect the error and will continue to use Python...
The crash occurs because of the following patch. I don't know if it's a Python bug. Anyway, Rhythmbox should improve its code handling pygobject_init() error. Index: Python/import.c =================================================================== --- Python/import.c (revision 79203) +++ Python/import.c (revision 79204) @@ -2744,8 +2744,6 @@ } else { /* No globals -- use standard builtins, and fake globals */ - PyErr_Clear(); - builtins = PyImport_ImportModuleLevel("__builtin__", NULL, NULL, NULL, 0); if (builtins == NULL)
Ok, understood: Rhythmbox calls the Python function pygtk.require("2.8") which fails. A Python error is set (assertion error from pygtk.py about the version). But Rhythmbox doesn't check PyObject_CallObject() result (on success, it should also call Py_DECREF() on the result to avoid a reference leak). *Thanks to* python-2.6-r79204.patch, the import machinery of Python doesn't swallow errors anymore and so init_pygobject() fail because of the previous error and raise a new error. The bug comes from Rhytmbox bug and was detected thanks to recent patches in Python (backported by Arfrever to Python 2.6.5 in Gentoo). Rhytmbox have to check the result of PyObject_CallObject(): destroy the result on success (Py_DECREF), or display the error. rb_plugins_engine_init() should also fail if rb_python_module_init_python() fails instead of ignoring rb_python_module_init_python() error and crash later.
Dear gnome herd, please revbump rhythmbox. Upstream postponed the "investgation" upon Python 2.6.6 release. Thanks to Arfrever we already have the cleaner error handling of 2.6.6 in our python-2.6.5-r2. If this goes goes stable soon - as Arfrever said earlier - literally _all_ versions of rhythmbox will break. This erroneous behavior was just tolerated by erlier python. Thanks, Michael --- rhythmbox-0.12.8.ebuild 2010-04-21 20:07:28.000000000 +0200 +++ rhythmbox-0.12.8-r1.ebuild 2010-05-05 02:28:40.000000000 +0200 @@ -8,6 +8,8 @@ DESCRIPTION="Music management and playback software for GNOME" HOMEPAGE="http://www.rhythmbox.org/" +SRC_URI="${SRC_URI} + http://bugzilla-attachments.gnome.org/attachment.cgi?id=160310 -> ${P}-python-2.6.6.patch" LICENSE="GPL-2" KEYWORDS="~amd64 ~x86" IUSE="+brasero cdr daap doc gnome-keyring hal ipod libnotify lirc musicbrainz mtp nsplugin python test udev upnp webkit" @@ -152,6 +154,9 @@ } src_prepare() { + #solved bug 318333 + epatch "${DISTDIR}"/${P}-python-2.6.6.patch + gnome2_src_prepare # disable pyc compiling
http://git.gnome.org/browse/rhythmbox/commit/?id=4394826f36fad0ad36ea773b6d4525dfcfcd389b
+*rhythmbox-0.12.8-r1 (05 May 2010) +*rhythmbox-0.12.6-r1 (05 May 2010) + + 05 May 2010; Gilles Dartiguelongue <eva@gentoo.org> + -rhythmbox-0.12.5-r2.ebuild, + -files/rhythmbox-0.12.5-fix-daap-plugin-linking.patch, + +rhythmbox-0.12.6-r1.ebuild, +rhythmbox-0.12.8-r1.ebuild, + +files/rhythmbox-0.12-python-initialization.patch: + Fix segfault with recent python, bug #318333. Clean up old revisions. + Bumped with the patch. Thanks for reporting.
Good job devs...very rapid response.