Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 240288 - sys-apps/portage-2.2_rc11 throws cannot allocate memory errors when merging any package with a file collision.
Summary: sys-apps/portage-2.2_rc11 throws cannot allocate memory errors when merging a...
Status: RESOLVED WORKSFORME
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-06 14:40 UTC by Chad A. Simmons
Modified: 2009-06-26 20:05 UTC (History)
1 user (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 Chad A. Simmons 2008-10-06 14:40:30 UTC
While this was happening I watched system memory and at no point did the system run very low. I have 2GB of memory and 1 GB swap online. I just emerged gcc 4.3.2 without issues this morning.

chadgentoo Desktop # portageq match / "" | wc -l
1772


>>> Installing net-analyzer/gnome-netstatus-2.12.2
* checking 84 files for package collisions
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). Add either "collision-protect" or "protect-
 * owned" to FEATURES in make.conf if you would like the merge to abort
 * in cases like this. See the make.conf man page for more information
 * about these features. You can use a command such as `portageq owners /
 * <filename>` to identify the installed package that owns a file. If
 * portageq reports that only one package owns a file then do NOT file a
 * bug report. A bug report is only useful if it identifies at least two
 * or more packages that are known to install the same file(s). If a
 * collision occurs and you can not explain where the file came from then
 * you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). Once again, please do NOT file
 * a bug report unless you have completely understood the above message.
 *
 * Detected file collision(s):
 *
 *      /usr/share/gnome/help/gnome-netstatus/C/figures/gnome-netstatus-error.png
 *      /usr/share/gnome/help/gnome-netstatus/C/figures/gnome-netstatus-txrx.png
 *      /usr/share/gnome/help/gnome-netstatus/C/figures/gnome-netstatus-rx.png
 *      /usr/share/gnome/help/gnome-netstatus/C/figures/gnome-netstatus-tx.png
 *      /usr/share/gnome/help/gnome-netstatus/C/figures/gnome-netstatus-disconn.png
 *      /usr/share/gnome/help/gnome-netstatus/C/figures/gnome-netstatus-idle.png
 *
 * Searching all installed packages for file collisions...
 *
 * Press Ctrl-C to Stop
 *
 * None of the installed packages claim the file(s).
 *
 * Package 'net-analyzer/gnome-netstatus-2.12.2' merged despite file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 18, in <module>
    retval = _emerge.emerge_main()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 13879, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 12973, in action_build
    retval = mergetask.merge()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 9454, in merge
    rval = self._merge()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 9712, in _merge
    self._main_loop()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 9840, in _main_loop
    self._poll_loop()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 8427, in _poll_loop
    handler(f, event)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2173, in _output_handler
    self.wait()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1626, in wait
    self._wait_hook()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1699, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2858, in _post_phase_exit
    self.wait()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1626, in wait
    self._wait_hook()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1699, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1931, in _task_exit_handler
    self.wait()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1626, in wait
    self._wait_hook()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1699, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1882, in _default_final_exit
    return self.wait()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1626, in wait
    self._wait_hook()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1699, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2497, in _build_exit
    self.wait()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1626, in wait
    self._wait_hook()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1699, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 3510, in _ebuild_exit
    self.wait()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1626, in wait
    self._wait_hook()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1699, in _wait_hook
    self._exit_listener_stack.pop()(self)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 9692, in _build_exit
    self._schedule()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 8340, in _schedule
    return self._schedule_tasks()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 9848, in _schedule_tasks
    if q.schedule():
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 8232, in schedule
    task.start()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1607, in start
    self._start()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 3586, in _start
    self.returncode = self.merge.merge()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 3553, in merge
    retval = self._install_task.install()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2580, in install
    rval = merge.execute()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2917, in execute
    blockers=self.find_blockers)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 5982, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 3538, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 3546, in _merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 3032, in treewalk
    self, mydbapi, myebuild, "preinst")
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 9242, in _dblink_ebuild_phase
    ebuild_phase.start()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1607, in start
    self._start()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2815, in _start
    self._start_task(ebuild_process, self._ebuild_exit)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1895, in _start_task
    task.start()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 1607, in start
    self._start()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2770, in _start
    SpawnProcess._start(self)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2074, in _start
    master_fd, slave_fd = self._pipe(fd_pipes)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 2775, in _pipe
    portage._create_pty_or_pipe(copy_term_size=stdout_pipe)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 2976, in _create_pty_or_pipe
    set_term_size(rows, columns, slave_fd)
  File "/usr/lib64/portage/pym/portage/output.py", line 413, in set_term_size
    spawn(cmd, env=os.environ, fd_pipes={0:fd})
  File "/usr/lib64/portage/pym/portage/process.py", line 220, in spawn
    pid = os.fork()
OSError: [Errno 12] Cannot allocate memory


Reproducible: Always

Steps to Reproduce:
1. emerge any package that will cause a collision warning
2. traceback after collision warning 
3.

Actual Results:  
portage traced back

Expected Results:  
merge package to filesystem

chadgentoo ~ # emerge --info
Portage 2.2_rc11 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r0, 2.6.26-gentoo-r1 x86_64)
=================================================================
System uname: Linux-2.6.26-gentoo-r1-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4400+-with-glibc2.2.5
Timestamp of tree: Mon, 06 Oct 2008 07:00:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.4.4-r15, 2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r8
dev-util/confcache:  0.4.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/NX/etc /usr/NX/home /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
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/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=k8 -msse3 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans user-sandbox userfetch userpriv"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://www.gtlib.gatech.edu/pub/gentoo ftp://mirror.iawnet.sandia.gov/pub/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://cudlug.cudenver.edu/gentoo/ http://gentoo.mirrors.pair.com/ http://open-systems.ufl.edu/mirrors/gentoo http://mirror.datapipe.net/gentoo http://mirror.mcs.anl.gov/pub/gentoo/ http://gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.cites.uiuc.edu/pub/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ http://lug.mtu.edu/gentoo/"
LANG="en_US.utf-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en_US en"
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/sunrise"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac aalib acct acl acpi adns aften aio alsa amd64 amr amrnb amrwb apache2 apm archive asf athena bash-completion berkdb binary-drivers blas blender-game bluetooth branding bullet bzip2 cairo caps captury cblas ccache cdda cddb cdparanoia cdr cgi chroot cli color-console commercial connectionstatus cracklib crypt css cups curl cvs daap dbus divx djbfft dnd dri dts dvd dvdnav dvdr dvdread eds emboss emerald encode escreen esd evo exif extensions extrafilters fam fame fat ffmpeg fftw firefox firefox3 flac fortran gcrypt gd gdbm geoip gif git glitz glx gmedia gnome gnutls gpm graphviz gstreamer gtk hal hddtemp hdri hpn httpd iconv ieee1394 imagemagick ipod isdnlog java joystick jpeg kde kdeenablefinal kdehiddenvisibility kdenablefinal kerberos lame lcms ldap libcaca libnotify lm_sensors logitech-mouse lzo mad md5sum mdnsresponder-compat midi mikmod mjpeg mmap mmx mmxext moonlight mp2 mp3 mp4 mpeg mpeg2 mpi mplayer mplayer-bin mpm-worker mudflap multilib mysql ncurses netmeeting network network-cron nls nptl nptlonly nsplugin nvidia nxclient ocaml offensive ogg openal openexr opengl openmp pam passwdqc pcre pdf perl php pic player plugins png ppds pppd python qt3 qt3support qt4 quicktime rdesktop readline realmedia reflection reiserfs rtc rtsp sdl session sftplogging shout smi smp sms snmp spell spl sqlite3 sse sse2 ssh ssl startup-notification stream subversion svg sysfs tcpd theora threads tiff tk toolbar truetype unicode upnp usb visualization vlm vorbis winpopup wmp x264 xcb xcomposite xml xml2 xorg xprint xscreensaver xulrunner xv xvid xvmc yv12 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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev mouse keyboard joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Chad A. Simmons 2009-06-26 20:05:34 UTC
Can't reproduce anymore closing.