Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 254114 - sys-apps/portage-2.1.6.4: Unable to emerge more than 1 package a time
Summary: sys-apps/portage-2.1.6.4: Unable to emerge more than 1 package a time
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
: 254686 (view as bug list)
Depends on:
Blocks: 210077 254662
  Show dependency tree
 
Reported: 2009-01-07 16:41 UTC by Sven Cranshoff
Modified: 2009-01-12 21:54 UTC (History)
1 user (show)

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


Attachments
handle missing counter (missing_counter.patch,1.76 KB, patch)
2009-01-07 22:41 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Cranshoff 2009-01-07 16:41:24 UTC
I'm unable to emerge more than 1 package a time.
When emerging 1+ packages,the second package fails with the following output:

...
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment
   bin/nano
ecompressdir: bzip2 -9 /usr/share/man
ecompressdir: bzip2 -9 /usr/share/info

>>> Installing app-editors/nano-2.1.7-r1
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = _emerge.emerge_main()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 14387, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 13483, in action_build
    retval = mergetask.merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9999, in merge
    rval = self._merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10241, in _merge
    self._main_loop()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10376, in _main_loop
    self._poll_loop()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 8930, in _poll_loop
    handler(f, event)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2238, in _output_handler
    self._unregister_if_appropriate(event)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1753, in _unregister_if_appropriate
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3010, in _post_phase_exit
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1992, in _task_exit_handler
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1943, in _default_final_exit
    return self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2631, in _build_exit
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1943, in _default_final_exit
    return self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10221, in _build_exit
    self._schedule()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 8843, in _schedule
    return self._schedule_tasks()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10388, in _schedule_tasks
    if q.schedule():
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 8735, in schedule
    task.start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1639, in start
    self._start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3822, in _start
    self.returncode = self.merge.merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3789, in merge
    retval = self._install_task.install()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2715, in install
    rval = merge.execute()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3069, in execute
    blockers=self.find_blockers)
  File "//usr/lib64/portage/pym/portage/__init__.py", line 6162, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2813, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2821, in _merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2172, in treewalk
    blockers = self._blockers()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9683, in get_blockers
    return self._find_blockers_with_lock(new_pkg, acquire_lock=0)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9700, in _find_blockers_with_lock
    new_pkg, acquire_lock=acquire_lock):
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 4068, in findInstalledBlockers
    cached_blockers.counter != long(inst_pkg.metadata["COUNTER"]):
ValueError: invalid literal for long() with base 10: ''



Reproducible: Always

Steps to Reproduce:
1.emerge portage nano



Actual Results:  
...
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment
   bin/nano
ecompressdir: bzip2 -9 /usr/share/man
ecompressdir: bzip2 -9 /usr/share/info

>>> Installing app-editors/nano-2.1.7-r1
Traceback (most recent call last):
  File "/usr/bin/emerge", line 40, in <module>
    retval = _emerge.emerge_main()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 14387, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 13483, in action_build
    retval = mergetask.merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9999, in merge
    rval = self._merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10241, in _merge
    self._main_loop()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10376, in _main_loop
    self._poll_loop()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 8930, in _poll_loop
    handler(f, event)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2238, in _output_handler
    self._unregister_if_appropriate(event)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1753, in _unregister_if_appropriate
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3010, in _post_phase_exit
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1992, in _task_exit_handler
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1943, in _default_final_exit
    return self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2631, in _build_exit
    self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1943, in _default_final_exit
    return self.wait()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1658, in wait
    self._wait_hook()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1731, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10221, in _build_exit
    self._schedule()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 8843, in _schedule
    return self._schedule_tasks()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 10388, in _schedule_tasks
    if q.schedule():
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 8735, in schedule
    task.start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 1639, in start
    self._start()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3822, in _start
    self.returncode = self.merge.merge()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3789, in merge
    retval = self._install_task.install()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 2715, in install
    rval = merge.execute()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 3069, in execute
    blockers=self.find_blockers)
  File "//usr/lib64/portage/pym/portage/__init__.py", line 6162, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2813, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2821, in _merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "//usr/lib64/portage/pym/portage/dbapi/vartree.py", line 2172, in treewalk
    blockers = self._blockers()
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9683, in get_blockers
    return self._find_blockers_with_lock(new_pkg, acquire_lock=0)
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 9700, in _find_blockers_with_lock
    new_pkg, acquire_lock=acquire_lock):
  File "//usr/lib64/portage/pym/_emerge/__init__.py", line 4068, in findInstalledBlockers
    cached_blockers.counter != long(inst_pkg.metadata["COUNTER"]):
ValueError: invalid literal for long() with base 10: ''



Expected Results:  
>>> Installing app-editors/nano-2.1.7-r1
 * More helpful info about nano, visit the GDP page:
 * http://www.gentoo.org/doc/en/nano-basics-guide.xml
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.

 * Regenerating GNU info directory index...
 * Processed 155 info files.


emerge -info:

Portage 2.1.6.4 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r1, 2.6.28-gentoo x86_64)
=================================================================
System uname: Linux-2.6.28-gentoo-x86_64-Intel-R-_Core-TM-2_CPU_6400_@_2.13GHz-with-glibc2.2.5
Timestamp of tree: Sun, 04 Jan 2009 08:35:01 +0000
app-shells/bash: 3.2_p33
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python: 2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake: 2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox: 1.2.18.1-r2
sys-devel/autoconf: 2.13, 2.61-r2
sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils: 2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool: 1.5.26
virtual/os-headers: 2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo "
LANG="C"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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/portage/local/layman/desktop-effects /usr/portage/local/layman/java-overlay /usr/portage/local/layman/vmware /usr/portage/local/layman/mozilla /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 automount berkdb bluetooth branding bzip2 cairo cdda cddb cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam ffmpeg firefox flac fortran gcj gdbm gif glitz gnome gphoto2 gpm gstreamer gtk hal iconv ipv6 isdnlog java jpeg ldap libnotify mad midi mikmod mmap mmx mmxext mp3 mpeg mudflap multilib nautilus ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3support quicktime readline reflection sdl session spell spl sqlite sse sse2 ssl ssse3 startup-notification svg sysfs tcpd theora tiff truetype unicode usb vorbis x264 xcb xine xml xorg xulrunner xv xvid xvmc 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Zac Medico gentoo-dev 2009-01-07 22:41:23 UTC
Created attachment 177716 [details, diff]
handle missing counter

If this patch is saved as /tmp/missing_counter.patch, then it can be applied as follows:

  patch /usr/lib/portage/pym/_emerge/__init__.py /tmp/missing_counter.patch
Comment 2 Sven Cranshoff 2009-01-08 18:35:42 UTC
(In reply to comment #1)
> Created an attachment (id=177716) [edit]
> handle missing counter
> 
> If this patch is saved as /tmp/missing_counter.patch, then it can be applied as
> follows:
> 
>   patch /usr/lib/portage/pym/_emerge/__init__.py /tmp/missing_counter.patch
> 

Applied the patch and it works like a charm:-)

Comment 3 Zac Medico gentoo-dev 2009-01-12 20:17:00 UTC
Thanks for testing. This is fixed in 2.1.6.5 and 2.2_rc21.
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-01-12 21:44:39 UTC
*** Bug 254686 has been marked as a duplicate of this bug. ***
Comment 5 Andrew Malota 2009-01-12 21:54:01 UTC
(In reply to comment #4)
> *** Bug 254686 has been marked as a duplicate of this bug. ***
> 

(In reply to comment #1)
> Created an attachment (id=177716) [edit]
> handle missing counter
> 
> If this patch is saved as /tmp/missing_counter.patch, then it can be applied as
> follows:
> 
>   patch /usr/lib/portage/pym/_emerge/__init__.py /tmp/missing_counter.patch
> 

patch fixes problem on portage-2.2-r20 as well