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     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to