[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fedora-buildsys-list
Subject:    Re: PATCH: plague-0.5.0: PackageJob.py:
From:       Joe Todaro <jstodaro () us ! ibm ! com>
Date:       2006-11-21 15:50:53
Message-ID: OFD5B5ABD9.CB125CBD-ON8525722D.005614A6-8525722D.0056F997 () us ! ibm ! com
[Download RAW message or body]

This is a multipart message in MIME format.
--=_alternative 0056D5818525722D_=
Content-Type: text/plain; charset="US-ASCII"

Dan Williams wrote on 11/19/2006 06:34:31 PM:

> On Fri, 2006-11-17 at 22:43 -0500, Joe Todaro wrote:
> > 
> > Dan Williams wrote on 11/13/2006 03:26:58 PM:
> > 
> > > On Sun, 2006-11-05 at 23:48 -0500, Joe Todaro wrote:
> > > > 
> > > > ---- PROBLEM # 1 ----  Depsolve step keeps crashing due to a typo
> > in
> > > > the script: 
> > > > 
> > > > 364 (fuse-sshfs): Starting depsolve for arches: ['x86_64',
> > 'i386']. 
> > > > Exception in thread PackageJob: 364/fuse-sshfs: 
> > > > [...snip...] 
> > > > > File "/usr/share/plague/server/PackageJob.py", line 513, in 
> > > > > _arch_deps_solved 
> > > > > base.log = logger.Logger(threshold=threshold,
> > > > file_object=sys.stdout) 
> > > > > NameError: global name 'logger' is not defined 
> > > 
> > > Fixed, thanks! 
> > 
> > My pleasure - glad to help. 
> > 
> > > 
> > > > 
> > > > ---- PROBLEM # 2 ---- Unable to kill any job that fails due to a
> > > > missing package/s in the yum repos: 
> > > > 
> > > > > File "/usr/share/plague/server/PackageJob.py", line 548, in
> > > > _arch_deps_solved 
> > > > > pkg = base.returnPackageByDep(dep) 
> > > > > File "__init__.py", line 1342, in returnPackageByDep 
> > > > > YumBaseError: No Package found for fuse-devel 
> > > 
> > > What version of yum do you have on this machine? 
> > 
> > yum-2.4.2-2 
> 
> Ok, can you do the following, so we can find out which module
> YumBaseError lives in in yum-2.4.2/yum-utils:
> 
> grep -r "YumBaseError" /usr/lib/python2.3/site-packages

$ grep -rn "YumBaseError" /usr/lib/python2.3/site-packages
/usr/lib/python2.3/site-packages/yum/__init__.py:174:            raise 
Errors.YumBaseError, 'Setting up TransactionSets before config class is 
up'
/usr/lib/python2.3/site-packages/yum/__init__.py:358:            raise 
Errors.YumBaseError, errstring
/usr/lib/python2.3/site-packages/yum/__init__.py:550:           callback, 
raise yum.Errors.YumBaseError on problems"""
/usr/lib/python2.3/site-packages/yum/__init__.py:650:           output 
based on callback, raise yum.Errors.YumBaseError on problems"""
/usr/lib/python2.3/site-packages/yum/__init__.py:1321: raise 
Errors.YumBaseError, 'Invalid versioned dependency string, try quoting 
it.'
/usr/lib/python2.3/site-packages/yum/__init__.py:1323: raise 
Errors.YumBaseError, 'Invalid version flag'
/usr/lib/python2.3/site-packages/yum/__init__.py:1337:        except 
Errors.YumBaseError, e:
/usr/lib/python2.3/site-packages/yum/__init__.py:1338:            raise 
Errors.YumBaseError, 'No Package found for %s' % depstring
/usr/lib/python2.3/site-packages/yum/__init__.py:1342:            raise 
Errors.YumBaseError, 'No Package found for %s' % depstring
/usr/lib/python2.3/site-packages/yum/__init__.py:1348:           If the 
list is empty, raise Errors.YumBaseError"""
/usr/lib/python2.3/site-packages/yum/__init__.py:1397: raise 
Errors.YumBaseError, 'Invalid versioned dependency string, try quoting 
it.'
/usr/lib/python2.3/site-packages/yum/__init__.py:1399: raise 
Errors.YumBaseError, 'Invalid version flag'
Binary file /usr/lib/python2.3/site-packages/yum/__init__.pyc matches
/usr/lib/python2.3/site-packages/yum/Errors.py:22:class 
YumBaseError(exceptions.Exception):
/usr/lib/python2.3/site-packages/yum/Errors.py:27:class 
LockError(YumBaseError):
/usr/lib/python2.3/site-packages/yum/Errors.py:29: 
YumBaseError.__init__(self)
/usr/lib/python2.3/site-packages/yum/Errors.py:33:class 
DepError(YumBaseError):
/usr/lib/python2.3/site-packages/yum/Errors.py:35: 
YumBaseError.__init__(self)
/usr/lib/python2.3/site-packages/yum/Errors.py:38:class 
RepoError(YumBaseError):
/usr/lib/python2.3/site-packages/yum/Errors.py:40: 
YumBaseError.__init__(self)
/usr/lib/python2.3/site-packages/yum/Errors.py:43:class 
ConfigError(YumBaseError):
/usr/lib/python2.3/site-packages/yum/Errors.py:45: 
YumBaseError.__init__(self)
/usr/lib/python2.3/site-packages/yum/Errors.py:48:class 
MiscError(YumBaseError):
/usr/lib/python2.3/site-packages/yum/Errors.py:50: 
YumBaseError.__init__(self)
/usr/lib/python2.3/site-packages/yum/Errors.py:53:class 
GroupsError(YumBaseError):
/usr/lib/python2.3/site-packages/yum/Errors.py:55: 
YumBaseError.__init__(self)
Binary file /usr/lib/python2.3/site-packages/yum/Errors.pyc matches
Binary file /usr/lib/python2.3/site-packages/yumex/yum24XBase.pyc matches
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:72:class YumexError( 
yum.Errors.YumBaseError ):
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:74: 
yum.Errors.YumBaseError.__init__( self )
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:615:        except 
yum.Errors.YumBaseError, e:
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:640:        except 
Errors.YumBaseError, e:
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:675: raise 
yum.Errors.YumBaseError( errstring )
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:685: raise 
yum.Errors.YumBaseError( errstring )
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:695: raise 
yum.Errors.YumBaseError( errstring )
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:724:            raise 
yum.Errors.YumBaseError( errstring )
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:800:        Will raise 
YumBaseError if there's a problem
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:817:#   raise 
yum.Errors.YumBaseError, \
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:832:      raise 
yum.Errors.YumBaseError(
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:843:      raise 
yum.Errors.YumBaseError, \
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:864:      raise 
yum.Errors.YumBaseError, \
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:870:  raise 
yum.Errors.YumBaseError, \
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:881:  raise 
yum.Errors.YumBaseError, errmsg
/usr/lib/python2.3/site-packages/yumex/yumexBase.py:885: raise 
yum.Errors.YumBaseError, errmsg
Binary file /usr/lib/python2.3/site-packages/yumex/yumexBase.pyc matches
/usr/lib/python2.3/site-packages/yumex/yum24XBase.py:44: InstallError = 
UpdateError = yum.Errors.YumBaseError

Line #'s included.

Thanks,
Joe

> 
> (or if you have python 2.4, use python2.4 instead of course).
> 
> Thanks,
> Dan
> 
> 
> > 
> > > The versions of the
> > > yum python libraries are a bit confusing here; and that's probably
> > where
> > > the error is coming from.  It appears that an unexpected error is
> > > getting thrown, and we need to catch that error.  However, I'm not
> > sure
> > > where exactly it's coming from to catch it.  Can you try to get this
> > > error again and then paste in about 10 lines of code from around the
> > > Line # in PackageJob.py that this backtrace comes from? (ie, line
> > 548
> > > here), and mark the line numbers too? 
> > 
> > 537             try: 
> > 538                 base.doSackSetup(archlist) 
> > 539             except yum.Errors.RepoError, exc: 
> > 540                 raise DepError(str(exc)) 
> > 541 
> > 542             for dep in srpm.requiresList(): 
> > 543                 if dep.startswith("rpmlib("): 
> > 544                     continue 
> > 545                 if use_repomd: 
> > 546                     try: 
> > 547                         pkg = base.returnPackageByDep(dep) 
> > 548                     except repomd.mdErrors.PackageSackError,
> > exc: 
> > 549                         raise DepError(str(exc)) 
> > 550                 else: 
> > 551                     try: 
> > 552                         pkg = base.returnPackageByDep(dep) 
> > 553                     except yum.Errors.PackageSackError, exc: 
> > 554                         raise DepError(str(exc)) 
> > 555                     except yum.Errors.YumBaseError, exc: 
> > 556                         raise DepError(str(exc)) 
> > 557         except DepError, exc: 
> > 558             self._last_depsolve_error = str(exc) 
> > 559             print "%s (%s/%s): Depsolve Error: %s" %
> > (self.uid, self.package, arch, str(exc)) 
> > 560             success = False 
> > 
> > > 
> > > The fix you posted for this hunk isn't the "correct" fix; 
> > 
> > Actually, it wasn't intended to "fix" the (YumBaseError) problem 
> > itself -- rather it was just intended to provide us with a means by 
> > which we'd be able to "recover* from the negative effects of the 
> > problem, which was a plague-server that wouldn't allow us to *kill* 
> > the associated buildjob because the buildjob wasn't in "waiting" 
> > state -- it was in "depsolve" which is where it got stuck. Anyway, 
> > recycling the plague-server did not help -- it just kept restarting 
> > the buildjob which just kept failing in the same place even after we 
> > downloaded the missing package (fuse-devel) to the yum repo and ran 
> > the createrepo command in-between plague-server restarts. 
> > 
> > > that would be
> > > to catch the exception and to re-throw it as a DepSolveError as is
> > done
> > > for the other 'execpt' blocks around there.
> > > 
> > > Cheers,
> > > Dan
> > > 
> > > > 
> > > > ---- PATCH ---- 
> > > > 
> > > > Here's the patch that resolved the above 2 problems for us: 
> > > > 
> > > > 
> > > > 
> > > > ----- REQUEST ---- 
> > > > 
> > > > Can someone please review it... especially the fix to PROBLEM # 2,
> > > > that could potentially be masking a bigger problem.. 
> > > > 
> > > > Here's the code for your convenience (...these are the updates we
> > made
> > > > to the _latest_ version of PackageJob.py): 
> > > > 
> > > > $ cd /usr/share/plague/server 
> > > > $ diff PackageJob.py PackageJob.py.working 
> > > > 513c513 
> > > > <                 base.log = logger.Logger(threshold=threshold,
> > > > file_object=sys.stdout) 
> > > > --- 
> > > > > base.log = Logger(threshold=threshold,
> > > > file_object=sys.stdout) 
> > > > 698c698 
> > > > <         if self._curstage == 'waiting': 
> > > > --- 
> > > > > if self._curstage in ['waiting', 'depsolve']: 
> > > > 
> > > > 
> > > > Thanks, 
> > > > Joe
> > > > --
> > > > Fedora-buildsys-list mailing list
> > > > Fedora-buildsys-list@redhat.com
> > > > https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
> > > 
> > > --
> > > Fedora-buildsys-list mailing list
> > > Fedora-buildsys-list@redhat.com
> > > https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
> > --
> > Fedora-buildsys-list mailing list
> > Fedora-buildsys-list@redhat.com
> > https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
> 
> --
> Fedora-buildsys-list mailing list
> Fedora-buildsys-list@redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-buildsys-list

--=_alternative 0056D5818525722D_=
Content-Type: text/html; charset="US-ASCII"


<br><tt><font size=2>Dan Williams wrote on 11/19/2006 06:34:31 PM:<br>
<br>
&gt; On Fri, 2006-11-17 at 22:43 -0500, Joe Todaro wrote:<br>
&gt; &gt; <br>
&gt; &gt; Dan Williams wrote on 11/13/2006 03:26:58 PM:<br>
&gt; &gt; <br>
&gt; &gt; &gt; On Sun, 2006-11-05 at 23:48 -0500, Joe Todaro wrote:<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; ---- PROBLEM # 1 ---- &nbsp;Depsolve step keeps crashing
due to a typo<br>
&gt; &gt; in<br>
&gt; &gt; &gt; &gt; the script: &nbsp;<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; 364 (fuse-sshfs): Starting depsolve for arches: ['x86_64',<br>
&gt; &gt; 'i386']. <br>
&gt; &gt; &gt; &gt; Exception in thread PackageJob: 364/fuse-sshfs: <br>
&gt; &gt; &gt; &gt; [...snip...] <br>
&gt; &gt; &gt; &gt; &gt; &nbsp; File \
&quot;/usr/share/plague/server/PackageJob.py&quot;, line 513, in <br>
&gt; &gt; &gt; &gt; &gt; _arch_deps_solved <br>
&gt; &gt; &gt; &gt; &gt; &nbsp; &nbsp; base.log = \
logger.Logger(threshold=threshold,<br> &gt; &gt; &gt; &gt; file_object=sys.stdout) \
<br> &gt; &gt; &gt; &gt; &gt; NameError: global name 'logger' is not defined
&nbsp;<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Fixed, thanks! <br>
&gt; &gt; <br>
&gt; &gt; My pleasure - glad to help. <br>
&gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; ---- PROBLEM # 2 ---- Unable to kill any job that fails
due to a<br>
&gt; &gt; &gt; &gt; missing package/s in the yum repos: <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &nbsp; File \
&quot;/usr/share/plague/server/PackageJob.py&quot;, line 548, in<br>
&gt; &gt; &gt; &gt; _arch_deps_solved <br>
&gt; &gt; &gt; &gt; &gt; &nbsp; &nbsp;pkg = base.returnPackageByDep(dep)
<br>
&gt; &gt; &gt; &gt; &gt; &nbsp; File &quot;__init__.py&quot;, line 1342,
in returnPackageByDep <br>
&gt; &gt; &gt; &gt; &gt; YumBaseError: No Package found for fuse-devel
&nbsp;<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; What version of yum do you have on this machine? &nbsp;
<br>
&gt; &gt; <br>
&gt; &gt; yum-2.4.2-2 <br>
&gt; <br>
&gt; Ok, can you do the following, so we can find out which module<br>
&gt; YumBaseError lives in in yum-2.4.2/yum-utils:<br>
&gt; <br>
&gt; grep -r &quot;YumBaseError&quot; /usr/lib/python2.3/site-packages</font></tt>
<br>
<br><tt><font size=1>$ </font></tt><tt><font size=1 color=blue>grep -rn
&quot;YumBaseError&quot; /usr/lib/python2.3/site-packages</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:174:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise Errors.YumBaseError, 'Setting
up TransactionSets before config class is up'</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:358:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise Errors.YumBaseError, \
errstring</font></tt> <br><tt><font \
size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:550: &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; callback, raise yum.Errors.YumBaseError on \
problems&quot;&quot;&quot;</font></tt> <br><tt><font \
size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:650: &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; output based on callback, raise yum.Errors.YumBaseError on \
problems&quot;&quot;&quot;</font></tt> <br><tt><font \
size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1321: &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise Errors.YumBaseError, 'Invalid \
versioned dependency string, try quoting it.'</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1323:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise
Errors.YumBaseError, 'Invalid version flag'</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1337:
&nbsp; &nbsp; &nbsp; &nbsp;except Errors.YumBaseError, e:</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1338:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise Errors.YumBaseError, 'No
Package found for %s' % depstring</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1342:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise Errors.YumBaseError, 'No
Package found for %s' % depstring</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1348:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If the list is empty, raise \
Errors.YumBaseError&quot;&quot;&quot;</font></tt> <br><tt><font \
size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1397: &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise Errors.YumBaseError, 'Invalid \
versioned dependency string, try quoting it.'</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/__init__.py:1399:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise
Errors.YumBaseError, 'Invalid version flag'</font></tt>
<br><tt><font size=1>Binary file /usr/lib/python2.3/site-packages/yum/__init__.pyc
matches</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:22:class
YumBaseError(exceptions.Exception):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:27:class
LockError(YumBaseError):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:29:
&nbsp; &nbsp; &nbsp; &nbsp;YumBaseError.__init__(self)</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:33:class
DepError(YumBaseError):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:35:
&nbsp; &nbsp; &nbsp; &nbsp;YumBaseError.__init__(self)</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:38:class
RepoError(YumBaseError):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:40:
&nbsp; &nbsp; &nbsp; &nbsp;YumBaseError.__init__(self)</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:43:class
ConfigError(YumBaseError):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:45:
&nbsp; &nbsp; &nbsp; &nbsp;YumBaseError.__init__(self)</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:48:class
MiscError(YumBaseError):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:50:
&nbsp; &nbsp; &nbsp; &nbsp;YumBaseError.__init__(self)</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:53:class
GroupsError(YumBaseError):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yum/Errors.py:55:
&nbsp; &nbsp; &nbsp; &nbsp;YumBaseError.__init__(self)</font></tt>
<br><tt><font size=1>Binary file /usr/lib/python2.3/site-packages/yum/Errors.pyc
matches</font></tt>
<br><tt><font size=1>Binary file \
/usr/lib/python2.3/site-packages/yumex/yum24XBase.pyc matches</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:72:class
YumexError( yum.Errors.YumBaseError ):</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:74:
&nbsp; &nbsp; &nbsp; &nbsp;yum.Errors.YumBaseError.__init__( self )</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:615:
&nbsp; &nbsp; &nbsp; &nbsp;except yum.Errors.YumBaseError, e:</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:640:
&nbsp; &nbsp; &nbsp; &nbsp;except Errors.YumBaseError, e:</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:675:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise yum.Errors.YumBaseError(
errstring )</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:685:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise yum.Errors.YumBaseError(
errstring )</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:695:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise yum.Errors.YumBaseError(
errstring )</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:724:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise yum.Errors.YumBaseError(
errstring )</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:800:
&nbsp; &nbsp; &nbsp; &nbsp;Will raise YumBaseError if there's a problem</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:817:#
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise
yum.Errors.YumBaseError, \</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:832:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;raise yum.Errors.YumBaseError(</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:843:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;raise yum.Errors.YumBaseError, \</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:864:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;raise yum.Errors.YumBaseError, \</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:870:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise
yum.Errors.YumBaseError, \</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:881:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise
yum.Errors.YumBaseError, errmsg</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yumexBase.py:885:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raise yum.Errors.YumBaseError,
errmsg</font></tt>
<br><tt><font size=1>Binary file /usr/lib/python2.3/site-packages/yumex/yumexBase.pyc
matches</font></tt>
<br><tt><font size=1>/usr/lib/python2.3/site-packages/yumex/yum24XBase.py:44:
&nbsp; &nbsp; &nbsp; &nbsp;InstallError = UpdateError = \
yum.Errors.YumBaseError</font></tt> <br>
<br><tt><font size=2>Line #'s included.</font></tt>
<br>
<br><tt><font size=2>Thanks,</font></tt>
<br><tt><font size=2>Joe</font></tt>
<br><tt><font size=2><br>
&gt; <br>
&gt; (or if you have python 2.4, use python2.4 instead of course).<br>
&gt; <br>
&gt; Thanks,<br>
&gt; Dan<br>
&gt; <br>
&gt; <br>
&gt; &gt; <br>
&gt; &gt; &gt; The versions of the<br>
&gt; &gt; &gt; yum python libraries are a bit confusing here; and that's
probably<br>
&gt; &gt; where<br>
&gt; &gt; &gt; the error is coming from. &nbsp;It appears that an unexpected
error is<br>
&gt; &gt; &gt; getting thrown, and we need to catch that error. &nbsp;However,
I'm not<br>
&gt; &gt; sure<br>
&gt; &gt; &gt; where exactly it's coming from to catch it. &nbsp;Can you
try to get this<br>
&gt; &gt; &gt; error again and then paste in about 10 lines of code from
around the<br>
&gt; &gt; &gt; Line # in PackageJob.py that this backtrace comes from?
(ie, line<br>
&gt; &gt; 548<br>
&gt; &gt; &gt; here), and mark the line numbers too? <br>
&gt; &gt; <br>
&gt; &gt; &nbsp; &nbsp; 537 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try:
<br>
&gt; &gt; &nbsp; &nbsp; 538 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; base.doSackSetup(archlist) <br>
&gt; &gt; &nbsp; &nbsp; 539 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; except
yum.Errors.RepoError, exc: <br>
&gt; &gt; &nbsp; &nbsp; 540 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; raise DepError(str(exc)) <br>
&gt; &gt; &nbsp; &nbsp; 541 <br>
&gt; &gt; &nbsp; &nbsp; 542 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for
dep in srpm.requiresList(): <br>
&gt; &gt; &nbsp; &nbsp; 543 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; if dep.startswith(&quot;rpmlib(&quot;): <br>
&gt; &gt; &nbsp; &nbsp; 544 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; continue <br>
&gt; &gt; &nbsp; &nbsp; 545 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; if use_repomd: <br>
&gt; &gt; &nbsp; &nbsp; 546 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; try: <br>
&gt; &gt; &nbsp; &nbsp; 547 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pkg = base.returnPackageByDep(dep) <br>
&gt; &gt; &nbsp; &nbsp; 548 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; except repomd.mdErrors.PackageSackError,<br>
&gt; &gt; exc: <br>
&gt; &gt; &nbsp; &nbsp; 549 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise DepError(str(exc)) <br>
&gt; &gt; &nbsp; &nbsp; 550 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; else: <br>
&gt; &gt; &nbsp; &nbsp; 551 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; try: <br>
&gt; &gt; &nbsp; &nbsp; 552 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pkg = base.returnPackageByDep(dep) <br>
&gt; &gt; &nbsp; &nbsp; 553 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; except yum.Errors.PackageSackError, exc: <br>
&gt; &gt; &nbsp; &nbsp; 554 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise DepError(str(exc)) <br>
&gt; &gt; &nbsp; &nbsp; 555 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; except yum.Errors.YumBaseError, exc: <br>
&gt; &gt; &nbsp; &nbsp; 556 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise DepError(str(exc)) <br>
&gt; &gt; &nbsp; &nbsp; 557 &nbsp; &nbsp; &nbsp; &nbsp; except DepError,
exc: <br>
&gt; &gt; &nbsp; &nbsp; 558 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
self._last_depsolve_error = str(exc) <br>
&gt; &gt; &nbsp; &nbsp; 559 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print
&quot;%s (%s/%s): Depsolve Error: %s&quot; %<br>
&gt; &gt; (self.uid, self.package, arch, str(exc)) <br>
&gt; &gt; &nbsp; &nbsp; 560 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; success
= False <br>
&gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; The fix you posted for this hunk isn't the &quot;correct&quot;
fix; <br>
&gt; &gt; <br>
&gt; &gt; Actually, it wasn't intended to &quot;fix&quot; the (YumBaseError)
problem &nbsp;<br>
&gt; &gt; itself -- rather it was just intended to provide us with a means
by &nbsp;<br>
&gt; &gt; which we'd be able to &quot;recover* from the negative effects
of the &nbsp;<br>
&gt; &gt; problem, which was a plague-server that wouldn't allow us to
*kill* &nbsp;<br>
&gt; &gt; the associated buildjob because the buildjob wasn't in &quot;waiting&quot;
&nbsp;<br>
&gt; &gt; state -- it was in &quot;depsolve&quot; which is where it got
stuck. Anyway, &nbsp;<br>
&gt; &gt; recycling the plague-server did not help -- it just kept restarting
&nbsp;<br>
&gt; &gt; the buildjob which just kept failing in the same place even after
we <br>
&gt; &gt; downloaded the missing package (fuse-devel) to the yum repo and
ran <br>
&gt; &gt; the createrepo command in-between plague-server restarts. <br>
&gt; &gt; <br>
&gt; &gt; &gt; that would be<br>
&gt; &gt; &gt; to catch the exception and to re-throw it as a DepSolveError
as is<br>
&gt; &gt; done<br>
&gt; &gt; &gt; for the other 'execpt' blocks around there.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Cheers,<br>
&gt; &gt; &gt; Dan<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; ---- PATCH ---- &nbsp; &nbsp;<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Here's the patch that resolved the above 2 problems
for us: &nbsp;<br>
&gt; &gt; &gt; &gt; &nbsp; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; ----- REQUEST ---- <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Can someone please review it... especially the fix
to PROBLEM # 2,<br>
&gt; &gt; &gt; &gt; that could potentially be masking a bigger problem..
&nbsp; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Here's the code for your convenience (...these are
the updates we<br>
&gt; &gt; made<br>
&gt; &gt; &gt; &gt; to the _latest_ version of PackageJob.py): <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; $ cd /usr/share/plague/server <br>
&gt; &gt; &gt; &gt; $ diff PackageJob.py PackageJob.py.working <br>
&gt; &gt; &gt; &gt; 513c513 <br>
&gt; &gt; &gt; &gt; &lt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; base.log = logger.Logger(threshold=threshold,<br>
&gt; &gt; &gt; &gt; file_object=sys.stdout) <br>
&gt; &gt; &gt; &gt; --- <br>
&gt; &gt; &gt; &gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; base.log = Logger(threshold=threshold,<br>
&gt; &gt; &gt; &gt; file_object=sys.stdout) <br>
&gt; &gt; &gt; &gt; 698c698 <br>
&gt; &gt; &gt; &gt; &lt; &nbsp; &nbsp; &nbsp; &nbsp; if self._curstage
== 'waiting': <br>
&gt; &gt; &gt; &gt; --- <br>
&gt; &gt; &gt; &gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; if self._curstage
in ['waiting', 'depsolve']: <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Thanks, <br>
&gt; &gt; &gt; &gt; &nbsp; Joe<br>
&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; Fedora-buildsys-list mailing list<br>
&gt; &gt; &gt; &gt; Fedora-buildsys-list@redhat.com<br>
&gt; &gt; &gt; &gt; https://www.redhat.com/mailman/listinfo/fedora-buildsys-list<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Fedora-buildsys-list mailing list<br>
&gt; &gt; &gt; Fedora-buildsys-list@redhat.com<br>
&gt; &gt; &gt; https://www.redhat.com/mailman/listinfo/fedora-buildsys-list<br>
&gt; &gt; --<br>
&gt; &gt; Fedora-buildsys-list mailing list<br>
&gt; &gt; Fedora-buildsys-list@redhat.com<br>
&gt; &gt; https://www.redhat.com/mailman/listinfo/fedora-buildsys-list<br>
&gt; <br>
&gt; --<br>
&gt; Fedora-buildsys-list mailing list<br>
&gt; Fedora-buildsys-list@redhat.com<br>
&gt; https://www.redhat.com/mailman/listinfo/fedora-buildsys-list<br>
</font></tt>
--=_alternative 0056D5818525722D_=--


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic