Bug 929367 - texlive-hyphen-base spooks yum on updates
Summary: texlive-hyphen-base spooks yum on updates
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Zdeněk Pavlas
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 951584 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-29 23:59 UTC by Michal Jaegermann
Modified: 2013-06-14 05:44 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-04-23 03:36:58 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Michal Jaegermann 2013-03-29 23:59:34 UTC
Description of problem:

While trying to run updates on a texlive installation the following happens:

texlive-hyphen-base-svn29197.0 FAILED                                          
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A 
texlive-hyphen-base-svn29197.0 FAILED                                          A

(these "A" are leftovers from "ETA" - I believe).

After this I can find in a cache texlive-hyphen-base-svn29197.0-20.fc20.noarch.rpm but 'rpm -K ... ' says "sha1 MD5 NOT OK".

I think that the issue is that 'rpm -V texlive-hyphen-base' produces:

S.5....T.    /usr/share/texlive/texmf/tex/generic/config/language.dat
S.5....T.    /usr/share/texlive/texmf/tex/generic/config/language.def

which is expected as these files are getting modified by an installation process.  The trouble is that a new rpm rebuild from a delta and this is bound to have checksums different than an original.   As apparently there is now no way to turn off in yum deltas rebuilds then it seems that the only way to prevent this to happen is NOT to provide a corresponding .drpm in repos.

The only workaround I found for the moment is to do 'yumdownloader texlive-hyphen-base' into a yum cache, which immediately retrieves an rpm which is passing checks, and after that yum proceeds as expected.

Version-Release number of selected component (if applicable):
texlive-2012-20.20130321_r29448.fc20 (and earlier)

How reproducible:
Apparently on every update.

Additional info:
Originally I thought that this is some glitch on my system or maybe on mirrors but that happens consistently over and over; for now at least three times in a row.

Comment 1 Michal Jaegermann 2013-03-30 00:35:16 UTC
Hm, it appears that this problem may hit any package which includes modifiable (either by an installation or by a user) configuration data.  Am I lucky or these "bad" files should
have just been marked in specs %{configure}?  It looks like that they are not.

I truly do not know if such spec changes would be enough.

Comment 2 Zdeněk Pavlas 2013-04-02 07:20:10 UTC
Although not marking modifiable files as such is a packaging error, failed drpm rebuilds should be handled by falling back to RPM download.  Immediately, and just once.

Are you sure it's delta rebuild failing over and over?  It looks more like a failed .drpm file checksum.  Yum just tries all available mirrors.  Please, try "export URLGRABBER_DEBUG=INFO,/path/to/logfile" and check the log.

Comment 3 Michal Jaegermann 2013-04-02 18:52:11 UTC
(In reply to comment #2)

> Are you sure it's delta rebuild failing over and over?

I copied a quoted yum ouput directly from my screen.

> It looks more like a failed .drpm file checksum.

# rpm -K texlive-hyphen-base-svn29197.0-19.fc20_svn29197.0-20.fc20.noarch.drpm
texlive-hyphen-base-svn29197.0-19.fc20_svn29197.0-20.fc20.noarch.drpm: md5 OK

Any other way to check? texlive-hyphen-base-svn29197.0-19.fc20_svn29197.0-20.fc20.noarch.drpm which I retrieved is 15264 bytes long and texlive-hyphen-base-svn29197.0-20.fc20.noarch.rpm is 36632.
Do you want me to attach something here?  You can find rpm packages in question on koji, anyway.

> Yum just tries all available mirrors.  Please,
> try "export URLGRABBER_DEBUG=INFO,/path/to/logfile" and check the log.

I am afraid that I did not get very much out of that.  After getting the previous texlive-hyphen-base from koji and 'yum downgrade texlive-hyphen-base-svn29197.0-19.fc20.noarch.rpm' I tried to upgrade that package with URLGRABBER_DEBUG set as above.  The problem is that does not matter what I was doing, and while drpms were fetched for other packages, I got only:

MIRROR: trying Packages/t/texlive-hyphen-base-svn29197.0-20.fc20.noarch.rpm -> http://mirror.itc.virginia.edu/fedora/development/rawhide/x86_64/os/Packages/t/texlive-hyphen-base-svn29197.0-20.fc20.noarch.rpm

and that obviously did not try rebuilding so nothing failed and texlive-hyphen-base got updated as expected.  Maybe the delta in question is no longer available on mirrors?

Note: mucking around with downgrading and upgrading just texlive-hyphen-base by itself, without redoing the whole texlive installation, does clobber /usr/share/texlive/texmf/tex/generic/config/language.dat and /usr/share/texlive/texmf/tex/generic/config/language.def so they need to be restored from saved copies and better before posttrans scriptlets run (or you need to rerun them yourself).

Comment 4 Jan Zeleny 2013-04-05 08:19:41 UTC
Reassigning to yum, as this is update issue, likely caused by yum. This does look like yum fell back to standard package download, so I assume that the drpm rebuild has indeed failed?

Comment 5 Zdeněk Pavlas 2013-04-05 09:58:38 UTC
Tried to reproduce this.  When drpms fails to rebuild, I usually see:

# yum clean packages
# yum downgrade mc
# echo '#empty' >/usr/share/mc/syntax/verilog.syntax
# yum update mc
..
Downloading packages:
Delta RPMs reduced 1.7 M of updates to 1.1 M (33% saved)
mc-4.8.3-1.fc17_4.8.7-3.fc17.i686.drpm | 1.1 MB  00:00:01
/usr/share/mc/syntax/verilog.syntax: read error
(tried to read 7771 bytes from offset 0)
cannot reconstruct rpm from disk files
Some delta RPMs failed to download or rebuild. Retrying..
mc-4.8.7-3.fc17.i686.rpm               | 1.7 MB  00:00:01
Running transaction check
..

When I did just a small change, applydeltarpm uses a different failure path, and another yum bug is triggered:

# yum downgrade mc
# sed -i s/verilog/Verilog/ /usr/share/mc/syntax/verilog.syntax
# yum update mc
..
mc-4.8.3-1.fc17_4.8.7-3.fc17.i686.drpm  | 1.1 MB  00:00:00     
/var/cache/yum/i386/17/updates/packages/mc-4.8.3-1.fc17_4.8.7-3.fc17.i686.drpm: md5 mismatch of result
Some delta RPMs failed to download or rebuild. Retrying..
mc-4.8.7-3.fc17.i686.rpm       FAILED
http://nl.mirror.eurid.eu/fedora/linux/updates/17/i386/mc-4.8.7-3.fc17.i686.rpm: [Errno 14] HTTP Error 416 - Requested Range Not Satisfiable

Yum falls back to rpm download (as expected), but since applydeltarpm has left the invalid resulting file in the cache, we reget, and this fails.

Fixing this is easy, and it might be the same bug you are experiencing, but I'm still not sure why you don't see ANY of the error messages..  Did you change the log levels somehow?

http://yum.baseurl.org/gitweb?p=yum.git;a=commitdiff;h=e8648a671

Comment 6 Michal Jaegermann 2013-04-05 14:38:12 UTC
(In reply to comment #4)
> This does
> look like yum fell back to standard package download, so I assume that the
> drpm rebuild has indeed failed?

No.  The problem is that yum did NOT fell back to standard package download.  Instead it tried over and over to rebuild texlive-hyphen-base from downloaded deltas, failing every time as it did not like checksums of rebuilds, and eventually gave up WITHOUT downloading .rpm.  That aborted the whole sizeable transaction.  I had to use yumdownloader instead to retrieve the package.  I imagine that if files which get modified, as they should be, would be marked %configure that issue would not show up.  Again, downloaded deltas were fine every time AFAICT.  That situation was repeated on at least three subsequent updates of texlive.

When I tried to reproduce this in comment 3 then, for a change, yum was not fetching deltas at all so my efforts to get some debugging information in extra logs came to naught.  Yum just grabbed a new texlive-hyphen-base.rpm right away.  I cannot tell why as I did not modify yum configuration.  The only difference is that I attempted to follow instructions from comment 2 while redoing an update.  Something different on mirrors?

Comment 7 Zdeněk Pavlas 2013-04-05 16:14:17 UTC
> While trying to run updates on a texlive installation the following happens:
> 
> texlive-hyphen-base-svn29197.0 FAILED                                          

Please, how do you "run updates"?  Do you invoke yum, or use other tools?  What's the Yum command line?

Comment 8 Michal Jaegermann 2013-04-05 16:35:44 UTC
(In reply to comment #7)                              
> 
> Please, how do you "run updates"?  Do you invoke yum, or use other tools?

This is yum and only yum.
 
> What's the Yum command line?

   yum update --skip-broken

When I attempted to get something in logs, like in comment 3, I run a script
with the following two lines in it:

export URLGRABBER_DEBUG=INFO,/var/tmp/texlive.trouble/update.log
yum update texlive-hyphen-base.noarch

Comment 9 Michal Jaegermann 2013-04-05 16:57:46 UTC
I guess that I should add I see for whatever reasons 'FAILED' with other packages and that results with re-downloads.  For example - just recently:
....
Some delta RPMs failed to download or rebuild. Retrying..
....
mesa-dri-filesystem-9.1-5.fc20 FAILED
....
(22/25): mesa-dri-filesystem-9.1-5.fc20.i686.rpm .....  (a little bit further down)

and everything is fine.  OTOH texlive-hyphen-base updates from some time were consistently giving me troubles.  No idea why.

Comment 10 Michal Jaegermann 2013-04-07 16:31:42 UTC
On a Fedora 18 installation, which is using yum-3.4.3-53.fc18, an update to texlive-2012-20.20130321_r29448.fc18 just showed up.  There I see:

Processing delta metadata
/usr/share/texlive/texmf/tex/generic/config/language.dat: contents have been changed
/usr/share/texlive/texmf/tex/generic/config/language.def: contents have been changed
delta does not match installed data

and there is no attempt to fetch a delta for texlive-hyphen-base and everything proceeds as expected.

Comment 11 Fedora Update System 2013-04-10 11:05:39 UTC
yum-3.4.3-82.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/yum-3.4.3-82.fc19

Comment 12 Fedora Update System 2013-04-10 15:22:51 UTC
Package yum-3.4.3-82.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing yum-3.4.3-82.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-5332/yum-3.4.3-82.fc19
then log in and leave karma (feedback).

Comment 13 Zdeněk Pavlas 2013-04-12 14:27:51 UTC
*** Bug 951584 has been marked as a duplicate of this bug. ***

Comment 14 Fedora Update System 2013-04-16 14:19:34 UTC
yum-3.4.3-83.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/yum-3.4.3-83.fc19

Comment 15 Fedora Update System 2013-04-23 03:37:00 UTC
yum-3.4.3-83.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2013-04-28 23:56:02 UTC
texlive-2012-21.20130427_r30134.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/texlive-2012-21.20130427_r30134.fc19

Comment 17 Fedora Update System 2013-04-29 06:03:56 UTC
texlive-2012-21.20130427_r30134.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/texlive-2012-21.20130427_r30134.fc18

Comment 18 Fedora Update System 2013-04-29 21:11:19 UTC
texlive-2012-22.20130427_r30134.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/texlive-2012-22.20130427_r30134.fc19

Comment 19 Fedora Update System 2013-06-14 05:44:24 UTC
texlive-2013-0.1.20130608_r30832.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/texlive-2013-0.1.20130608_r30832.fc18


Note You need to log in before you can comment on or make changes to this bug.