Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292820 - 'emerge -puvD system' fails with InvalidAtom: <unprintable InvalidAtom object>
Summary: 'emerge -puvD system' fails with InvalidAtom: <unprintable InvalidAtom object>
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 288499
  Show dependency tree
 
Reported: 2009-11-11 18:23 UTC by Juergen Rose
Modified: 2010-01-24 03:43 UTC (History)
0 users

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


Attachments
handle invalid slot (invalid_slot.patch,892 bytes, patch)
2009-11-12 23:36 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2009-11-11 18:23:36 UTC
'emerge -puvD system' fails with':
root@inspironM12:/usr/src/test(64)# emerge -puvD gnome 

These are the packages that would be merged, in order:

Calculating dependencies... done!
Traceback (most recent call last):
  File "/usr/bin/emerge", line 42, in <module>
    retval = emerge_main()
...
  File "/usr/lib/portage/pym/portage/dep.py", line 541, in __init__
    raise InvalidAtom(self)
InvalidAtom: <unprintable InvalidAtom object>

'emerge --sync' does not solve the issue.
'emerge -pvD system' works.

Reproducible: Always




root@inspironM12:/usr/src/test(69)# emerge --info      
Portage 2.1.7.4 (default/linux/x86/10.0/desktop, gcc-4.4.2, glibc-2.11-r0, 2.6.31-gentoo-r5 i686)
=================================================================
System uname: Linux-2.6.31-gentoo-r5-i686-Intel-R-_Atom-TM-_CPU_Z520_@_1.33GHz-with-gentoo-2.0.1
Timestamp of tree: Wed, 11 Nov 2009 16:30:01 +0000
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.5.4-r3, 2.6.4, 3.1.1-r1
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
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/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=core2 -mtune=generic -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j2"
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"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi administrator afs aiglx alsa amrr ao aotuv apache2 asf aspell atlas auctex audacious audiofile automount bash-completion beagle berkdb bjam blas bluetooth bonobo boo boost branding bzip2 c++ cairo cardbus cdda cddb cdf cdio cdparanoia cdr cgi chm cli consolekit corba cracklib cran crypt cups curl cxx daap dbus dga dia divx djvu dlloader dmi dns doc dri ds3490 dts dv dvb dvd dvdr dvi dxr3 dynagraph eds effects elf emacs emboss encode epiphany evo examples exif expat extra extras fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx fuse galago garmin gd gdal gdbm geolocation geos gif gimp gimpprint ginac git glade glib glitz gml gmp gnokii gnome gnome-keyring gnuplot gnutls gphoto2 gpm graphics graphviz gs gsl gsm gstreamer gtk guile hal hardened harness hddtemp hdf hdf5 hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb ipod ipv6 irda irmc ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kde kerberos kexi keyring kpathsea kvm ladspa lame lapack laptop latex lcms ldap libffi libgda libnotify libsamplerate lirc lm_sensors lua lzo lzw mad maildir mailwrapper math matroska mikmod mmx mmxext mng mod modules mono motif mozdevelop mozilla mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mplayer mtp mudflap musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp pae pam pcre pda pdf perl pipechan plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio python qhull qt3 qt3support qt4 quicktime readline reflection reiserfs rhythmbox rle rpc rrdcgi rrdtool samba sasl science sdl server session slang slp smbclient smp sndfile snmp soup sox speex spell spl sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg sysfs szip t1lib tcl tcpd tex theora threads thunar thunderbird tidy tiff tk tntc truetype unicode usb userlocales utempter v4l2 vorbis wav webdav webdav-serf webkit wifi win32codecs wmf wxwidgets x264 x86 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" 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="keyboard mouse                 synaptics               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" USERLAND="GNU" VIDEO_CARDS="intel vesa" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Zac Medico gentoo-dev 2009-11-11 21:32:20 UTC
(In reply to comment #0)
> Calculating dependencies... done!
> Traceback (most recent call last):
>   File "/usr/bin/emerge", line 42, in <module>
>     retval = emerge_main()
> ...
>   File "/usr/lib/portage/pym/portage/dep.py", line 541, in __init__
>     raise InvalidAtom(self)
> InvalidAtom: <unprintable InvalidAtom object>

You've omitted the most important part of the traceback. Please post the whole thing.
Comment 2 Juergen Rose 2009-11-12 10:26:30 UTC
root@inspironM12:/usr/src/test(70)# emerge -puvD system

These are the packages that would be merged, in order:

Calculating dependencies... done!
Traceback (most recent call last):
  File "/usr/bin/emerge", line 42, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1384, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/actions.py", line 276, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5357, in backtrack_depgraph
    myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5375, in _backtrack_depgraph
    success, favorites = mydepgraph.select_files(myfiles)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 1754, in select_files
    return self._resolve(myfavorites)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 1877, in _resolve
    if not self._create_graph():
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 714, in _create_graph
    if not self._pop_disjunction(allow_unsatisfied):
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 1408, in _pop_disjunction
    pkg, dep_root, dep_priority, dep_string, allow_unsatisfied):
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 1210, in _add_pkg_dep_string
    strict=strict, priority=dep_priority)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 2047, in _select_atoms_highest_available
    myroot=root, trees=trees)
  File "/usr/lib/portage/pym/portage/__init__.py", line 8239, in dep_check
    use_binaries=use_binaries, myroot=myroot, trees=trees)
  File "/usr/lib/portage/pym/portage/__init__.py", line 7764, in _expand_new_virtuals
    matches = portdb.match_pkgs(x.without_use)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5275, in match_pkgs
    return [self._cpv_pkg_map[cpv] for cpv in self.match(atom)]
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5160, in match
    pkg, existing = self._depgraph._select_package(self._root, atom)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 2341, in _select_pkg_highest_available
    ret = self._select_pkg_highest_available_imp(root, atom, onlydeps=onlydeps)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 2399, in _select_pkg_highest_available_imp
    onlydeps=onlydeps):
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 2314, in _iter_match_pkgs
    installed=installed, onlydeps=onlydeps)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 2756, in _pkg
    root_config=root_config, type_name=type_name)
  File "/usr/lib/portage/pym/_emerge/Package.py", line 47, in __init__
    self.slot_atom = portage.dep.Atom("%s:%s" % (self.cp, slot))
  File "/usr/lib/portage/pym/portage/dep.py", line 541, in __init__
    raise InvalidAtom(self)
InvalidAtom: <unprintable InvalidAtom object>
Comment 3 Zac Medico gentoo-dev 2009-11-12 23:36:28 UTC
Created attachment 210092 [details, diff]
handle invalid slot

Save as /tmp/invalid_slot.patch and apply as follows:

  patch /usr/lib/portage/pym/_emerge/Package.py /tmp/invalid_slot.patch
Comment 4 Juergen Rose 2009-11-13 10:34:35 UTC
Thanks,

the patch solved my former problem, but if I now try 'emerge -puvDt world', I get:
root@inspironM12:/usr/src/test(96)# emerge -puvDt world

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[nomerge      ] app-text/texlive-2008  USE="X doc extra graphics jadetex png pstricks science truetype xml -cjk -context -cyrillic -detex -dvi2tty -dvipdfm -games -humanities -latex3 -music -omega -publishers -tex4ht -xetex -xindy" LINGUAS="de fr -af -ar -bg -bn -bo -cs -cy -da -el -en -en_GB -eo -es -et -fi -ga -he -hi -hr -hsb -hu -hy -id -is -it -ja -ko -la -ml -mn -nl -no -pl -pt -ro -ru -sk -sl -sr -sv -ta -th -tr -uk -vi -zh" 
[nomerge      ]  dev-texlive/texlive-htmlxml-2008  USE="doc -source" 
[nomerge      ]   dev-texlive/texlive-latex-2008-r2  USE="doc -source" 
[ebuild     U ]    dev-tex/luatex-0.44.0 [0.43.0] USE="doc" 7,190 kB
[nomerge      ] dev-util/git-1.6.5.2  USE="bash-completion blksha1 cgi curl doc emacs gtk iconv perl subversion threads tk webdav -cvs (-ppcsha1) -xinetd" 
[nomerge      ]  dev-util/subversion-1.6.6  USE="apache2 bash-completion berkdb doc emacs extras gnome-keyring java kde nls perl python sasl webdav-neon webdav-serf -ctypes-python -debug -dso -ruby -test -vim-syntax" 
[nomerge      ]   dev-libs/cyrus-sasl-2.1.23-r1  USE="berkdb crypt java kerberos ldap mysql pam postgres sqlite ssl -authdaemond -gdbm -ntlm_unsupported_patch -sample -srp -urandom" 
[nomerge      ]    virtual/mysql-5.0 
[nomerge      ]     dev-db/mysql-5.0.84-r1  USE="community embedded perl ssl -berkdb -big-tables -cluster -debug -extraengine -latin1 -max-idx-128 -minimal -profiling (-selinux) -static" 
[nomerge      ]      dev-perl/DBD-mysql-4.01.2 
[nomerge      ]       dev-perl/DBI-1.609 
[ebuild  N    ]        virtual/perl-File-Spec-3.29  0 kB

Total: 2 packages (1 upgrade, 1 new), Size of downloads: 7,190 kB

!!! The following update has been skipped due to unsatisfied dependencies:

virtual/perl-File-Spec:0

!!! All ebuilds that could satisfy "~dev-lang/perl-5.10.1" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/perl-5.10.1 (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Torsten Veller <tove@gentoo.org> (20 Sep 2009)
# Add perl-5.10 masks (#280724)

I don't understand, which virtual/perl-File-Spec-3.30 requires perl-5.10.1.
virtual/perl-File-Spec-3.29 should be installed.

Regards
Comment 5 Zac Medico gentoo-dev 2009-11-13 11:30:39 UTC
(In reply to comment #4)
> Thanks,

Thanks for testing.

> I don't understand, which virtual/perl-File-Spec-3.30 requires perl-5.10.1.
> virtual/perl-File-Spec-3.29 should be installed.

The dependency looks like this:

  RDEPEND=|| ( ~dev-lang/perl-5.10.1 ~perl-core/File-Spec-3.30 )

You need to make sure that ~perl-core/File-Spec-3.30 is not masked.
For testing, try this:

  emerge -p '~perl-core/File-Spec-3.30'
Comment 6 Zac Medico gentoo-dev 2009-11-16 01:19:06 UTC
This is fixed in portage-2.1.7.5 and 2.2_rc50.
Comment 7 Juergen Rose 2009-11-25 12:33:23 UTC
The issue is still present for me with -2.1.7.6:
rose@inspironM12 ~ $ qlist -Iv portage
....
sys-apps/portage-2.1.7.6

rose@inspironM12 ~ $ emerge -pvuDN world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-lang/lua-5.1.4-r3 [5.1.4-r2] USE="deprecated emacs readline -static" 0 kB
[ebuild     U ] sys-fs/udev-147-r1 [147] USE="devfs-compat extras (-selinux) -test" 0 kB
[ebuild     U ] net-dialup/ppp-2.4.4-r25 [2.4.4-r24] USE="gtk ipv6 pam -activefilter -atm -dhcp -eap-tls -mppe-mppc -radius" 0 kB
[ebuild     U ] app-editors/vim-core-7.2.303 [7.2.264-r1] USE="acl bash-completion nls -livecd" 397 kB
[ebuild     U ] gnome-extra/polkit-gnome-0.95 [0.94] USE="doc examples -debug" 0 kB
[ebuild     U ] net-misc/networkmanager-0.7.2 [0.7.1_p20090824] USE="doc gnutls -avahi -connection-sharing -dhclient -dhcpcd -nss -resolvconf" 0 kB
[ebuild     U ] app-editors/gvim-7.2.303 [7.2.264] USE="acl bash-completion gnome gpm gtk motif nls perl python (-aqua) -cscope -debug -netbeans -nextaw -ruby" 0 kB
[ebuild     U ] media-video/totem-2.28.4 [2.28.1] USE="bluetooth doc galago lirc nautilus nsplugin python youtube -debug -iplayer (-tracker)" 0 kB
[ebuild     U ] net-nds/openldap-2.4.19-r1 [2.4.19] USE="berkdb crypt gnutls icu ipv6 kerberos minimal odbc perl samba sasl slp ssl tcpd -cxx -debug -experimental -iodbc -overlays (-selinux) -smbkrb5passwd -syslog" 0 kB
[ebuild     U ] gnome-base/gnome-control-center-2.28.1-r1 [2.28.1] USE="eds -debug" 0 kB

Total: 10 packages (10 upgrades), Size of downloads: 397 kB

!!! The following update has been skipped due to unsatisfied dependencies:

virtual/perl-File-Spec:0

!!! All ebuilds that could satisfy "~dev-lang/perl-5.10.1" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/perl-5.10.1 (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Torsten Veller <tove@gentoo.org> (20 Sep 2009)
# Add perl-5.10 masks (#280724)


(dependency required by "virtual/perl-File-Spec-3.30" [ebuild])

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Comment 8 Juergen Rose 2009-11-25 12:33:49 UTC
I still have issues.
Comment 9 Zac Medico gentoo-dev 2009-11-25 20:30:30 UTC
(In reply to comment #7)
That looks similar to bug 293730 which is supposed to be fixed in portage-2.1.7.6, so it seems like a different issue. Please try this to see if File-Spec-3.30 is masked:

  emerge -p ~perl-core/File-Spec-3.30
Comment 10 Zac Medico gentoo-dev 2010-01-24 03:43:17 UTC
Please file a new bug if you have any remaining issues.