From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20050128 Firefox/1.0 Description of problem: I was using ulimit -v to avoid processes allocating too much memory and thrashing the system to death. I underestimated how much memory yum would need, and so it died with a MemoryError, which sounds a bit scary (could mean memory parity error!). I think the error message could be clearer, i.e. "Out of memory". Version-Release number of selected component (if applicable): yum-2.1.12-0.fc3 How reproducible: Always Steps to Reproduce: 1. ulimit -v 50000 2. yum install xchat xen kernel-xen0 kernel-xenU Actual Results: Setting up Install Process Setting up Repo: development repomd.xml 100% |=========================| 1.1 kB 00:00 Setting up Repo: jpackage-fedora repomd.xml 100% |=========================| 903 B 00:00 Setting up Repo: jpackage repomd.xml 100% |=========================| 903 B 00:00 Setting up Repo: base repomd.xml 100% |=========================| 1.1 kB 00:12 Setting up Repo: updates-released http://klid.dk/homeftp/fedora/linux/core/updates/3/i386/repodata/repomd.xml: [Errno 4] IOError: HTTP Error 403: Forbidden Trying other mirror. repomd.xml 100% |=========================| 951 B 00:00 Setting up Repo: freshrpms repomd.xml 100% |=========================| 951 B 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 1.0 MB 00:17 MD Read : ################################################## 3719/3719 Traceback (most recent call last): File "/usr/bin/yum", line 7, in ? yummain.main(sys.argv[1:]) File "/usr/share/yum-cli/yummain.py", line 68, in main result, resultmsgs = base.doCommands() File "/usr/share/yum-cli/cli.py", line 387, in doCommands return self.installPkgs() File "/usr/share/yum-cli/cli.py", line 700, in installPkgs self.doRepoSetup() File "/usr/share/yum-cli/cli.py", line 80, in doRepoSetup self.doSackSetup() File "/usr/lib/python2.3/site-packages/yum/__init__.py", line 138, in doSackSetup self.repos.populateSack() File "/usr/lib/python2.3/site-packages/yum/repos.py", line 207, in populateSack dobj = repo.cacheHandler.getPrimary(xml, csum) File "/usr/lib/python2.3/site-packages/yum/mdcache.py", line 103, in getPrimary return self._getGeneric('metadata', location, checksum) File "/usr/lib/python2.3/site-packages/yum/mdcache.py", line 97, in _getGeneric try: self._pickle(piklfile, databank) File "/usr/lib/python2.3/site-packages/yum/mdcache.py", line 53, in _pickle try: cPickle.dump(obj, outfh, cPickle.HIGHEST_PROTOCOL) MemoryError Expected Results: The last line should read "MemoryError: Out of memory" or similar Additional info: This is using python-2.3.4-11
On the other side of this silly use of memory by yum on a yum update of a fresh FC3 x86_64 install. This machine with eight GB of memory and yum attempts to swap the systems eyeballs out. If I set ulimit -v to be a bit less than physical memory yum runs quickly. It is unclear to me if this is because FC3 is old enough to have 1.3GB of download or if yum just goes hog wild when it has lots of memory. I never had the time to see if it would ever finish so I do not know if it would error out from a bug... In my case there is no lack of memory just some obvious unbounded use of memory. For anyone impacted by this a solution is to set ulimit -v to a couple GB. There realy is a bug under this RFE.
I got a similar problem when I try to upgrade FC3 to FC4 on a x64 system. My computer has 1.5GB physcal memory and a 2GB swap partition. yum allways crashed with a out of memory error after running about 3hour. After I read this message, I do a ulimit -v 1024000 and now yum runns fine.
This shouldn't really be a problem with current versions of yum