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