Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 318333 - media-sound/rhythmbox-0.12.8 fails to start with >=dev-lang/python-2.6.5-r2 (due to backport of r79204)
Summary: media-sound/rhythmbox-0.12.8 fails to start with >=dev-lang/python-2.6.5-r2 (...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2010-05-03 20:01 UTC by Julien Enche
Modified: 2010-05-10 14:34 UTC (History)
4 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 Julien Enche 2010-05-03 20:01:02 UTC
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
Comment 1 Dyweni 2010-05-03 20:20:25 UTC
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
Comment 2 Dyweni 2010-05-03 20:20:45 UTC
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

Comment 3 Dyweni 2010-05-03 20:21:50 UTC
Re-emerging rhythmbox doesn't resolve the issue either.
Comment 4 Michael Weber (RETIRED) gentoo-dev 2010-05-03 20:47:11 UTC
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
Comment 5 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-05-03 21:47:34 UTC
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.
Comment 6 Dyweni 2010-05-03 21:50:51 UTC
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.
> 

Comment 7 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-05-03 22:01:34 UTC
(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.
Comment 8 Michael Weber (RETIRED) gentoo-dev 2010-05-03 22:47:07 UTC
filed upstream https://bugzilla.gnome.org/show_bug.cgi?id=617587 
Comment 9 Pacho Ramos gentoo-dev 2010-05-04 18:34:00 UTC
(In reply to comment #8)
> filed upstream https://bugzilla.gnome.org/show_bug.cgi?id=617587 
> 

Thanks for reporting :-)
Comment 10 Michael Weber (RETIRED) gentoo-dev 2010-05-04 19:43:22 UTC
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.
Comment 11 Victor Stinner 2010-05-04 22:14:12 UTC
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...
Comment 12 Victor Stinner 2010-05-04 22:26:16 UTC
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)
Comment 13 Victor Stinner 2010-05-04 22:56:06 UTC
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.
Comment 14 Michael Weber (RETIRED) gentoo-dev 2010-05-05 00:47:33 UTC
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
Comment 15 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-05-05 13:37:52 UTC
http://git.gnome.org/browse/rhythmbox/commit/?id=4394826f36fad0ad36ea773b6d4525dfcfcd389b
Comment 16 Gilles Dartiguelongue (RETIRED) gentoo-dev 2010-05-05 22:50:42 UTC
+*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.
Comment 17 dE 2010-05-10 14:34:47 UTC
Good job devs...very rapid response.