Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 510270 - sys-apps/portage - emerge -uDNa world - IndexError: tuple index out of range
Summary: sys-apps/portage - emerge -uDNa world - IndexError: tuple index out of range
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: AMD64 Linux
: Normal normal with 1 vote (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
: 509480 510514 512702 518558 524180 (view as bug list)
Depends on:
Blocks: 155723 484436
  Show dependency tree
 
Reported: 2014-05-13 22:06 UTC by timo.brd
Modified: 2015-03-28 18:54 UTC (History)
10 users (show)

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


Attachments
log of emerge -uDNdp world (emerge.log.xz,233.38 KB, application/x-xz)
2014-05-13 22:10 UTC, timo.brd
Details
emerge -Du world --debug output (emerge -Du world.txt.xz,143.10 KB, application/x-xz)
2014-05-16 23:32 UTC, Maciej Mrozowski
Details
_solve_non_slot_operator_slot_conflicts: fix bug #510270 (_solve_.slot_conflicts-fix-bug-510270.patch,5.50 KB, patch)
2014-09-16 18:12 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description timo.brd 2014-05-13 22:06:55 UTC
I updated from amd64 to ~amd64 and now portage seems to have problems with "emerge -uDNa world"

This error is still reproducible with portage-9999.

Check the attachment for further details.
Comment 1 timo.brd 2014-05-13 22:10:30 UTC
Created attachment 376870 [details]
log of emerge -uDNdp world
Comment 2 timo.brd 2014-05-13 22:10:46 UTC
Portage 2.2.10_p25 (python 3.3.5-final-0, default/linux/amd64/13.0/desktop, gcc-4.7.3, glibc-2.19, 3.10.32-gentoo x86_64)
=================================================================
System uname: Linux-3.10.32-gentoo-x86_64-Intel-R-_Core-TM-_i3-3227U_CPU_@_1.90GHz-with-gentoo-2.2
KiB Mem:     3772308 total,    543040 free
KiB Swap:     995992 total,    939312 free
Timestamp of tree: Tue, 13 May 2014 15:30:01 +0000
ld GNU ld (GNU Binutils) 2.24
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.2_p47
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.6-r1, 3.2.5-r3, 3.3.5, 3.4.0
dev-util/cmake:           2.8.12.2
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4, 1.14.1
sys-devel/binutils:       2.24-r2
sys-devel/gcc:            4.7.3-r1, 4.8.2
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.14 (virtual/os-headers)
sys-libs/glibc:           2.19
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -Os -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /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"
CXXFLAGS="-march=native -Os -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://de-mirror.org/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb bindist bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt css cxx dbus dga dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gpm iconv icu ipv6 jpeg lame lcms mad mmx mng modules mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds python qt3support qt4 readline sdl session sna spell sse sse2 sse3 ssl ssse3 startup-notification svg tcpd threads tiff truetype udev udisks unicode upower usb v4l vim-syntax vorbis wifi wxwidgets x264 xcb xml xv xvid zlib" ABI_X86="64" 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" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="intel" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 3 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-05-13 22:12:47 UTC
Could you, please, attach logs as plain text?
Comment 4 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-05-13 22:13:54 UTC
Sorry, it's big. )
Comment 5 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-05-13 22:16:38 UTC
I'm not from portage herd, but could you attach emerge -uNDvp @world output?

As at least I can not see what you call problem in this log.
Comment 6 Arfrever Frehtes Taifersar Arahesis 2014-05-13 22:20:15 UTC
Reporter meant:

Traceback (most recent call last):
  File "/usr/bin/emerge", line 50, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1041, in emerge_main
    return run_action(emerge_config)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 4062, in run_action
    emerge_config.args, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 320, in action_build
    settings, trees, myopts, myparams, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 8406, in backtrack_depgraph
    myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 8438, in _backtrack_depgraph
    success, favorites = mydepgraph.select_files(myfiles)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 3096, in select_files
    return self._select_files(args)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 3432, in _select_files
    return self._resolve(myfavorites)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 3587, in _resolve
    self.altlist()
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 6232, in altlist
    self._resolve_conflicts()
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 6359, in _resolve_conflicts
    self._process_slot_conflicts()
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 1212, in _process_slot_conflicts
    self._solve_non_slot_operator_slot_conflicts()
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 1130, in _solve_non_slot_operator_slot_co
    forced.add(nodes[0])
IndexError: tuple index out of range
Comment 7 timo.brd 2014-05-13 22:48:08 UTC
The error seems not to show up every time. I fired up "for ((i=0; i<=10; i++)); do emerge -uNDvp @world &> emerge.log.${i}; done" and see the Traceback error in 4 out of 10 Files.
Comment 8 Sebastian Luther (few) 2014-05-14 04:22:07 UTC
(In reply to timo.brd from comment #7)
> The error seems not to show up every time. I fired up "for ((i=0; i<=10;
> i++)); do emerge -uNDvp @world &> emerge.log.${i}; done" and see the
> Traceback error in 4 out of 10 Files.

Please add --debug and attach one of the logs where it fails.
Comment 9 Brian Dolbec (RETIRED) gentoo-dev 2014-05-16 23:24:35 UTC
*** Bug 510514 has been marked as a duplicate of this bug. ***
Comment 10 Maciej Mrozowski gentoo-dev 2014-05-16 23:32:48 UTC
Created attachment 377096 [details]
emerge -Du world --debug output

There you go.
Comment 11 Sebastian Luther (few) 2014-06-08 11:07:26 UTC
*** Bug 512702 has been marked as a duplicate of this bug. ***
Comment 12 Sebastian Luther (few) 2014-06-08 11:12:09 UTC
Unfortunately the log doesn't contain enough information to find the problem.

I added some more debug output here:
https://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=057aba82c112c3933560d83d20fcfc971fc471da

@Anyone who can reproduce the crash: Please attach a (compressed) debug log using portage-9999:

emerge <your options> --debug &> debug.log
Comment 13 headcrabextra 2014-06-21 09:59:39 UTC
Happens to me too - both on latest ~amd64 version and on 9999 version. However this only happens if I launch emerge with --ask option, but everything's fine with --pretend.
Comment 14 Sebastian Luther (few) 2014-06-21 10:12:03 UTC
(In reply to headcrabextra from comment #13)
> Happens to me too - both on latest ~amd64 version and on 9999 version.
> However this only happens if I launch emerge with --ask option, but
> everything's fine with --pretend.

Please attach the log showing the crash with --debug added. See comment 12.
Comment 15 headcrabextra 2014-06-21 22:53:56 UTC
(In reply to Sebastian Luther (few) from comment #14)
> (In reply to headcrabextra from comment #13)
> > Happens to me too - both on latest ~amd64 version and on 9999 version.
> > However this only happens if I launch emerge with --ask option, but
> > everything's fine with --pretend.
> 
> Please attach the log showing the crash with --debug added. See comment 12.

https://mega.co.nz/#!rNw0xK7J!AA7XRuUeKFzLuTmZLe59T30_yKhABBtWhi2xdZbVlQg
Comment 16 Joshua Kinard gentoo-dev 2014-06-22 03:43:16 UTC
(In reply to headcrabextra from comment #15)
> (In reply to Sebastian Luther (few) from comment #14)
> > Please attach the log showing the crash with --debug added. See comment 12.
> 
> https://mega.co.nz/#!rNw0xK7J!AA7XRuUeKFzLuTmZLe59T30_yKhABBtWhi2xdZbVlQg

He said *attach* the log, not put it on some kind of pastebin site and then put the link here.
Comment 17 headcrabextra 2014-06-22 03:44:05 UTC
(In reply to Joshua Kinard from comment #16)
> (In reply to headcrabextra from comment #15)
> > (In reply to Sebastian Luther (few) from comment #14)
> > > Please attach the log showing the crash with --debug added. See comment 12.
> > 
> > https://mega.co.nz/#!rNw0xK7J!AA7XRuUeKFzLuTmZLe59T30_yKhABBtWhi2xdZbVlQg
> 
> He said *attach* the log, not put it on some kind of pastebin site and then
> put the link here.

bugs.gentoo.org allows attachment of files below 1000 Kb
Comment 18 Sebastian Luther (few) 2014-06-23 19:32:50 UTC
(In reply to headcrabextra from comment #17)
> 
> bugs.gentoo.org allows attachment of files below 1000 Kb

Thank you for the log. In the future compress large logs using some reasonable tool (bzip2, xz, ...).

A workaround for this bug is to disable autounmask using --autounmask=n.
Comment 19 Zac Medico gentoo-dev 2014-08-23 05:33:03 UTC
*** Bug 518558 has been marked as a duplicate of this bug. ***
Comment 20 Sebastian Luther (few) 2014-08-23 05:52:39 UTC
The problem here is that autounmask changes some use flag and then later notices that it could't do that because some other package relies on the old value. The result is that one of the packages it pulled in, suddenly has an unsatisfied dependency. The slot conflict resolver can't deal with that. And there's no point in fixing that (if there's even a meaningful way to do that). If such an autounmask conflict occurs we're going to restart without autounmask anyway. So the fix is to skip slot conflict resolution if we're going to restart because of autounmask breakage. There's some variable to check for that.
Comment 21 Zac Medico gentoo-dev 2014-09-16 07:29:09 UTC
In the following branch, there's a test case that reproduces this bug:

	https://github.com/zmedico/portage/tree/bug_510270
Comment 22 Zac Medico gentoo-dev 2014-09-16 18:12:30 UTC
Created attachment 384880 [details, diff]
_solve_non_slot_operator_slot_conflicts: fix bug #510270

This fixes an IndexError in _solve_non_slot_operator_slot_conflicts which occurred when none of the conflict packages matched a particular atom. The typically means that autounmask broke a USE-dep, but it could also be due to the slot not matching due to multislot (bug #220341). Either way, don't try to solve this conflict. Instead, force all of the associated conflict nodes into the graph so that they are protected from removal by the conflict solver.
Comment 23 Zac Medico gentoo-dev 2014-09-16 21:36:08 UTC
This is in git now, for release in 2.2.13:

https://github.com/gentoo/portage/commit/38d9d0d3aa260c29b0a49ad0933e425e8e729b07
Comment 24 Zac Medico gentoo-dev 2014-09-17 14:54:39 UTC
This is fixed in 2.2.13.
Comment 25 Zac Medico gentoo-dev 2014-10-01 15:19:37 UTC
*** Bug 524180 has been marked as a duplicate of this bug. ***
Comment 26 Zac Medico gentoo-dev 2015-03-28 18:54:44 UTC
*** Bug 509480 has been marked as a duplicate of this bug. ***