[Bug 1983255] Re: samtools-legacy misses 'Remove compressBound assertions' (PR #1258) fix

Frank Heimes 1983255 at bugs.launchpad.net
Sat Aug 20 19:38:44 UTC 2022


Tested 'samtools-legacy' with the help of a (no-change) rebuild 'libbio-samtools-perl-1.43-2build2.dsc' on focal that makes use of 'libbam-dev_0.1.19-4ubuntu0.1' (taken from proposed), which is the binary package of 'samtools-legacy'.
(Notice that 'libbio-samtools-perl' is the package tha is causing the zlib proposed migration regression.)

$ autopkgtest-build-lxd images:ubuntu/focal/s390x
Using http://squid.internal:3128 as container proxy
Creating autopkgtest-prepare-...
$ 

$ autopkgtest --no-built-binaries --apt-pocket=proposed --apt-upgrade --shell-fail --setup-commands="apt -y -q install software-properties-common; add-apt-repository -y 'deb http://us.ports.ubuntu.com/ubuntu-ports/ focal-proposed main universe'; apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 73E9E91F16C43C45C621AE3EDF0A28DEFAFEB468; add-apt-repository -y ppa:fheimes/libbio-samtools-perl; apt -y update; apt install -y libbam-dev=0.1.19-4ubuntu0.1; apt install -y libbio-samtools-perl=1.43-2build2" libbio-samtools-perl_1.43-2build2.dsc -- lxd autopkgtest/ubuntu/focal/s390x
...
All tests successful.
Files=1, Tests=4,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.39 cusr  0.07 csys =  0.48 CPU)
Result: PASS
autopkgtest [15:43:37]: test autodep8-perl-recommends: -----------------------]
autopkgtest [15:43:38]: test autodep8-perl-recommends:  - - - - - - - - - - results - - - - - - - - - -
autodep8-perl-recommends PASS (superficial)
autopkgtest [15:43:38]: @@@@@@@@@@@@@@@@@@@@ summary
autodep8-perl-build-deps PASS
autodep8-perl        PASS (superficial)
autodep8-perl-recommends PASS (superficial)
$ 

Hence updating tags accordingly to verification-done-focal.

** Tags removed: verification-needed verification-needed-focal
** Tags added: verification-done verification-done-focal

-- 
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/1983255

Title:
  samtools-legacy misses 'Remove compressBound assertions' (PR #1258)
  fix

Status in libbio-samtools-perl package in Ubuntu:
  Fix Released
Status in samtools-legacy package in Ubuntu:
  Fix Released
Status in libbio-samtools-perl source package in Focal:
  New
Status in samtools-legacy source package in Focal:
  Fix Committed
Status in libbio-samtools-perl source package in Jammy:
  New
Status in samtools-legacy source package in Jammy:
  Fix Committed
Status in libbio-samtools-perl source package in Kinetic:
  Fix Released
Status in samtools-legacy source package in Kinetic:
  Fix Released

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 proposed migration
     now pointed to libbio-samtools-perl.

   * libbio-samtools-perl is linked to libbam-dev from samtools-legacy;
     and samtools-legacy contains another bgzf.c implementation.

   * Hence PR #1258 is needed to fix bgzf.c as part of samtools-legacy.

   * And libbio-samtools-perl needs then rebuild to like against the
     fixed libbam-dev.

   * 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 'samtools-legacy' (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/lp1983255; apt update; apt -y upgrade; apt install -y \
        libbam-dev=0.1.19+dfsg-5ubuntu1" samtools-legacy_0.1.19+dfsg-5ubuntu1.dsc \
        -- lxd autopkgtest/ubuntu/kinetic/s390x
        (for focal and jammy adjust the versions accordingly)

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

   * If the above test is successful one can rebuild 'libbio-samtools-perl',
     and run the autopkgtest of 'libbio-samtools-perl' on top.

  [Where problems could occur]

   * The bgzf.c implementation as it is in 'samtools-legacy' 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.
  __________

  samtools-legacy is the source package for libbam-dev,
  which is used by libbio-samtools-perl (autopkgtests),
  that is for example triggered by a zlib update (proposed-transition).

  zlib requires a fix for 'compressBound() returns an incorrect result
  on z15' LP#1961427 that again requires the 'Remove compressBound
  assertions' (PR #1258) fix in all bgzf.c implementations, like htslib,
  bedtools or even samtools-legacy.

  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.

  According to upstream 'https://github.com/lh3/samtools-legacy' the project
  is "For testing only." and marked as "DON'T USE!" and it's last update
  is from Nov 9, 2013.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libbio-samtools-perl/+bug/1983255/+subscriptions




More information about the Ubuntu-sponsors mailing list