[Bug 1983867] Re: vcftools misses 'Remove compressBound assertions' (PR #1258) fix

Frank Heimes 1983867 at bugs.launchpad.net
Fri Aug 26 15:58:06 UTC 2022


** Tags removed: patch update-excuse

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1983867

Title:
  vcftools misses 'Remove compressBound assertions' (PR #1258) fix

Status in vcftools package in Ubuntu:
  Invalid
Status in vcftools source package in Focal:
  In Progress

Bug description:
  SRU Justification:
  ==================

  [Impact]

   * zlib requires a fix for 'compressBound() returns an incorrect result
     on z15' (described at LP#1961427 in more detail).

   * But the above patch expects that another fix 'Remove compressBound
     assertions' (PR #1258) is in place for all bgzf.c implementations.

   * The packages htslib and bedtools are covered in LP#1961427.

   * Unfortunately more 'embedded' or better 'bundled' bgzf.c implementations
     exist, that are difficult to find upfront, hence the zlib focal-proposed
     migration now pointed to vcftools on top.

   * vcftools contains (yet) another bgzf.c implementation.

   * Hence PR #1258 is needed to fix bgzf.c as part of vcftools.

   * PR #1258 removes the Assert lines and modifies bgzf_compress.

  [Test Plan]

  * An IBM zSystem (LPAR, z/VM guest or KVM virtual machine)
    with Ubuntu Server 20.04 (or 22.04 or 22.10).

  * Having the zlib version from -proposed installed or from PPA:
    ppa:fheimes/lp1961427

  * The easiest way to test this is based on the autopkgtest of the affected package,
    here 'vcftools' (here a manual autopkgtest execution):
        autopkgtest --no-built-binaries --apt-pocket=proposed --apt-upgrade \
        --shell-fail --setup-commands="apt -y -q install \
        software-properties-common; apt-key adv --keyserver \
        hkp://keyserver.ubuntu.com:80 --recv-keys \
        73E9E91F16C43C45C621AE3EDF0A28DEFAFEB468; add-apt-repository -y \
        ppa:fheimes/lp1983867; apt update; apt -y upgrade; apt install -y \
        vcftools=0.1.16-1ubuntu0.1" vcftools_0.1.16-1ubuntu0.1.dsc \
        -- lxd autopkgtest/ubuntu/focal/s390x

   * Without PR #1258 in place, the error: 'bgzf.c:<line-number>: bgzf_open:
     Assertion `compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE'
     will occur.

  [Where problems could occur]

   * The bgzf.c implementation as it is in 'vcftools' is very outdated
     and the code was not touched for close to 10 years.

   * Hence PR #1258 could not directly be applied, and a backport was
  needed.

   * Issues could be that checks (due to missing asserts) are now
  insufficient,

   * or (un-)compress does not work properly anymore, due to the changes in
     bgzf_compress.

   * But the autopkgtest(s) will be helpful to ensure proper
  functionality.

  [Other Info]

   * The different bgzf.c versions that are bundled are almost all
     slightly different implementations, hence the backport of PR #1258
     needs to be a bit adjusted here and there.
  __________

  vcftools comes with it's own (bundled) version of bgzf.c (src/cpp/bgzf.c);
  which misses the fix for 'compressBound() returns an incorrect result on z15'.
  (this fix is required in all bgzf.c implementations, like htslib, bedtools or even samtools-legacy)

  Since the vcftools autopkgtest is triggered by the zlib proposed-migration,
  the missing fix vcftools lets the autopkgtest fails and with that blocks the zlib proposed migration LP#1961427.

  Problematic is that the code differs quite a bit from the one where the PR#1258 was designed for and that is used in the htslib or bedtools package (no bgzf_hopen - looks a bit out of date), so it does not apply cleanly.
  But it is very close (one line differs) to the backport of PR#1258 that is already used by samtools-legacy.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/vcftools/+bug/1983867/+subscriptions




More information about the Ubuntu-sponsors mailing list