← Back to team overview

touch-packages team mailing list archive

[Bug 1512622] Re: Valgrind suppressions don't work on 64-bit systems

 

Oh, I'm sorry, I got terribly confused!

Upstream Python ships a Valgrind suppressions file that requires you to
do one of two things:

- use a debugging build of Python, or
- uncomment the suppressions for PyObject_Free and PyObject_Realloc.

/usr/lib/valgrind/python.supp on wily has this bit

    # Debian note:
    # The file Misc/valgrind-python.supp is placed in an modified form into the
    # directory /usr/lib/valgrind as python.supp. There's no need to to add it
    # with the --suppressions option.
    # The unmodified file is found in /usr/share/doc/python2.6/
    #
    # The python2.6-dbg build has been compiled with -DPy_USING_MEMORY_DEBUGGER
    # so you can safely comment out the suppressions for PyObject_Free and
    # PyObject_Realloc.

I saw the "modified" bit and the "you can safely comment out", and I
mistakenly assumed that it had the PyObject_Free and PyObject_Realloc
suppressions uncommented already.  Because "Comment out" means the
opposite of "uncomment", right?  And "you can" means it hasn't been done
already?  Anyway, sorry for jumping to conclusions :(

I'm now looking at a diff with upstream's valgrind-python.supp, and the
only diffs are in .so version numbers.

I guess this leaves just the fact that /usr/lib/valgrind/python.supp, as
shipped by python-defaults, doesn't have all the required
PyObject_Free/PyObject_Realloc suppressions, so even if you uncomment
the ones that are there, you'll still see false positives.

It's in fact also a problem with upstream Python 2.7, because the
commented-out 64-bit suppressions were only added to, uh, the 'default'
branch, which was already 3.something in 2011.


Now that the confusion is out of the way,

> Please could you point out what you would expect to be different from
the 32bit version? The referenced commit doesn't change anything for
64bit, and the changes are already in the python-defaults package.

I used "64-bit" to refer to the usage of Addr8/Value8 in the newly-added
commented-out PyObject_{Free/Realloc} suppressions, because the existing
commetned-out suppressions use Addr4/Value4, which are only used on
32-bit systems.  To be more precise, I'm attaching a patch of what I
think needs to be done -- ideally in Debian first (or even upstream; I
asked for a 2.7 backport in http://bugs.python.org/issue12612).

** Bug watch added: Python Roundup #12612
   http://bugs.python.org/issue12612

** Patch added: "lp1512622.debdiff"
   https://bugs.launchpad.net/ubuntu/+source/python-defaults/+bug/1512622/+attachment/4513265/+files/lp1512622.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to python-defaults in Ubuntu.
https://bugs.launchpad.net/bugs/1512622

Title:
  Valgrind suppressions don't work on 64-bit systems

Status in python-defaults package in Ubuntu:
  Incomplete

Bug description:
  Hello!

  The Python package helpfully ships /usr/lib/valgrind/python.supp,
  which is basically the upstream Valgrind suppressions file with some
  suppressions uncommented so they work on standard Python builds.

  Unfortunately those suppressions are tailored for 32-bit systems and
  therefore do not suppress false positive errors in
  PyObject_Free/PyObject_Realloc.

  See upstream bug http://bugs.python.org/issue12612 and upstream commit
  https://github.com/python/cpython/commit/9264faed068b87888a4605ce36bfc9d158515c42
  for the changes you need to do.

  ProblemType: Bug
  DistroRelease: Ubuntu 15.10
  Package: python 2.7.9-1
  ProcVersionSignature: Ubuntu 4.2.0-16.19-generic 4.2.3
  Uname: Linux 4.2.0-16-generic x86_64
  ApportVersion: 2.19.1-0ubuntu4
  Architecture: amd64
  CurrentDesktop: GNOME
  Date: Tue Nov  3 11:02:23 2015
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2012-07-25 (1195 days ago)
  InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
  SourcePackage: python-defaults
  UpgradeStatus: Upgraded to wily on 2015-10-22 (11 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-defaults/+bug/1512622/+subscriptions


References