I have seen a similar issue using 'yum check-update' on Ubunty Trusty
with libxml2=2.9.1+dfsg1-3ubuntu4.8 failing to parse the primary.xml.gz
index.
$ yum check-update
custom-repo:
[########################################################################### ]
6900/6903
(process:1482): GLib-WARNING **: GError set over the top of a previous GError
or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: Parsing primary.xml error: attributes
construct error
(process:1482): GLib-WARNING **: GError set over the top of a previous GError
or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: Parsing primary.xml error: Couldn't find end
of Start Tag size line 238347
(process:1482): GLib-WARNING **: GError set over the top of a previous GError
or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: Parsing primary.xml error: Premature end of
data in tag package line 238338
(process:1482): GLib-WARNING **: GError set over the top of a previous GError
or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before
it's set.
The overwriting error message was: Parsing primary.xml error: Premature end of
data in tag metadata line 2
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 288, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 140, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 436, in doCommands
self._getTs(needTsRemove)
File "/usr/lib/python2.7/dist-packages/yum/depsolve.py", line 101, in _getTs
self._getTsInfo(remove_only)
File "/usr/lib/python2.7/dist-packages/yum/depsolve.py", line 112, in
_getTsInfo
pkgSack = self.pkgSack
File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 892, in <lambda>
pkgSack = property(fget=lambda self: self._getSacks(),
File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 673, in
_getSacks
self.repos.populateSack(which=repos)
File "/usr/lib/python2.7/dist-packages/yum/repos.py", line 294, in
populateSack
sack.populate(repo, mdtype, callback, cacheonly)
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 190, in populate
dobj = repo_cache_function(xml, csum)
File "/usr/lib/python2.7/dist-packages/sqlitecachec.py", line 46, in
getPrimary
self.repoid))
TypeError: Parsing primary.xml error: Specification mandate value for attribute
archive
I have seen this a few times, but never took the time to dig into it
until recently. What I found was the size of the primary.xml.gz file is
what seems to be causing the failure. If (size of file in bytes)/(8192
bytes) has a remainder of 1 byte this failure will occur. Basically, in
the case of "yum check-update", if the last read (that returns more than
0 bytes) on the primary.xml.gz file ONLY contains a single null
character it fails.
strace excerpt (with the primary.xml.gz as fd 5):
read(5, "\0", 8192) = 1
read(5, "", 8191) = 0
After the above it fails immediately.
Updating libxml2 to v2.9.3+dfsg1-1ubuntu0.2 from the Ubuntu Xenial repos
seems to fix the problem, but that is not an acceptable solution in my
case because the Xenial package brings in some other dependencies that I
cannot update to.
Any chance someone could fix this issue for Ubuntu Trusty?
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to libxml2 in Ubuntu.
https://bugs.launchpad.net/bugs/1375637
Title:
Premature end of data in tag file line 247651 with libxml2
Status in libxml2 package in Ubuntu:
Confirmed
Bug description:
Hello,
I'm getting the following behaviour of createrepo on Ubuntu 14.04.1
LTS with libxml2=2.9.1+dfsg1-3ubuntu4.3(trusty-updates/main) and
libxml2=2.9.1+dfsg1-3ubuntu4(trusty/main).
createrepo -g
/home/jenkins/workspace/tmp/fuel_5_1_mirror/local_mirror/centos/os/x86_64/comps.xml
\
-o
/home/jenkins/workspace/tmp/fuel_5_1_mirror/local_mirror/centos/os/x86_64/
/home/jenkins/workspace/tmp/fuel_5_1_mirror/local_mirror/centos/os/x86_64/
I/O error : No such file or directory
(process:29830): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL
before it's set.
The overwriting error message was: Parsing filelists.xml error: Premature end
of data in tag package line 246828
(process:29830): GLib-WARNING **: GError set over the top of a previous
GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL
before it's set.
The overwriting error message was: Parsing filelists.xml error: Premature end
of data in tag filelists line 2
Spawning worker 0 with 54 pkgs
Spawning worker 1 with 54 pkgs
Spawning worker 2 with 54 pkgs
Spawning worker 3 with 54 pkgs
Spawning worker 4 with 54 pkgs
Spawning worker 5 with 54 pkgs
Spawning worker 6 with 54 pkgs
Spawning worker 7 with 54 pkgs
Spawning worker 8 with 54 pkgs
Spawning worker 9 with 54 pkgs
Spawning worker 10 with 53 pkgs
Spawning worker 11 with 53 pkgs
Spawning worker 12 with 53 pkgs
Spawning worker 13 with 53 pkgs
Spawning worker 14 with 53 pkgs
Spawning worker 15 with 53 pkgs
Spawning worker 16 with 53 pkgs
Spawning worker 17 with 53 pkgs
Spawning worker 18 with 53 pkgs
Spawning worker 19 with 53 pkgs
Spawning worker 20 with 53 pkgs
Spawning worker 21 with 53 pkgs
Spawning worker 22 with 53 pkgs
Spawning worker 23 with 53 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Traceback (most recent call last):
File "/usr/share/createrepo/genpkgmetadata.py", line 308, in <module>
main(sys.argv[1:])
File "/usr/share/createrepo/genpkgmetadata.py", line 280, in main
mdgen.doRepoMetadata()
File "/usr/lib/python2.7/dist-packages/createrepo/__init__.py", line 999,
in doRepoMetadata
rp.getFilelists(complete_path, csum)
File "/usr/lib/python2.7/dist-packages/sqlitecachec.py", line 55, in
getFilelists
self.repoid))
TypeError: Parsing filelists.xml error: Premature end of data in tag file
line 247651
Problem fixes by installing libxml2=2.9.1+dfsg1 from debian sid.
Comparing patchsets in debian package sources between 2.9.1+dfsg1 and
2.9.1+dfsg1-3ubuntu4.3 I see in debian package much more patches, I suppose one
of them helps in my problem:
2.9.1+dfsg1-3ubuntu4.3:
0001-modify-xml2-config-and-pkgconfig-behaviour.patch
0002-Fix-an-error-in-xmlCleanupParser.patch
0003-Fix-missing-break-on-last-function-for-attributes.patch
0004-xmllint-memory-should-fail-on-empty-files.patch
0005-properly-quote-the-namespace-uris-written-out-during.patch
0006-Fix-a-parsing-bug-on-non-ascii-element-and-CR-LF-usa.patch
0006-fix-python-multiarch-includes.patch
0007-Fix-XPath-optimization-with-predicates.patch
CVE-2014-0191.patch
lp1321869.patch
xmllint_pretty.patch
2.9.1+dfsg1:
0001-modify-xml2-config-and-pkgconfig-behaviour.patch
0002-fix-python-multiarch-includes.patch
0003-Fix-an-error-in-xmlCleanupParser.patch
0004-Fix-missing-break-on-last-function-for-attributes.patch
0005-xmllint-memory-should-fail-on-empty-files.patch
0006-properly-quote-the-namespace-uris-written-out-during.patch
0007-Fix-a-parsing-bug-on-non-ascii-element-and-CR-LF-usa.patch
0008-missing-else-in-xlink.c.patch
0009-Catch-malloc-error-and-exit-accordingly.patch
0010-Fix-handling-of-mmap-errors.patch
0011-Avoid-crash-if-allocation-fails.patch
0012-Fix-a-possible-NULL-dereference.patch
0013-Clear-up-a-potential-NULL-dereference.patch
0014-Fix-XPath-optimization-with-predicates.patch
0015-xmllint-pretty-crashed-without-following-numeric-arg.patch
0016-Fix-potential-NULL-pointer-dereferences-in-regexp-co.patch
0017-Fix-a-potential-NULL-dereference-in-tree-code.patch
0018-Fix-pointer-dereferenced-before-null-check.patch
0019-Fix-a-bug-loading-some-compressed-files.patch
0020-Avoid-a-possibility-of-dangling-encoding-handler.patch
0021-Fix-a-couple-of-missing-NULL-checks.patch
0022-adding-init-calls-to-xml-and-html-Read-parsing-entry.patch
0023-Handling-of-XPath-function-arguments-in-error-case.patch
0024-Missing-initialization-for-the-catalog-module.patch
0025-Fix-an-fd-leak-in-an-error-case.patch
0026-fixing-a-ptotential-uninitialized-access.patch
0027-Fix-xmlTextWriterWriteElement-when-a-null-content-is.patch
0028-Avoid-a-possible-NULL-pointer-dereference.patch
0029-Do-not-fetch-external-parameter-entities.patch
0030-Avoid-Possible-null-pointer-dereference-in-memory-de.patch
0031-xmllint-was-not-parsing-the-c14n11-flag.patch
0032-Fix-regressions-introduced-by-CVE-2014-0191-patch.patch
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libxml2/+bug/1375637/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp