On Fri, 2006-10-27 at 02:01 -0400, Joe Todaro wrote: > > Hi, > > Has anyone ever seen a yum/depsolve-related error like this before in > their *plague-0.5.0* build environment, and then tried *killing* the > job that had caused it? This was problem three of three which I had > mentioned in my previous posts. And it too had surfaced last week > while we started stress-testing our buildsystem. Actually, the error > you see below in itself was *not* the problem (we knew how to fix > that) -- rather, it was the fact that we were *unable* to kill the job > (plague-client kill 204) that was responsible for causing the error.
Fix has been committed to HEAD, attaching the patch for your convenience. Thanks! Dan > ====== THE ERROR ====== > 204 (fuse-sshfs): Starting tag 'fuse-sshfs-1_6-4_ocrhel4' on target > 'oc-rhel4-pre' > 204 (fuse-sshfs): Requesting depsolve... > 204 (fuse-sshfs): Starting depsolve for arches: ['x86_64', 'i386', > 'i686']. > Exception in thread PackageJob: 204/fuse-sshfs: > Traceback (most recent call last): > File "/usr/lib64/python2.3/threading.py", line 436, in __bootstrap > self.run() > File "/usr/share/plague/server/PackageJob.py", line 86, in run > self._pkg_job.process() > File "/usr/share/plague/server/PackageJob.py", line 753, in process > if func(): > File "/usr/share/plague/server/PackageJob.py", line 618, in > _stage_depsolve > if self._arch_deps_solved(arch) == False: > File "/usr/share/plague/server/PackageJob.py", line 562, in > _arch_deps_solved > except yum.Errors.PackageSackError, exc: > AttributeError: 'module' object has no attribute 'PackageSackError' > > ====== OUR FIX ====== > We updated line 680 in the *die* method of the > */usr/share/plague/server/PackageJob.py * module. Here's the patch: > > > Again, can someone please review the fix.. We just want to make sure > that it won't come back to *haunt* us later on / or possibly even be > *masking* another problem. Thank you. > > -Joe > -- > Fedora-buildsys-list mailing list > Fedora-buildsys-list@redhat.com > https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
Index: ChangeLog =================================================================== RCS file: /cvs/fedora/extras-buildsys/ChangeLog,v retrieving revision 1.212 diff -u -r1.212 ChangeLog --- ChangeLog 31 Oct 2006 16:46:20 -0000 1.212 +++ ChangeLog 31 Oct 2006 17:57:03 -0000 @@ -1,5 +1,12 @@ 2006-10-31 Dan Williams <[EMAIL PROTECTED]> + * server/PackageJob.py + - Fixes for older python versions that don't have yum.Errors.* but + yum-utils' repomd module instead + - Fixes for Yum 3.x logging changes + +2006-10-31 Dan Williams <[EMAIL PROTECTED]> + Patches by Joe Todaro <[EMAIL PROTECTED]> * server/PackageJob.py - (_kill_all_archjobs): don't traceback when killing jobs in depsolve_wait, Index: server/PackageJob.py =================================================================== RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v retrieving revision 1.55 diff -u -r1.55 PackageJob.py --- server/PackageJob.py 31 Oct 2006 16:46:21 -0000 1.55 +++ server/PackageJob.py 31 Oct 2006 17:57:04 -0000 @@ -32,12 +32,19 @@ from plague import DebugUtils import yum +use_repomd = False try: import repomd.mdErrors + use_repomd = True except ImportError: pass -from yum.logger import Logger +use_yum_logger = False +try: + from yum.logger import Logger + use_yum_logger = True +except ImportError: + pass CVS_CMD = "/usr/bin/cvs" MAKE_CMD = "/usr/bin/make" @@ -497,10 +504,17 @@ depsolve_root = os.path.dirname(yum_config) + '/' base.doConfigSetup(fn=yum_config, root=depsolve_root) + threshold = 0 if DEBUG: threshold = 5 - base.log = Logger(threshold=threshold, file_object=sys.stdout) + if use_yum_logger == True: + # For yum 2.x and earlier + base.log = logger.Logger(threshold=threshold, file_object=sys.stdout) + else: + # Use python logging module (yum 3.x and later) + base.doLoggingSetup(threshold, 1) + try: base.doRepoSetup() except yum.Errors.RepoError, exc: @@ -528,14 +542,18 @@ for dep in srpm.requiresList(): if dep.startswith("rpmlib("): continue - try: - pkg = base.returnPackageByDep(dep) - except repomd.mdErrors.PackageSackError, exc: - raise DepError(str(exc)) - except yum.Errors.PackageSackError, exc: - raise DepError(str(exc)) - except yum.Errors.YumBaseError, exc: - raise DepError(str(exc)) + if use_repomd: + try: + pkg = base.returnPackageByDep(dep) + except repomd.mdErrors.PackageSackError, exc: + raise DepError(str(exc)) + else: + try: + pkg = base.returnPackageByDep(dep) + except yum.Errors.PackageSackError, exc: + raise DepError(str(exc)) + except yum.Errors.YumBaseError, exc: + raise DepError(str(exc)) except DepError, exc: self._last_depsolve_error = str(exc) print "%s (%s/%s): Depsolve Error: %s" % (self.uid, self.package, arch, str(exc))
-- Fedora-buildsys-list mailing list Fedora-buildsys-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-buildsys-list